在 ActionScript 3.0 中处理计时函数的首选方式是使用 Timer 类 (flash.utils.Timer),可以使用它在每次达到间隔时调度事件。
要启动计时器,请先创建 Timer 类的实例,并告诉它每隔多长时间生成一次计时器事件以及在停止前生成多少次事件。
Timer 对象在每次达到指定的间隔时都会调度 TimerEvent 对象。TimerEvent 对象的事件类型是 timer(由常量 TimerEvent.TIMER 定义)。TimerEvent 对象包含的属性与标准 Event 对象包含的属性相同。
如果将 Timer 实例设置为固定的间隔数,则在达到最后一次间隔时,它还会调度 timerComplete 事件(由常量 TimerEvent.TIMER_COMPLETE 定义)。
例如:
每过1s触发一次event:TimerEvent方法;
执行5次之后停止
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var minuteTimer:Timer = new Timer( 1000 , 5 ); // 为时间添加监听 minuteTimer.addEventListener(TimerEvent.TIMER, onTick); minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); //开始计时 minuteTimer.start(); //过指定的时间触发onTick方法 function onTick(event:TimerEvent): void { // displays the tick count so far // The target of this event is the Timer instance itself. trace ( "tick " + event.target.currentCount); } //时间完成后触发事件 function onTimerComplete(event:TimerEvent): void { trace ( "Time's Up!" ); } |
输出的结果为:
tick 1
tick 2
tick 3
tick 4
tick 5
Time's Up!