Class: TimerEvent

Phaser.Time. TimerEvent

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)

Parameters:
Name Type Description
config Phaser.Types.Time.TimerEventConfig

The configuration for the Timer Event, including its delay and callback.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 10)

Members


args :array

Additional arguments to be passed to the callback.

Type:
  • array
Since: 3.0.0
Source: src/time/TimerEvent.js (Line 90)

callback :function

The callback that will be called when the TimerEvent occurs.

Type:
  • function
Since: 3.0.0
Source: src/time/TimerEvent.js (Line 72)

callbackScope :object

The scope in which the callback will be called.

Type:
  • object
Since: 3.0.0
Source: src/time/TimerEvent.js (Line 81)

<readonly> delay :number

The delay in ms at which this TimerEvent fires.

Type:
  • number
Since: 3.0.0
Default Value:
  • 0
Source: src/time/TimerEvent.js (Line 29)

elapsed :number

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.

Type:
  • number
Since: 3.0.0
Default Value:
  • 0
Source: src/time/TimerEvent.js (Line 119)

hasDispatched :boolean

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.

Type:
  • boolean
Since: 3.0.0
Default Value:
  • false
Source: src/time/TimerEvent.js (Line 141)

<readonly> loop :boolean

True if this TimerEvent loops, otherwise false.

Type:
  • boolean
Since: 3.0.0
Default Value:
  • false
Source: src/time/TimerEvent.js (Line 61)

paused :boolean

Whether or not this timer is paused.

Type:
  • boolean
Since: 3.0.0
Default Value:
  • false
Source: src/time/TimerEvent.js (Line 131)

<readonly> repeat :number

The total number of times this TimerEvent will repeat before finishing.

Type:
  • number
Since: 3.0.0
Default Value:
  • 0
Source: src/time/TimerEvent.js (Line 40)

repeatCount :number

If repeating this contains the current repeat count.

Type:
  • number
Since: 3.0.0
Default Value:
  • 0
Source: src/time/TimerEvent.js (Line 51)

startAt :number

Start this many MS into the elapsed (useful if you want a long duration with repeat, but for the first loop to fire quickly)

Type:
  • number
Since: 3.0.0
Default Value:
  • 0
Source: src/time/TimerEvent.js (Line 109)

timeScale :number

Scale the time causing this TimerEvent to update.

Type:
  • number
Since: 3.0.0
Default Value:
  • 1
Source: src/time/TimerEvent.js (Line 99)

Methods


destroy()

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.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 290)

getElapsed()

Returns the local elapsed time for the current iteration of the Timer Event.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 245)
Returns:

The local elapsed time in milliseconds.

Type
number

getElapsedSeconds()

Returns the local elapsed time for the current iteration of the Timer Event in seconds.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 258)
Returns:

The local elapsed time in seconds.

Type
number

getOverallProgress()

Gets the progress of the timer overall, factoring in repeats.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 207)
Returns:

The overall progress of the Timer Event, between 0 and 1.

Type
number

getProgress()

Gets the progress of the current iteration, not factoring in repeats.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 194)
Returns:

A number between 0 and 1 representing the current progress.

Type
number

getRepeatCount()

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.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 230)
Returns:

How many times the Timer Event will repeat.

Type
number

remove( [dispatchCallback])

Forces the Timer Event to immediately expire, thus scheduling its removal in the next frame.

Parameters:
Name Type Argument Default Description
dispatchCallback boolean <optional>
false

If true, the function of the Timer Event will be called before its removal.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 271)

reset(config)

Completely reinitializes the Timer Event, regardless of its current state, according to a configuration object.

Parameters:
Name Type Description
config Phaser.Types.Time.TimerEventConfig

The new state for the Timer Event.

Since: 3.0.0
Source: src/time/TimerEvent.js (Line 156)
Returns:

This TimerEvent object.

Type
Phaser.Time.TimerEvent