我正在使用Java中的libgdx,box2d处理项目。
这就是我的计划所做的事情:
_当两个灯具碰撞时,将灯具的一个主体设置为不活动'
myBody.setActive(false);
问题:
我注意到当我放这行时,我在logcat中得到致命信号11(SIGSEGV)在0x00000004(代码= 1),这可能是因为非活动主体仍然在ContactListener中。 / p>
我的主程序中只有1个ContactListener类。
如何删除/添加Body到ContactListener? 我不知道这是否是解决方案,但我想,你能帮助我吗?我不知道如何解决这个问题。
答案 0 :(得分:4)
这是因为监听器中的联系处理在world.step内部发生,并且在运行时世界被阻止。
例如,您可以将其添加到列表中,以便在world.step结束后将其设置为非活动状态。