使用变量动态更改Timer对象的延迟

时间:2014-03-08 20:07:08

标签: flash variables timer

我正在尝试制作一个计时器,当达到某个变量时它会自动重置。在使用某个变量设置之后,它将使用新变量在TimerEvent上运行Function并继续执行该操作。我试着建造它,但我觉得我错过了什么。这就是我想要实现的目标。

var _timerVar:Timer = new Timer(_ticks);
var _ticks = 4000
var _varToChange = 1;

_timerVar.addEventListener(TIMER.TimerEvent,changeTimer)
function changeTimer():void{
   if(_varToChange == 1){
       _ticks = 4500
   } else if(_varToChange == 2){
       _ticks = 5000
   } else if(_varToChange == 3){
       _ticks = 6000
   }
   _timerVar.reset();
   _timerVar = new Timer(_ticks);
   _timerVar.start();
}

1 个答案:

答案 0 :(得分:0)

在您的示例中,您只需在实例化新的计时器对象后,在 changeTimer()函数中添加此行:

_timerVar.addEventListener(TIMER.TimerEvent,changeTimer);

更好的方法是重置计时器并更改其延迟,而不是每次都实例化一个新计时器。您可以在 changeTimer ()函数中使用它:

_timerVar.reset();
_timerVar.delay = _ticks;
_timerVar.start();

干杯!