我使用libgdx制作了一个Android游戏。游戏运行正常,但添加此行后,该应用开始随机关闭。
game.debugRenderer.render(game.world,playerCamera.combined);

游戏确实有在渲染循环中被销毁的物体,但是它在循环的尽头。 logcat所显示的只是

 A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x9a44a2e8 in tid 19935 (GLThread 3723)

    [ 07-23 18:09:09.086   299:  299 W/         ]
    debuggerd: handling request: pid=19890 uid=10268 gid=10268 tid=19935


申请已终止。

我不知道从哪里开始调试。当玩家的身体被摧毁时,应用程序会以随机的间隔崩溃,经常(并非总是)崩溃。有时地砖只是随机移动,然后应用崩溃。我不知道错误是什么,从哪里开始。如果需要,我将发布github链接。
任何帮助将不胜感激。

最佳答案

确保当物理世界处于某个时间步的中间时,不要删除物理主体。 Box2D在执行模拟步骤时,不允许破坏任何东西。

if(!world.isLocked()){
    // delete body
}

10-06 04:56