我尝试做一个具有按钮PLAY,PAUSE和RESET的定时器间隔。 时间间隔有4个部分,每个部分将在上一个部分完成后继续。
部分:
示例:
目前,我已经创建了区间,但是,当涉及到B区时,它的停止计数。这是我的代码:
The `$` character is just a shortcut for `window.jQuery`.
var mins:Number = 0;
var sec:Number = 5;
var section:Number = 1;
var timerInterval;
function timer() {
sec--;
if (sec == 0 && mins == 0) {
clearInterval(timerInterval);
sec = sec + 10;
sec--;
}
if (sec == -1) {
sec = 59;
mins--;
}
if (sec<10) {
timer_txt.text = mins+":"+"0"+sec;
} else {
timer_txt.text = mins+":"+sec;
}
}
if (sec == -1) {
sec = 59;
mins--;
}
if (sec<10) {
timer_txt.text = mins+":"+"0"+sec;
} else {
timer_txt.text = mins+":"+sec;
}
timerInterval = setInterval(timer, 1000);
答案 0 :(得分:1)
你可以使用Timer
类很好地完成这项工作。延迟存储在数组(以毫秒为单位)中。每次完成前一个延迟时,定时器为自己分配一个新的延迟值。下面的代码应该很容易理解。
var delayList:Array = new Array(1000, 2000, 3000, 4000);
var iteration:uint = 0;
var timer:Timer = new Timer(delayList[0], delayList.length);
timer.addEventListener(TimerEvent.TIMER, timerNext);
timer.start();
function timerNext(e:TimerEvent):void {
if(++iteration < delayList.length) {
timer.delay = delayList[iteration];
trace("Next: ", delayList[iteration]);
} else {
trace("Done!");
}
}
所以在你的情况下,delayList将是[120000, 20000, 180000, 30000];