1
我的主遊戲循環出現問題。當玩家被銷燬時,我移除遊戲循環的eventListener。但是,我碰到了collisionCheck函數的一個錯誤,即一個術語未定義。即使collisionCheck是gameLoop的一部分,並且eventListener已被刪除。術語未定義
if(planeHP <= 0){
removePlayer();
}
public function removePlayer(){
removeEventListener(Event.ENTER_FRAME, moveGameObject);
trace("removed");
}
public function moveGameObject(event:Event){
collisionCheck();
}
我可以在輸出窗口中的錯誤之前看到「刪除」痕跡。該錯誤始終來自collisionCheck函數。
感謝您的幫助。
那麼碰撞檢查功能會發生什麼?有些東西試圖訪問那裏沒有定義的東西。 – 2012-08-13 21:06:22
該功能基本上通過敵人和子彈陣列並驗證它們之間的碰撞。我不知道爲什麼碰撞函數會在我刪除eventListener後被調用。 – oliboon 2012-08-13 21:14:35
何時以及如何添加事件處理程序?它只添加一次嗎?確保你沒有訪問checkCollision中不存在的任何東西。 – 2012-08-13 21:18:58