下面说下凸多边形的创建.Box2D允许你创建任何种类的多边形形状,只要多边形是凸多边形,这将意味着它拥
有的所有内角要小于180度,所有的顶点要远离中心,而且你要按顺时针方向排列它们。
创建过程:
1. 首先,创建一个向量(Vector)来储存所有的顶点:
var vertices:Vector.<b2Vec2> = new Vector.<b2Vec2>();
2. 然后,我们将所有顶点作为b2Vec2对象并顺时针方向加到向量(Vector)里,
并设置b2Vec2对象的坐标(相对于刚体中心的坐标)。
vertices.push( new b2Vec2(-20/worldScale, -20/worldScale) );
vertices.push( new b2Vec2(20/worldScale, -20/worldScale) );
vertices.push( new b2Vec2(20/worldScale, 20/worldScale) );
vertices.push( new b2Vec2(-20/worldScale, 20/worldScale) );
3. 将向(vectors)变成多边形形状
polygonShape.SetAsVector(vertices, 4); //4是顶点数
package
{
import Box2D.Collision.Shapes.b2CircleShape;
import Box2D.Collision.Shapes.b2PolygonShape;
import Box2D.Common.Math.b2Vec2;
import Box2D.Dynamics.b2Body;
import Box2D.Dynamics.b2BodyDef;
import Box2D.Dynamics.b2DebugDraw;
import Box2D.Dynamics.b2FixtureDef;
import Box2D.Dynamics.b2World;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
[SWF(width="640", height=&