2016-08-17 6 views
0

Это НЕ выполняется во время метода world.step(), который я знаю, и все, что я нашел в Интернете, - это люди, которые делают это с помощью столкновения.Снятие тела в Box2D (libgdx) быстро сбой игры

У меня в основном есть так, если я нажимаю пробел, сегмент веревки будет уничтожен. Его уничтожили, но игра тут же рушится. Это то, что я получаю:

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

Rope http://pastebin.com/SgtsMKKQ

ответ

1

Я думаю, когда вы нажмете пространство это разрушающее слишком быстро, и когда нет больше Этот код вызывает ошибку.

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

Проверка на segments.size()> 0 при уничтожении.

Я также предлагаю

Gdx.input.isKeyJustPressed(int key) 

вместо

Gdx.input.isKeyPressed(int key) 
+0

Wow, право на деньги. Я так новичок в этом, что я никогда бы не подумал об этом, спасибо тонну! –

Смежные вопросы