1

AndEngine を使用して、テスト マップを正しくロードするマップを取得しましたが、同じテクスチャで作成したマップをロードしようとすると、マップがロードされますが、AndroidRuntime エラーが発生します

09-03 18:13:23.416: ERROR/AndroidRuntime(272): FATAL EXCEPTION: UpdateThread
09-03 18:13:23.416: ERROR/AndroidRuntime(272): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at java.util.ArrayList.get(ArrayList.java:311)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at test.test.test.Game$2.onUpdate(Game.java:254)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.engine.handler.UpdateHandlerList.onUpdate(UpdateHandlerList.java:44)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.entity.Entity.onManagedUpdate(Entity.java:1014)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.entity.scene.Scene.onManagedUpdate(Scene.java:247)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.entity.Entity.onUpdate(Entity.java:879)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.engine.Engine.onUpdateScene(Engine.java:485)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.engine.Engine.onUpdate(Engine.java:480)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.engine.Engine.onTickUpdate(Engine.java:456)
09-03 18:13:23.416: ERROR/AndroidRuntime(272):     at org.anddev.andengine.engine.Engine$UpdateThread.run(Engine.java:682)

test.test.test.Game$2.onUpdate(Game.Java:254) で、Game クラスの行を示します

//Gets the index of the current map
                mCurrentMapIndex = Integer.parseInt(mTMXTiledMap.getTMXTiledMapProperties().get(0).getValue());

誰がこれを引き起こしているのか考えていますか??

これは、キャラクターがスポーンする最初のマップが読み込まれる 2 番目のマップです。次に、出口フィールドに足を踏み入れると、このマップを読み込もうとします。読み込んだ後、エミュレーターがマップを表示し、前述のエラーでクラッシュします。

4

2 に答える 2

1

私も同様の問題を抱えていました。存在しないプロパティをロードしようとしたり、TMXMapを初期化した方法を示すコードをさらに投稿したりすると、問題が頭に浮かぶと思います。

于 2011-09-19T00:23:27.937 に答える
1

私はついにそれを理解しました。新しいマップを作成するときに、そのマップの新しいタイル セット イメージも作成しました。タイル セットの画像は /tmx フォルダーにあったため、マップ エディターはそれを見ることができましたが、ゲームが画像を読み込めるように、assets フォルダーにもある必要がありました。クラッシュする前にマップが実際に読み込まれる理由がわかりません。これで問題が完全に解決しない場合はさらにコメントしますが、これまでのところうまくいくようです.

于 2011-09-22T19:10:33.430 に答える