如何在不属于世界的情况下创建 body
How to create body without it being part of the world
开发一款及时从顶部添加球的游戏。有没有办法创建一个 body 并将其放入 queue 以便稍后添加?
这也是池化所必需的。当 body 从游戏中移除时,它会被放入池中,当需要类似的 body 时,它会从池中取出。
您不能在 b2World
之外创建 body,正如 Box2D documentation:
中明确指出的那样
You should never use new or malloc to create a body. The world won't
know about the body and the body won't be properly initialized.
也就是说你只能用方法b2World::CreateBody()
创建一个body,它会自动将创建的body添加到世界。
但是,您可以创建 b2BodyDef
池而不是 b2Body
,因为它们完全独立于主体:
Box2D copies the data out of the body definition; it does not keep a
pointer to the body definition.
并且您可以使用 userData
指针 link 具有相应 body 定义的 body。
开发一款及时从顶部添加球的游戏。有没有办法创建一个 body 并将其放入 queue 以便稍后添加?
这也是池化所必需的。当 body 从游戏中移除时,它会被放入池中,当需要类似的 body 时,它会从池中取出。
您不能在 b2World
之外创建 body,正如 Box2D documentation:
You should never use new or malloc to create a body. The world won't know about the body and the body won't be properly initialized.
也就是说你只能用方法b2World::CreateBody()
创建一个body,它会自动将创建的body添加到世界。
但是,您可以创建 b2BodyDef
池而不是 b2Body
,因为它们完全独立于主体:
Box2D copies the data out of the body definition; it does not keep a pointer to the body definition.
并且您可以使用 userData
指针 link 具有相应 body 定义的 body。