在Box2D中移除Body(libgdx)会立即崩溃游戏

时间:2016-08-17 22:58:04

标签: java libgdx box2d

我所知道的world.step()方法并没有这样做,我在互联网上发现的一切都是关于碰撞的人。

我基本上拥有它,所以如果我按空间,一段绳子就会被摧毁。它被摧毁了,但游戏后来匆匆崩溃。这就是我得到的:

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
AL lib: (EE) alc_cleanup: 1 device not closed
Assertion failed!

Program: C:\Program Files\Java\jdk1.8.0_65\bin\java.exe

File: ./Box2D/Dynamics/b2Island.h, Line 54

Expression: m_bodyCount < m_bodyCapacity

代码:

GamePlay屏幕 http://pastebin.com/x1x62axh

http://pastebin.com/SgtsMKKQ

1 个答案:

答案 0 :(得分:1)

我猜你按空格时它会摧毁太快,当没有绳索时,这段代码会导致错误。

world.destroyBody(segments.get(segments.size()-1));

销毁时检查 segments.size()&gt; 0

我也建议

Gdx.input.isKeyJustPressed(int key)

而不是

Gdx.input.isKeyPressed(int key)