Libgdx / java表达式:m_type == b2_dynamicBody

时间:2016-05-08 15:15:54

标签: java android libgdx box2d

我目前正在使用Box2d和Libgdx进行一场小游戏。每个敌人都是一个box2d动态的身体,他可以杀死所以当他死了我移除他的身体所以:

{% if isLoggedIn %}
<!-- Your dropdown menu HTML here -->
{% endif %}

在我的播放器上确实有效,即使我杀了一个有效的敌人。但有时它会因此错误异常突然崩溃:

            body.setUserData(null);

            gameScreen.lightManager.world.destroyBody(body);

知道它崩溃的原因吗?这个表达意味着什么? O.o

1 个答案:

答案 0 :(得分:1)

你必须确保在世界步骤中没有从世界中移除身体 - 在你的应用程序的某个异步位置处理移除正文时,可能会发生这样的情况。

如果你无法避免处理这种异步,最简单的避免这种情况的方法是设置Body一些UserData,它将识别要销毁的物体并在world.step()调用后直接销毁它们 - 所以而不是{{1}只是做

remove()

然后在您的body.setUserData("DESTROY"); 方法

render