How can repair this error? “java.lang.IndexOutOfBoundsException”

后端 未结 3 1017
眼角桃花
眼角桃花 2021-01-17 02:03

I\'m trying to do a game with andengine library.

When the Sprite Enemy1Sprite reach the top of the camera, and I detach it, this exception

相关标签:
3条回答
  • 2021-01-17 02:38

    This says that your actual array size is 12 so your last index is 11. But you are trying to access index 12 which does not exist. Try to find out the line which throws this error. Make a condition there that if size of index is >= size of array brake.

    Also you may try using try{}catch(IndexOutOfBondException e){} and continue the process.

    0 讨论(0)
  • 2021-01-17 02:39

    You've answered your own question really - Marcelo is correct, the issue is not in the code you posted, it's where you are doing the detachChild call - you need to call that on the Update Thread, as in

    runOnUpdateThread(new Runnable() {
    @Override
    public void run() {
    // TODO Auto-generated method stub
        yourScene.detachChild(yourEnemySprite);
    }
    });
    
    0 讨论(0)
  • 2021-01-17 03:05

    detach entity in onManagedUpdate of scene.

    0 讨论(0)
提交回复
热议问题