[Box2D]三.创建圆,长方形,凸多边形



点这看效果



下面说下凸多边形的创建.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=&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值