【问题标题】:AS3 timer interval with button play, pause and reset带按钮播放、暂停和重置的 AS3 定时器间隔
【发布时间】:2015-02-01 23:56:02
【问题描述】:

我试图做一个有按钮 PLAY、PAUSE 和 RESET 的计时器间隔。 时间间隔有4段,每段在上一段结束后继续。

部分:

  • A 部分 = 2 分钟
  • B 部分 = 20 秒
  • C 部分 = 3 分钟
  • D 部分 = 30 秒

例子:

  1. A 区倒计时 2 分钟后,计时器将自动重置为 20 秒
  2. B 部分完成倒计时 20 秒后,计时器将自动重置为 3 分钟
  3. C 段倒计时 3 分钟后,计时器将自动重置为 30 秒
  4. D 区倒计时 30 秒后,将跳转到“X”帧。
  5. 倒计时期间,用户可以随时暂停和继续播放。或者重置并从 A 部分返回。

目前,我已经创建了间隔,但是,当涉及到 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);

【问题讨论】:

    标签: actionscript-3 flash timer setinterval


    【解决方案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];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-07
      相关资源
      最近更新 更多