A simple timer class, calls the given function after the specified amount of time passed.
FlxTimers
are automatically updated and managed by the globalManager
. They are deterministic
by default, unless FlxG.fixedTimestep
is set to false.
Note: timer duration is affected when FlxG.timeScale is changed.
Example: to create a timer that executes a function in 3 seconds
new FlxTimer().start(3.0, ()->{ FlxG.log.add("The FlxTimer has finished"); })
See also:
Static variables
staticglobalManager:FlxTimerManager
The global timer manager that handles global timers
4.2.0
.Constructor
Variables
read onlyelapsedTime:Float
Read-only: The amount of milliseconds that have elapsed since the timer was started
onComplete:FlxTimer ‑> Void
Function that gets called when timer completes. Callback should be formed "onTimer(Timer:FlxTimer);"
Methods
reset(newTime:Float = -1):FlxTimer
Restart the timer using the new duration
Parameters:
newTime | The duration of this timer in seconds. |
---|
start(time:Float = 1, ?onComplete:FlxTimer ‑> Void, loops:Int = 1):FlxTimer
Starts the timer and adds the timer to the timer manager.
Parameters:
time | How many seconds it takes for the timer to go off. If 0 then timer will fire OnComplete callback only once at the first call of update method (which means that Loops argument will be ignored). |
---|---|
onComplete | Optional, triggered whenever the time runs out, once for each loop. Callback should be formed "onTimer(Timer:FlxTimer);" |
loops | How many times the timer should go off. 0 means "looping forever". |
Returns:
A reference to itself (handy for chaining or whatever).
update(elapsed:Float):Void
Called by the timer manager plugin to update the timer. If time runs out, the loop counter is advanced, the timer reset, and the callback called if it exists. If the timer runs out of loops, then the timer calls cancel(). However, callbacks are called AFTER cancel() is called.