【发布时间】:2015-04-07 20:31:10
【问题描述】:
我有一个可重复的块类型,它使用相同的主体定义和夹具定义。我应该为每个块创建 bodyDef 和 fixtureDef,还是只更改 bodyDef 的位置并每次都重用相同的对象?
【问题讨论】:
标签: javascript box2d
我有一个可重复的块类型,它使用相同的主体定义和夹具定义。我应该为每个块创建 bodyDef 和 fixtureDef,还是只更改 bodyDef 的位置并每次都重用相同的对象?
【问题讨论】:
标签: javascript box2d
你不能像标题所说的那样为多个主体设置一个固定装置,因为每个固定装置都附加到一个特定的主体上,并与它一起销毁。
但是,您可以使用相同的主体定义来创建多个主体,并使用相同的夹具定义来创建多个夹具(可能附加到不同的主体)。这也是更好的做法,因为它可以节省内存和代码行数。
在Box2D manual的第7.2节中有说明:
Box2D 将数据从 body 定义中复制出来;它不保留指向主体定义的指针。这意味着您可以循环使用一个主体定义来创建多个主体。
【讨论】: