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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值