A Timer Event represents a delayed function call. It's managed by a Scene's Clock and will call its function after a set amount of time has passed. The Timer Event can optionally repeat - i.e. call its function multiple times before finishing, or loop indefinitely.
Because it's managed by a Clock, a Timer Event is based on game time, will be affected by its Clock's time scale, and will pause if its Clock pauses.
new TimerEvent(config)
name | type | description |
---|---|---|
config | Phaser.Types.Time.TimerEventConfig |
The configuration for the Timer Event, including its delay and callback. |
Additional arguments to be passed to the callback.
The callback that will be called when the TimerEvent occurs.
The scope in which the callback will be called.
The delay in ms at which this TimerEvent fires.
The time in milliseconds which has elapsed since the Timer Event's creation.
This value is local for the Timer Event and is relative to its Clock. As such, it's influenced by the Clock's time scale and paused state, the Timer Event's initial #startAt property, and the Timer Event's #timeScale and #paused state.
Whether the Timer Event's function has been called.
When the Timer Event fires, this property will be set to true
before the callback function is invoked and will be reset immediately afterward if the Timer Event should repeat. The value of this property does not directly influence whether the Timer Event will be removed from its Clock, but can prevent it from firing.
True if this TimerEvent loops, otherwise false.
Whether or not this timer is paused.
The total number of times this TimerEvent will repeat before finishing.
If repeating this contains the current repeat count.
Start this many MS into the elapsed (useful if you want a long duration with repeat, but for the first loop to fire quickly)
Scale the time causing this TimerEvent to update.
Destroys all object references in the Timer Event, i.e. its callback, scope, and arguments.
Normally, this method is only called by the Clock when it shuts down. As such, it doesn't stop the Timer Event. If called manually, the Timer Event will still be updated by the Clock, but it won't do anything when it fires.
Returns the local elapsed time for the current iteration of the Timer Event.
The local elapsed time in milliseconds.
Returns the local elapsed time for the current iteration of the Timer Event in seconds.
The local elapsed time in seconds.
Gets the progress of the timer overall, factoring in repeats.
The overall progress of the Timer Event, between 0 and 1.
Returns the time interval until the last iteration of the Timer Event.
The time interval in milliseconds.
Returns the time interval until the last iteration of the Timer Event in seconds.
The time interval in seconds.
Gets the progress of the current iteration, not factoring in repeats.
A number between 0 and 1 representing the current progress.
Returns the time interval until the next iteration of the Timer Event.
The time interval in milliseconds.
Returns the time interval until the next iteration of the Timer Event in seconds.
The time interval in seconds.
Returns the number of times this Timer Event will repeat before finishing.
This should not be confused with the number of times the Timer Event will fire before finishing. A return value of 0 doesn't indicate that the Timer Event has finished running - it indicates that it will not repeat after the next time it fires.
How many times the Timer Event will repeat.
Forces the Timer Event to immediately expire, thus scheduling its removal in the next frame.
name | type | arguments | Default | description |
---|---|---|---|---|
dispatchCallback | boolean | <optional> | false |
If |
Completely reinitializes the Timer Event, regardless of its current state, according to a configuration object.
name | type | description |
---|---|---|
config | Phaser.Types.Time.TimerEventConfig |
The new state for the Timer Event. |
This TimerEvent object.