一个术语是不确定的

时间:2012-08-13 20:59:28

标签: actionscript-3

我的主游戏循环存在问题。当玩家被摧毁时,我会删除游戏循环的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函数。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

问题是我在collisionCheck中有多个循环,并且调用removePlayer的循环不是最后一个,所以即使我删除了监听器它也会继续。只需在removePlayer()之后添加一个返回,它就解决了问题。