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相似

4938

被折叠的 条评论
为什么被折叠?



