box2d补漏笔记

b2BodyDef 确定位置 包括旋转角度   以及userData
b2PolygonShape和b2CircleShape 作为隐形的形状  包括宽高 如入是b2CircleShape的话就包括半径

b2FixtureDef  是材料,通过 b2FixtureDef.shape=b2PolygonShape或者b2CircleShape 来定形  然后在用2FixtureDef.density 等属性设定密度质量恢复力等
最后由world.CreateBody(b2BodyDdef);在世界里创建 b2Body
最后通过  b2Body.CreateFixture(b2Fixture); 将以及定形的材料加进body中

b2PolygonShape是隐形的形状  通过FixtureDef将其形状做出来(它只是一部分),还要组装b2doy ,通过b2Body.CreateFixture(b2FixtureDef);组装身体body  注意 可以在body里组装很多形状  都是通过b2Body.CreateFixture(b2FixtureDef)来确定的

 b2PolygondShape和b2CircleShape的方法 SetLocalPosition() 设置其在父容器b2body里的位置
 
 注意:  在使用b2DebugDraw时  world.DrawDebugData();是每帧只执行一次 所以在运动的物体中,应该将其放在enterFrame函数里
 
 
 b2DebugDraw里面 SetSprite ();表示在哪个容器里面显示世界
 
 b2BodyDef.type=b2Body.b2_dynamicBody; 当无这句而设置质量 b2FixtureDef.density=1时  表示其质量为0,也就是说他是静态不能动的物体
 
 当有  b2BodyDef.type=b2Body.b2_dynamicBody;这一句时, b2FixtureDef.density=1   表示其质量为1  即 没有这句时质量为0  有了这一句 才可以自己设置动态对象的质量
b2BodyDef.type=b2Body.b2_staticBody   是默认值表示静态的对象
 
 以Def结尾的一半都是 属性  非Def的一半都是方法
 b2BodyDef.allowSleep  表示其是否可以sleep
 
 关于joint
 
 一般在 jointDef里设置相关限制属性   然后再joint里去执行相关操作    比如在b2Revollutionjoint里设置速度 SetMotorSpeed();
 
 得到描点 一般使用 GetAnchorA() GetAnchorB() 得到是世界坐标   在revolutionJoint里 GetAnchorA()和GetAnchorB()的值一样,即他们重合了


LineJoint 和PrismasticJoint相似

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值