Timer 类 (flash.utils.Timer)

本文介绍如何在ActionScript 3.0中使用Timer类进行计时操作,通过实例展示了如何创建计时器、设置时间间隔及事件监听,并对比了与传统计时函数的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 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 类实际操作的小示例应用程序:
package
{
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class ShortTimer extends Sprite
{
public function ShortTimer()
{
控制时间间隔165
// 创建一个新的五秒的 Timer
var minuteTimer:Timer = new Timer(1000, 5);
// 为间隔和完成事件指定侦听器
minuteTimer.addEventListener(TimerEvent.TIMER, onTick);
minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE,
onTimerComplete);
// 启动计时器计时
minuteTimer.start();
}
public function onTick(event:TimerEvent):void
{
// 显示到目前为止的时间计数
// 该事件的目标是 Timer 实例本身。
trace("tick" + event.target.currentCount);
}
public function onTimerComplete(event:TimerEvent):void
{
trace("Time's Up!");
}
}
}
创建 ShortTimer 类时,它会创建一个用于每秒计时一次并持续五秒的 Timer 实例。然后,
它将两个侦听器添加到计时器:一个用于侦听每次计时,另一个用于侦听 timerComplete
事件。
接着,它启动计数器计时,并且从此时起以一秒钟的间隔执行 onTick() 方法。
onTick() 方法只显示当前的时间计数。五秒钟后,执行 onTimerComplete() 方法,告诉您
时间已到。
运行该示例时,您应会看到下列行以每秒一行的速度显示在控制台或跟踪窗口中:
tick 1
tick 2
tick 3
tick 4
tick 5
Time's Up!

函数说明
clearInterval(id:uint):void 取消指定的 setInterval() 调用。
clearTimeout(id:uint):void 取消指定的 setTimeout() 调用。
getTimer():int 返回自 Adobe Flash Player 被初始化以来经过的毫
秒数。
setInterval(closure:Function,
delay:Number, ... arguments):uint
以指定的间隔(以毫秒为单位)运行函数。
setTimeout(closure:Function,
delay:Number, ... arguments):uint
在指定的延迟(以毫秒为单位)后运行指定的函数。
ActionScript 3.0 包含许多与 ActionScript 2.0 提供的计时函数类似的计时函数。这些函数
是作为 flash.utils 包中的包级别函数提供的,这些函数的工作方式与 ActionScript 2.0 完全
相同。
这些函数仍保留在 ActionScript 3.0 以实现向后兼容。Adobe 不建议您在新的
ActionScript 3.0 应用程序中使用这些函数。通常,在应用程序中使用 Timer 类会更容易
且更有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值