- for (var bb1:b2Body= world.GetBodyList(); bb1; bb1 = bb1.GetNext())
{
if (bb1.GetUserData() is Sprite)
{
world.DestroyBody(bb1);
}
}
world=null;
Run Code Online (Sandbox Code Playgroud)
删除box2d中的b2body是否正确?
但我仍然看到舞台上的物体.
如果你试图在世界的Step()函数中做这个(例如在一个联系人监听器中),它将无法工作,因为世界仍在处理这些实体.您需要记下要销毁的物体,然后在世界时间步骤结束后销毁它们.
另外,我不确定你使用的语言是什么,但是这个循环会破坏一个主体然后在你刚刚销毁的东西上调用GetNext()似乎有点奇怪.
| 归档时间: |
|
| 查看次数: |
4447 次 |
| 最近记录: |