·您当前的位置:首页 > 技术教程 >

[AS3]as3中常用的计时函数Timer类用法示例

时间:2012-11-12 00:03C2.sun
在 ActionScript 3.0 中处理计时函数的首选方式是使用 Timer 类 (flash.utils.Timer),可以使用它在每次达到间隔时调度事件

Timer 类
在 ActionScript 3.0 中处理计时函数的首选方式是使用 Timer 类 (flash.utils.Timer),可以使用它在每次达到间隔时调度事件。
要启动计时器,请先创建 Timer 类的实例,并告诉它每隔多长时间生成一次计时器事件以及在停止前生成多少次事件。
例如,下列代码创建一个每秒调度一个事件且持续 60 秒的 Timer 实例:
var oneMinuteTimer:Timer = new Timer(1000, 60);
Timer 对象在每次达到指定的间隔时都会调度 TimerEvent 对象。TimerEvent 对象的事件类型是 timer (由常量 TimerEvent.TIMER 定义)。TimerEvent 对象包含的属性与标准
Event 对象包含的属性相同。
如果将 Timer 实例设置为固定的间隔数,则在达到最后一次间隔时,它还会调度timerComplete 事件(由常量 TimerEvent.TIMER_COMPLETE 定义)。
以下是一个用来展示 Timer 类实际操作的小示例应用程序:

  1. package 
  2. import flash.display.Sprite; 
  3. import flash.events.TimerEvent; 
  4. import flash.utils.Timer; 
  5. public class ShortTimer extends Sprite 
  6. public function ShortTimer() 
  7. // 创建一个新的五秒的 Timer 
  8. var minuteTimer:Timer = new Timer(1000, 5); 
  9. // 为间隔和完成事件指定侦听器 
  10. minuteTimer.addEventListener(TimerEvent.TIMER, onTick); 
  11. minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, 
  12. onTimerComplete); 
  13. // 极酷播放器提示:启动计时器计时 
  14. minuteTimer.start(); 
  15. public function onTick(event:TimerEvent):void 
  16. // 极酷播放器提示:显示到目前为止的时间计数 
  17. // 该事件的目标是 Timer 实例本身。 
  18. trace("tick" + event.target.currentCount); 
  19. public function onTimerComplete(event:TimerEvent):void 
  20. trace("Time's Up!"); 

创建 ShortTimer 类时,它会创建一个用于每秒计时一次并持续五秒的 Timer 实例。然后,它将两个侦听器添加到计时器:一个用于侦听每次计时,另一个用于侦听 timerComplete事件。
接着,它启动计数器计时,并且从此时起以一秒钟的间隔执行 onTick() 方法。
onTick() 方法只显示当前的时间计数。五秒钟后,执行 onTimerComplete() 方法,告诉您时间已到。运行该示例时,您应会看到下列行以每秒一行的速度显示在控制台或跟踪窗口中:
tick 1
tick 2
tick 3
tick 4
tick 5
Time's Up!

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器