所以我在添加到 ArrayList 或 Linked List 时遇到了问题(两者都试过,但每次崩溃都一样)。我正在研究 AndEngine 教程(Jimvaders,效果很好),但是在将其调整到我自己的项目时,它无法正常工作。基本上,当我射击子弹时,它会被添加到子弹列表中,但在我的项目中,试图从 playerChar 类中触摸位于 GameScene 中的 ArrayList 或 LinkedList 会导致整个游戏崩溃。我什至还没有对列表做任何事情,所以据我所知,这只是将我的 PlayerBullet 添加到导致问题的列表的行为。
游戏场景:
public ArrayList<PlayerBullet> bulletList;
在我的 PlayerChar 类中
public void shoot(int playerFacing) { //TODO
GameScene scene = (GameScene) BaseActivity.getSharedInstance().getCurrentScene();
float shootX = 2;
PlayerBullet b =(PlayerBullet)PlayerBulletPool.sharedBulletPool().obtainPoolItem();
if (playerFacing == -1){
shootX *= -1;
}
else{
shootX += this.getWidth();
}
b.sprite.setPosition(this.getX() + shootX, this.getY()+(this.getHeight()/2));
MoveXModifier mod = new MoveXModifier(0.5f, b.sprite.getX(), mCamera.getCenterX() + (mCamera.getWidth()*playerFacing));
b.sprite.setVisible(true);
b.sprite.detachSelf();
scene.attachChild(b.sprite);
//Log.v("checkin", "works to here");
scene.bulletList.add(b);//<---------Crashes Here, works fine if this line is commented out
//Log.v("checkin", "still working?");
b.sprite.registerEntityModifier(mod);
}
任何见解都会有所帮助。谢谢