Package | flash.utils |
Class | public class Timer |
Inheritance | Timer EventDispatcher Object |
Language version: | ActionScript 3.0 |
Runtime version: |
start()
method to start a timer.
Add an event listener for the timer
event to set up code to be run on the timer interval.
You can create Timer objects to run once or repeat at specified intervals to execute code on a schedule. Depending on the SWF file's framerate or the runtime environment (available memory and other factors), the runtime may dispatch events at slightly offset intervals. For example, if a SWF file is set to play at 10 frames per second (fps), which is 100 millisecond intervals, but your timer is set to fire an event at 80 milliseconds, the event will be dispatched close to the 100 millisecond interval. Applications may dispatch events at slightly offset intervals based on the internal frame rate of the application. Memory-intensive scripts may also offset the events.
Property | Defined by | ||
---|---|---|---|
constructor : Object
A reference to the class object or constructor function for a given object instance.
| Object | ||
currentCount : int
[read-only]
The total number of times the timer has fired since it started
at zero.
| Timer | ||
delay : Number
The delay, in milliseconds, between timer
events.
| Timer | ||
prototype : Object
[static]
A reference to the prototype object of a class or function object.
| Object | ||
repeatCount : int
The total number of times the timer is set to run.
| Timer | ||
running : Boolean
[read-only]
The timer's current state;
true if the timer is running, otherwise false . | Timer |
Method | Defined by | ||
---|---|---|---|
Constructs a new Timer object with the specified
delay
and repeatCount states. | Timer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event.
| EventDispatcher | ||
Dispatches an event into the event flow.
| EventDispatcher | ||
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event.
| EventDispatcher | ||
Indicates whether an object has a specified property defined.
| Object | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter.
| Object | ||
Indicates whether the specified property exists and is enumerable.
| Object | ||
Removes a listener from the EventDispatcher object.
| EventDispatcher | ||
Stops the timer, if it is running, and sets the
currentCount property back to 0,
like the reset button of a stopwatch. | Timer | ||
Sets the availability of a dynamic property for loop operations.
| Object | ||
Starts the timer, if it is not already running.
| Timer | ||
Stops the timer.
| Timer | ||
Returns the string representation of this object, formatted according to locale-specific conventions.
| Object | ||
Returns the string representation of the specified object.
| Object | ||
Returns the primitive value of the specified object.
| Object | ||
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type.
| EventDispatcher |
Event | Summary | Defined by | ||
---|---|---|---|---|
[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | |||
[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | |||
Dispatched whenever a Timer object reaches an interval specified according to the Timer.delay property. | Timer | |||
Dispatched whenever it has completed the number of requests set by Timer.repeatCount . | Timer |
currentCount | property |
currentCount:int
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: |
The total number of times the timer has fired since it started at zero. If the timer has been reset, only the fires since the reset are counted.
Implementation public function get currentCount():int
delay | property |
delay:Number
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
The delay, in milliseconds, between timer
events. If you set the delay interval while
the timer is running, the timer will restart
at the same repeatCount
iteration.
Note: A delay
lower than 20 milliseconds is not recommended. Timer frequency
is limited to 60 frames per second, meaning a delay lower than 16.6 milliseconds causes runtime problems.
public function get delay():Number
public function set delay(value:Number):void
Error — Throws an exception if the delay specified is negative or not a finite number.
|
repeatCount | property |
repeatCount:int
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
The total number of times the timer is set to run.
If the repeat count is set to 0, the timer continues indefinitely, up to a maximum of 24.86 days,
or until the stop()
method is invoked or the program stops.
If the repeat count is nonzero, the timer runs the specified number of times.
If repeatCount
is set to a total that is the same or less then currentCount
the timer stops and will not fire again.
public function get repeatCount():int
public function set repeatCount(value:int):void
running | property |
running:Boolean
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: |
The timer's current state; true
if the timer is running, otherwise false
.
public function get running():Boolean
Timer | () | constructor |
public function Timer(delay:Number, repeatCount:int = 0)
Language version: | ActionScript 3.0 |
Runtime version: |
Constructs a new Timer object with the specified delay
and repeatCount
states.
The timer does not start automatically; you must call the start()
method
to start it.
delay:Number — The delay between timer events, in milliseconds. A delay lower than 20 milliseconds is not recommended. Timer frequency
is limited to 60 frames per second, meaning a delay lower than 16.6 milliseconds causes runtime problems.
|
|
repeatCount:int (default = 0 ) — Specifies the number of repetitions.
If zero, the timer repeats indefinitely, up to a maximum of 24.86 days (int.MAX_VALUE + 1).
If nonzero, the timer runs the specified number of times and then stops.
|
Error — if the delay specified is negative or not a finite number
|
A Timer object is created that starts in 30 seconds (delay is set to 30000 milliseconds) and repeats three times, for a total of 90 seconds. (The timer stops after the third time.)
Two event listeners are added for the myTimer
timer. The first is
triggered by the TimerEvent.TIMER
event, which occurs every time
the timer is started. The timerHandler()
method changes
the text for the statusTextField
text field to reflect the seconds
remaining.
Note: The Timer class keeps track of the number of times it has to start
(repeats
) by increasing the number in the currentCount
property.)
After the timer is called for the last time, the TimerEvent.TIMER_COMPLETE
event is dispatched and the completeHandler()
method is called.
The completeHandler()
method changes the type of the inputTextField
text field
from INPUT
to DYNAMIC
, which means the user can no
longer enter or change text.
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 enter 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 | () | method |
public function reset():void
Language version: | ActionScript 3.0 |
Runtime version: |
Stops the timer, if it is running, and sets the currentCount
property back to 0,
like the reset button of a stopwatch. Then, when start()
is called,
the timer instance runs for the specified number of repetitions,
as set by the repeatCount
value.
See also
start | () | method |
public function start():void
Language version: | ActionScript 3.0 |
Runtime version: |
Starts the timer, if it is not already running.
stop | () | method |
public function stop():void
Language version: | ActionScript 3.0 |
Runtime version: |
Stops the timer. When start()
is called after stop()
, the timer
instance runs for the remaining number of repetitions, as set by the repeatCount
property.
See also
timer | event |
flash.events.TimerEvent
flash.events.TimerEvent.TIMER
Language version: | ActionScript 3.0 |
Runtime version: |
Dispatched whenever a Timer object reaches an interval specified according to the Timer.delay
property.
Defines the value of the type
property of a timer
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
target | The Timer object that has reached its interval. |
timerComplete | event |
flash.events.TimerEvent
flash.events.TimerEvent.TIMER_COMPLETE
Language version: | ActionScript 3.0 |
Runtime version: |
Dispatched whenever it has completed the number of requests set by Timer.repeatCount
.
Defines the value of the type
property of a timerComplete
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
target | The Timer object that has completed its requests. |
TimerExample
to show how a
listener method timerHandler()
can be set to listen for a new TimerEvent
to be dispatched. The timer is started when start()
is called, and after that point,
the timer events are dispatched.
package { import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.Sprite; public class TimerExample extends Sprite { public function TimerExample() { var myTimer:Timer = new Timer(1000, 2); myTimer.addEventListener("timer", timerHandler); myTimer.start(); } public function timerHandler(event:TimerEvent):void { trace("timerHandler: " + event); } } }