单一形状的刚体与复合形状的刚体

前端之家收集整理的这篇文章主要介绍了单一形状的刚体与复合形状的刚体前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一.创建单一形状的刚体步骤

Cp-t/^y0

  1. 创建形状定义(b2PolygonDef,b2CircleDef等);
  2. 创建刚体定义(b2BodyDef)
  3. b2World根据刚体定义创建刚体body,即body = world.CreateBody(b2BodyDef);
  4. 将形状附加到body,即多边形body.CreateShape(b2PolygonDef)或圆形body.CreateShape(b2CircleDef)
  5. 根据刚体附加的形状来设置刚体的质量,即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

猜你在找的设计模式相关文章