加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 20:50:20 所属栏目:百科 来源:网络整理
导读:一. 创建单一形状的刚体步骤 Cp-t/^y0 创建形状定义( b2PolygonDef,b2CircleDef 等); 创建刚体定义 (b2BodyDef) ; 用 b2World 根据刚体定义创建刚体 body ,即 body = world.CreateBody(b2BodyDef); 将形状附加到 body ,即多边形 body.CreateShape(b2P

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读