使用精灵表时,andengine 不断出现此错误。
谁能解释我的意思?
08-30 13:31:50.053: E/AndroidRuntime(9643): java.lang.ArrayIndexOutOfBoundsException: length=12; index=12
这是发生错误的地方。
pItem.setCurrentTileIndex(MathUtils.random(0, pItem.getTileCount()));
尝试:
pItem.setCurrentTileIndex(MathUtils.random(0, pItem.getTileCount()-1));
getTileCount()
可能会返回瓷砖的数量,因此索引将是负 1。
我的猜测是MathUtils.random
包含在内,这意味着在您的示例中(大小为 12 的数组),它将生成一个从 0 到 12 的数字,包括12。尝试将您的代码更改为:
pItem.setCurrentTileIndex(MathUtils.random(0, pItem.getTileCount() - 1));