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()
.
我有两个蓝色方块,它们会随着单击 * 键而出现和消失。单击一下就有一个计时器。该代码第一次工作,但第二次停止工作。在调试器中,它停在
行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()
.