精灵工作表的ArrayIndexOutOfBoundsException



在使用sprite工作表时,我在andengine中不断收到这个错误。

有人能解释一下我的意思吗?

08-30 13:31:50.053: E/AndroidRuntime(9643): java.lang.ArrayIndexOutOfBoundsException: length=12; index=12

这是错误发生的位置。

    pItem.setCurrentTileIndex(MathUtils.random(0, pItem.getTileCount()));

我的猜测是MathUtils.random是包含的,这意味着在您的示例(大小为12的数组)中,它将生成一个从0到12的数字,包括12。尝试将代码更改为:

pItem.setCurrentTileIndex(MathUtils.random(0, pItem.getTileCount() - 1));

尝试:pItem.setCurrentTileIndex(MathUtils.random(0, pItem.getTileCount()-1));

getTileCount()可能返回瓦片的数量,所以索引将是减1。

最新更新