Flash ActionScript 3.0 语言和组件参考Timer
- 格式:doc
- 大小:217.50 KB
- 文档页数:8
包flash.utils类public class Timer继承Timer EventDispatcher Object语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9Timer 类是 Flash Player 计时器的接口。
可以创建新的 Timer 对象,以便按指定的时间顺序运行代码。
使用 start() 方法来启动计时器。
为 timer 事件添加事件侦听器,以便将代码设置为按计时器间隔运行。
可以创建 Timer 对象以运行一次或按指定间隔重复运行,从而按计划执行代码。
取决于SWF 文件的帧频或 Flash Player 的环境(可用内存及其它因素),Flash Player 会能会按稍有偏差的间隔调度事件。
例如,如果某个 SWF 文件设置为以每秒 10 帧 [fps](也就是 100 毫秒的间隔)的速度播放,但计时器设置为在 80 毫秒时触发事件,则Flash Player 将按接近于 100 毫秒的间隔触发事件。
大量耗费内存的脚本也可能使事件发生偏差。
公共属性属性定义方constructor : Object对类对象或给定对象实例的构造函数的引用。
Object currentCount : int[只读 (read-only)] 计时器从 0 开始后触发的总次数。
Timer delay : Number计时器事件间的延迟(以毫秒为单位)。
Timer prototype : Object[静态] 对类或函数对象的原型对象的引用。
Object repeatCount : int设置的计时器运行总次数。
Timer running : Boolean[只读 (read-only)] 计时器的当前状态;如果计时器正在运行,则为true,否则为 false。
Timer 公共方法方法定义方Timer(delay:Number, repeatCount:int = 0)使用指定的 delay 和 repeatCount 状态构造新的 Timer 对象。
TimeraddEventListener(type:String, listener:Function,useCapture:Boolean = false, priority:int = 0,useWeakReference:Boolean = false):voidEventDispatcher使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
dispatchEvent(event:Event):Boolean将事件调度到事件流中。
EventDispatcher hasEventListener(type:String):Boolean检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcherhasOwnProperty(name:String):Boolean指示对象是否已经定义了指定的属性。
Object isPrototypeOf(theClass:Object):Boolean指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object propertyIsEnumerable(name:String):Boolean指示指定的属性是否存在、是否可枚举。
Object removeEventListener(type:String, listener:Function,useCapture:Boolean = false):void从 EventDispatcher 对象中删除侦听器。
EventDispatcherreset():void如果计时器正在运行,则停止计时器,并将 currentCount 属性设回为 0,这类似于秒表的重置按钮。
TimersetPropertyIsEnumerable(name:String, isEnum:Boolean =true):void设置循环操作动态属性的可用性。
Objectstart():void如果计时器尚未运行,则启动计时器。
Timer stop():void停止计时器。
Timer toString():String返回指定对象的字符串表示形式。
Object valueOf():Object返回指定对象的原始值。
Object willTrigger(type:String):Boolean检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher 事件事件摘要定义方activate [广播事件] Flash Player 获得操作系统焦点并变为活动状态时调度。
EventDispatcherdeactivate [广播事件] 当 Flash Player 失去操作系统焦点并变为非活动状态时调度。
EventDispatchertimer 每当 Timer 对象达到根据 Timer.delay 属性指定的间隔时调度。
TimertimerComplete 每当它完成 Timer.repeatCount 设置的请求数后调度。
Timer属性详细信息currentCount 属性currentCount:int [只读 (read-only)]语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9计时器从 0 开始后触发的总次数。
如果已重置了计时器,则只会计入重置后的触发次数。
实现public function get currentCount():intdelay 属性delay:Number [读写]语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9计时器事件间的延迟(以毫秒为单位)。
如果在计时器正在运行时设置延迟间隔,则计时器将按相同的 repeatCount 迭代重新启动。
实现public function get delay():Numberpublic function set delay(value:Number):void引发Error—如果指定的延迟为负数或不是有限数,则将引发异常。
repeatCount 属性repeatCount:int [读写]语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9设置的计时器运行总次数。
如果重复计数设置为 0,则计时器将持续不断运行,直至调用了 stop() 方法或程序停止。
如果重复计数不为 0,则将运行计时器,运行次数为指定的次数。
如果设置的 repeatCount 总数等于或小于 currentCount,则计时器将停止并且不会再次触发。
实现public function get repeatCount():intpublic function set repeatCount(value:int):voidrunning 属性running:Boolean [只读 (read-only)]语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9计时器的当前状态;如果计时器正在运行,则为 true,否则为 false。
实现public function get running():Boolean构造函数详细信息Timer () 构造函数public function Timer(delay:Number, repeatCount:int = 0)语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9使用指定的 delay 和 repeatCount 状态构造新的 Timer 对象。
计时器不会自动启动;必须调用 start() 方法来启动它。
参数delay:Number—计时器事件间的延迟(以毫秒为单位)。
repeatCount:int (default = 0) —指定重复次数。
如果为 0,则计时器重复无限次数。
如果不为 0,则将运行计时器,运行次数为指定的次数,然后停止。
引发Error—如果指定的延迟为负数或不是有限数示例在下面的示例中,为用户提供了 90 秒的时间将响应写入到输入文本字段中。
此外,每隔30 秒显示一个状态消息,可让用户了解还剩下多少秒。
创建了一个 Timer 对象,它在 30 秒内启动(将延迟设置为 30000 毫秒),并在总共 90 秒的时间内重复启动 3 次。
(计时器将在第 3 次后停止。
)为 myTimer 计时器添加了两个事件侦听器。
第一个事件侦听器是由 TimerEvent.TIMER 事件触发的,每次启动计时器时都会发生此事件。
timerHandler() 方法将更改statusTextField 文本字段的文本以反映所剩的秒数。
注意:Timer 类通过增大 currentCount 属性中的数字来跟踪计时器需要启动的次数(repeats)。
在最后一次调用计时器后,将调度 TimerEvent.TIMER_COMPLETE 事件并调用completeHandler() 方法。
completeHandler() 方法将 inputTextField 文本字段的类型从 INPUT 更改为 DYNAMIC,这意味着用户不再可以输入或更改文本。
package {import flash.display.Sprite;import flash.text.TextField;import flash.text.TextFieldType;import flash.text.TextFieldAutoSize;import flash.utils.Timer;import flash.events.TimerEvent;import flash.events.Event;public class Timer_constructorExample extends Sprite {private var statusTextField:TextField = new TextField(); private var inputTextField:TextField = new TextField();private var delay:uint = 30000;private var repeat:uint = 3;private var myTimer:Timer = new Timer(delay, repeat);public function Timer_constructorExample() {inputTextField.x = 10;inputTextField.y = 10;inputTextField.border = true;inputTextField.background = true;inputTextField.height = 200;inputTextField.width = 200;inputTextField.multiline = true;inputTextField.wordWrap = true;inputTextField.type = TextFieldType.INPUT;statusTextField.x = 10;statusTextField.y = 220;statusTextField.background = true;statusTextField.autoSize = TextFieldAutoSize.LEFT;myTimer.start();statusTextField.text = "You have " + ((delay * repeat) / 1000) + " seconds to write your response.";myTimer.addEventListener(TimerEvent.TIMER, timerHandler);myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler);addChild(inputTextField);addChild(statusTextField);}private function timerHandler(e:TimerEvent):void{repeat--;statusTextField.text = ((delay * repeat) / 1000) + " seconds left."; }private function completeHandler(e:TimerEvent):void {statusTextField.text = "Times Up.";inputTextField.type = TextFieldType.DYNAMIC;}}}方法详细信息reset () 方法public function reset():void语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9如果计时器正在运行,则停止计时器,并将 currentCount 属性设回为 0,这类似于秒表的重置按钮。