AS3 - 如何停止功能?

时间:2012-08-19 18:02:04

标签: actionscript-3

我的“enterFrameHandler *函数中有一个函数,它的结构如下:

private function addBoss():void{
   if(kills >= 3){
     trace("boss time");
   }
}

由于“addBoss”是我的ENTER_FRAME事件监听器函数的一部分,所以一旦kill达到3,就会无限追踪“boss time”。我希望这个函数在激活一次后立即停止。

我可以使用另一个事件监听器来检查该功能,但是一旦它关闭就停止吗?

任何建议将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:6)

private function addBoss():void{
    if(kills >= 3){
       trace("boss time");
       removeBossEnterFrame();
   }
}
private function removeBossEnterFrame():void{
    removeEventListener(Event.ENTER_FRAME, addBoss);
}

一旦找出“boss time”,我就会删除正在调用addRess函数的Enterframe事件监听器。

答案 1 :(得分:3)

这应该这样做。

private var isBossTime:Boolean = false;

private function addBoss():void
{
    if(kills >= 3 && isBossTime == false)
    {
        trace("boss time");

        isBossTime = true;
    }
}