一.创建单一形状的刚体步骤
Cp-t/^y0
- 创建形状定义(b2PolygonDef,b2CircleDef等);
- 创建刚体定义(b2BodyDef);
- 用b2World根据刚体定义创建刚体body,即body = world.CreateBody(b2BodyDef);
- 将形状附加到body,即多边形body.CreateShape(b2PolygonDef)或圆形body.CreateShape(b2CircleDef);
- 根据刚体附加的形状来设置刚体的质量,即body.SetMassFromShapes();
这样world根据一个刚体定义(b2BodyDef),创建一个刚体(b2Body),这个刚体附加一个形状(b2PolygonDef或者b2CircleDef),这样创建出来的就是单一形状的刚体。具体的例子可以看我前面写的日志。
sLaBqxQ0
闪吧新社区 {]`C5Yu
二.创建复合形状的刚体。闪吧新社区7J@/xBa+F Ec(sE
与单一刚体不同的是,在上述第四步将多个形状附加给一个刚体,然后再继续第五步,即可以创建出多余一个形状的刚体。核心代码如下:
此处要注意的是,设置复合刚体的子形状时,如果是用的 b2PolygonDef 形状,则用 SetAsOrientedBox 方法来设置子形状的宽,高,位置,角度;如果是用的 b2CircleDef 形状,则用 localPosition 属性来设置子形状的位置,半径由 radius 属性决定。
原文地址:http://space.flash8.net/space/?628770/viewspace-444115.html
原文链接:https://www.f2er.com/javaschema/287329.html