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 

コード:

ゲームプレイ画面 http://pastebin.com/x1x62axh

ロープ http://pastebin.com/SgtsMKKQ

答えて

1

あなたはそれがあまりにも速く破壊するスペースキーを押していないとき、これ以上がある場合、私は推測しますこのコードはエラーを引き起こします。 segments.sizeため

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

チェック()> 0あなたが破壊します。

私はまた、右のお金で、

Gdx.input.isKeyJustPressed(int key) 

代わりの

Gdx.input.isKeyPressed(int key) 
+0

うわーを示唆しています。私は決して自分自身を考え出したことはありませんでした。 –

関連する問題