开发一款游戏,以及时的方式从顶部添加球。有没有办法创建一个正文并将其放入队列中以便稍后添加?
这也是汇集目的所必需的。当一个身体从游戏中移除时,它被放入一个游泳池,当需要一个类似的身体时,它将从游泳池中取出。
答案 0 :(得分:1)
您无法在b2World
之外创建正文,因为Box2D documentation中明确说明了这一点:
您永远不应该使用new或malloc来创建正文。世界不会 了解身体和身体将无法正确初始化。
这意味着您只能使用方法b2World::CreateBody()
创建一个主体,该方法会自动将创建的主体添加到世界中。
但是,您可以创建一个b2BodyDef
而不是b2Body
的池,因为它们完全独立于实体:
Box2D将数据复制出正文定义;它没有保留 指向身体定义的指针。
您可以使用userData
指针将主体与相应的主体定义链接起来。