addEventListener在计时器中停止代码

时间:2017-10-05 23:54:28

标签: actionscript-3 flash timer addeventlistener

我有两个蓝色方块,只需点击*键即可显示和消失。点击一下就有一个计时器。代码第一次工作,但第二次停止工作。在调试器中它停在

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;
        }
    }
}

1 个答案:

答案 0 :(得分:2)

谁在timer = null;TimerB()做了什么?有你的计时器。您应该拨打timer.stop()