Packageflash.utils
Classpublic class Timer
InheritanceTimer Inheritance EventDispatcher Inheritance Object

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

The Timer class is the interface to timers, which let you run code on a specified time sequence. Use the 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. Memory-intensive scripts may also offset the events.

View the examples

See also

Performing date and time arithmetic
Converting between time zones
Controlling time intervals
Date and time example: Simple analog clock
Working with dates and times
The Timer class


Public Properties
 PropertyDefined By
  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
  _elapsed : uint
Timer
 Inherited_listeners : Array
EventDispatcher
 Inherited_listenersCalls : Array
EventDispatcher
 Inherited_listenersNames : Array
EventDispatcher
 Inherited_objectlist : Array
[static]
EventDispatcher
 Inherited_objectmap : Array
[static]
EventDispatcher
  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
  _started : uint
Timer
Public Methods
 MethodDefined By
  
Timer(delay:Number, repeatCount:int = 0)
Constructs a new Timer object with the specified delay and repeatCount states.
Timer
 Inherited
_init():*
[static]
_init
 Inherited
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
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
AS3
 Inherited
init():*
[static]
init
 Inherited
AS3
 Inherited
AS3
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
reset():void
Stops the timer, if it is running, and sets the currentCount property back to 0, like the reset button of a stopwatch.
Timer
  
start():void
Starts the timer, if it is not already running.
Timer
  
stop():void
Stops the timer.
Timer
  
tick():void
Timer
 Inherited
EventDispatcher
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Protected Methods
 MethodDefined By
 Inherited
[static]
protected
 Inherited
_setPropertyIsEnumerable(o:*, V:String, enumerable:Boolean):void
[static]
protected
Events
 Event Summary Defined By
  Timer
Public Constants
 ConstantDefined By
 Inheritedlength : int = 1
[static]
length
Property Detail
_elapsedproperty
public var _elapsed:uint

_startedproperty 
public var _started:uint

currentCountproperty 
currentCount:int  [read-only]

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

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
delayproperty 
delay:Number

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

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.


Implementation
    public function get delay():Number
    public function set delay(value:Number):void

Throws
Error — Throws an exception if the delay specified is negative or not a finite number.
repeatCountproperty 
repeatCount:int

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

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.


Implementation
    public function get repeatCount():int
    public function set repeatCount(value:int):void
runningproperty 
running:Boolean  [read-only]

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

The timer's current state; true if the timer is running, otherwise false.


Implementation
    public function get running():Boolean
Constructor Detail
Timer()Constructor
public function Timer(delay:Number, repeatCount:int = 0)

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

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.

Parameters
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.

Throws
Error — if the delay specified is negative or not a finite number

Example
In the following example, the user is given 90 seconds to enter a response in an input text field. Also, every 30 seconds, a status message lets the user know how many seconds are left.

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
         {
                 //TODO
         }
         
Method Detail
reset()method
public function reset():void

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

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 Versions : Flash Player 9, AIR 1.0

Starts the timer, if it is not already running.

stop()method 
public function stop():void

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

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

tick()method 
public function tick():void

Event Detail
timer Event
Event Object Type: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEventType.TIMER

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

Examples
The following example uses the class 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 );
                 }
             }
     }