The Animation Update Event.
This event is dispatched by a Sprite when an animation playing on it updates. This happens when the animation changes frame.
An animation will change frame based on the frame rate and other factors like timeScale
and delay
. It can also change
frame when stopped or restarted.
Listen for it on the Sprite using sprite.on('animationupdate', listener)
If an animation is playing faster than the game frame-rate can handle, it's entirely possible for it to emit several update events in a single game frame, so please be aware of this in your code. The final event received that frame is the one that is rendered to the game.
The animation event flow is as follows:
ANIMATION_START
ANIMATION_UPDATE
(repeated for however many frames the animation has)ANIMATION_REPEAT
(only if the animation is set to repeat, it then emits more update events after this)ANIMATION_COMPLETE
(only if there is a finite, or zero, repeat count)ANIMATION_COMPLETE_KEY
(only if there is a finite, or zero, repeat count)If the animation is stopped directly, the ANIMATION_STOP
event is dispatched instead of ANIMATION_COMPLETE
.
If the animation is restarted while it is already playing, ANIMATION_RESTART
is emitted.
name | type | description |
---|---|---|
animation | Phaser.Animations.Animation |
A reference to the Animation that has updated. |
frame | Phaser.Animations.AnimationFrame |
The current Animation Frame of the Animation. |
gameObject | Phaser.GameObjects.Sprite |
A reference to the Game Object on which the animation updated. |
frameKey | string |
The unique key of the Animation Frame within the Animation. |