1

メインのゲームループに問題があります。プレーヤーが破壊されたら、ゲームループのeventListenerを削除します。ただし、collisionCheck関数から、用語が未定義であるというエラーが発生します。衝突チェックがgameLoopの一部であり、eventListenerが削除されている場合でも。

if(planeHP <= 0){
    removePlayer();
}

public function removePlayer(){
    removeEventListener(Event.ENTER_FRAME, moveGameObject);
    trace("removed");
}

public function moveGameObject(event:Event){
    collisionCheck();
}

エラーの前に「削除された」トレースが出力ウィンドウに表示されます。エラーは常にcollisionCheck関数によるものです。

助けてくれてありがとう。

4

1 に答える 1

0

問題は、collisionCheckに複数のループがあり、removePlayerを呼び出すループが最後ではなかったため、リスナーを削除してもループが続くことでした。removePlayer()の後にリターンを追加するだけで、問題が修正されました。

于 2012-08-13T22:49:55.730 に答える