如何创造身体而不让它成为世界的一部分

时间:2015-06-29 04:16:25

标签: box2d

开发一款游戏,以及时的方式从顶部添加球。有没有办法创建一个正文并将其放入队列中以便稍后添加?

这也是汇集目的所必需的。当一个身体从游戏中移除时,它被放入一个游泳池,当需要一个类似的身体时,它将从游泳池中取出。

1 个答案:

答案 0 :(得分:1)

您无法在b2World之外创建正文,因为Box2D documentation中明确说明了这一点:

  

您永远不应该使用new或malloc来创建正文。世界不会   了解身体和身体将无法正确初始化。

这意味着您只能使用方法b2World::CreateBody()创建一个主体,该方法会自动将创建的主体添加到世界中。

但是,您可以创建一个b2BodyDef而不是b2Body的池,因为它们完全独立于实体:

  

Box2D将数据复制出正文定义;它没有保留   指向身体定义的指针。

您可以使用userData指针将主体与相应的主体定义链接起来。