java - 带有 Sprite 表的 ArrayIndexOutOfBoundsException

标签 java android andengine

使用 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));

关于java - 带有 Sprite 表的 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12202393/

相关文章:

java - 从 Windows Azure 服务总线获取可用的 TCP 端口

java - 使用 Jackson 将单个 java 字段映射到两个 JSON 字段

java - 带注解的 Hibernate 拦截器

javascript - AJAX 请求中的 Null 或空 JSON 对象

android - Android 上的 "Unknown issue with Google Play Services"

java - andEngine:为什么触摸事件不起作用?

android - 新的 Google 地方信息自动填充功能及其定价

java - com.google.step_count.cumulative 需要 android.permission.ACTIVITY_RECOGNITION

android - 如何在我的 eclipse 中安装 Andengine?

android - AsyncTask不会在Android 2.3 Andengine中引发异常