调试,不好的位置

时间:2014-01-29 20:56:33

标签: java android debugging

我正在尝试制作一款安卓游戏,但每当我加载它时,游戏崩溃并显示为日志:

01-30 05:46:50.557: W/dalvikvm(30824): threadid=11: thread exiting with uncaught exception (group=0x41e38300)
01-30 05:46:50.557: E/AndroidRuntime(30824): FATAL EXCEPTION: GLThread 636
01-30 05:46:50.557: E/AndroidRuntime(30824): java.lang.IllegalArgumentException: Bad position (limit 0): 2
01-30 05:46:50.557: E/AndroidRuntime(30824):    at java.nio.Buffer.positionImpl(Buffer.java:364)
01-30 05:46:50.557: E/AndroidRuntime(30824):    at java.nio.Buffer.position(Buffer.java:358)
01-30 05:46:50.557: E/AndroidRuntime(30824):    at com.badlogic.androidgames.framework.gl.Vertices.bind(Vertices.java:71)
01-30 05:46:50.557: E/AndroidRuntime(30824):    at com.badlogic.androidgames.framework.gl.SpriteBatcher.endBatch(SpriteBatcher.java:44)
01-30 05:46:50.557: E/AndroidRuntime(30824):    at com.customgame.GameScreen.present(GameScreen.java:223)
01-30 05:46:50.557: E/AndroidRuntime(30824):    at com.badlogic.androidgames.framework.impl.GLGame.onDrawFrame(GLGame.java:97)
01-30 05:46:50.557: E/AndroidRuntime(30824):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
01-30 05:46:50.557: E/AndroidRuntime(30824):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

有人可以帮我解决问题所在吗?主要是,当他们说第二排的不良位置时,我不明白这意味着什么。这是否意味着我不允许在特定区域放置精灵?

2 个答案:

答案 0 :(得分:0)

Buffer个对象有capacity(缓冲区可容纳的数据量),limit(缓冲区可以访问数据的距离)和position (读取或写入数据的偏移量)。 Vertices.bind()正在尝试将位置设置为2,但缓冲区的限制已设置为零。

另请参阅NIO Buffer docs

答案 1 :(得分:0)

就我而言,发生此错误是因为我没有停止蓝牙扫描。我开始进行蓝牙扫描,选择了设备并继续使用该应用程序。

BluetoothScanActivity崩溃后启动的所有活动都崩溃了,应用进入了BluetoothScanActivity。这种情况有时在几秒钟后,有时在几分钟后。

此问题已通过在onStop的{​​{1}}-

中调用来解决
BluetoothScanActivity