そのため、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);
}
どんな洞察も役に立ちます。ありがとう