addEventListener 停止计时器中的代码

addEventListener stops code in timer

我有两个蓝色方块,它们会随着单击 * 键而出现和消失。单击一下就有一个计时器。该代码第一次工作,但第二次停止工作。在调试器中,它停在

timer.addEventListener(TimerEvent.TIMER, timerB);

不太确定为什么它第一次有效,但第二次就不行。

var onOff:Boolean = false;


// Off Timer
var timer:Timer = new Timer(300);

function timerA(event:KeyboardEvent):void {
    blue1.visible = false;
    timer.addEventListener(TimerEvent.TIMER, timerB);
    timer.start();
}

function timerB(event:TimerEvent):void {
    timer.removeEventListener(TimerEvent.TIMER, timerB);
    timer.stop();
    blue2.visible = false;
}

stage.addEventListener(KeyboardEvent.KEY_UP,turnoff);

function turnoff(event:KeyboardEvent):void { 
    if (event.keyCode == 106) {
        if (onOff == false) {
            timerA(null);
            onOff = true;
        } else if (onOff == true) {
            blue1.visible = true;
            blue2.visible = true;
            onOff = false;
        }
    }
}

谁在 TimerB()timer = null;?你的计时器到了。您应该改为调用 timer.stop().