我将通过说长时间的编码后离开我的代码我犯了一个错误。令我沮丧的是,当我在我正在开发的游戏中执行某项功能时,我现在收到一个IndexOutOfBoundsException。我想发布代码以帮助找到问题。问题是我无法找到问题真正存在于我的3,500多行代码中的哪个位置。我试图删除一些不同的方法,希望它能揭示罪魁祸首,但这无济于事。这是我确实知道的。
我在代码中的某个位置稍微设置一个断点,然后发生错误。根据我在logcat中设置的日志条目,我在运行之前放置它的方法完成没有问题。
在调试模式下,似乎引擎正在捕获异常。这是logcat消息:
12-15 00:41:46.866:E / AndroidRuntime(3395):FATAL EXCEPTION:UpdateThread 12-15 00:41:46.866:E / AndroidRuntime(3395):java.lang.IndexOutOfBoundsException:索引6无效,大小为6 12-15 00:41:46.866:E / AndroidRuntime(3395):at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251) 12-15 00:41:46.866:E / AndroidRuntime(3395):at java.util.ArrayList.get(ArrayList.java:304) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.engine.handler.UpdateHandlerList.onUpdate(UpdateHandlerList.java:47) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.entity.Entity.onManagedUpdate(Entity.java:1395) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.entity.scene.Scene.onManagedUpdate(Scene.java:284) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.entity.Entity.onUpdate(Entity.java:1167) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.engine.Engine.onUpdateScene(Engine.java:591) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.engine.Engine.onUpdate(Engine.java:586) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.engine.FixedStepEngine.onUpdate(FixedStepEngine.java:52) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.engine.Engine.onTickUpdate(Engine.java:548) 12-15 00:41:46.866:E / AndroidRuntime(3395):at org.andengine.engine.Engine $ UpdateThread.run(Engine.java:820)
是否有人熟悉与此类似的问题?我已经阅读了一些关于类似问题的帖子,其中有一个对象被处理导致错误。我喜欢它,如果是这样的话,我只是找不到任何会被处理掉并导致这个问题的东西。
答案 0 :(得分:0)
似乎与提供问题的答案有关 BaseGameActivity.runOnUpdateThread() vs. Entity.registerUpdateHandler()
答案包含从哪里开始寻找的提示。希望它有所帮助。