0

使用精灵表时,andengine 不断出现此错误。

谁能解释我的意思?

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

这是发生错误的地方。

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

2 回答 2

1

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

getTileCount()可能会返回瓷砖的数量,因此索引将是负 1。

于 2012-08-30T17:37:51.550 回答
1

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

pItem.setCurrentTileIndex(MathUtils.random(0, pItem.getTileCount() - 1));
于 2012-08-30T17:37:52.123 回答