Phaser API Documentation

  Version: 
This is a beta release of our new docs system. Found an issue?
Please tell us about it in the #📖-newdocs-feedback channel on the Phaser Discord
Event: ANIMATION_UPDATE
Phaser.Animations.Events.ANIMATION_UPDATE
ANIMATION_UPDATE

Description:

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 frme 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:

  1. ANIMATION_START
  2. ANIMATION_UPDATE (repeated for however many frames the animation has)
  3. ANIMATION_REPEAT (only if the animation is set to repeat, it then emits more update events after this)
  4. ANIMATION_COMPLETE (only if there is a finite, or zero, repeat count)
  5. 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.

Parameters:

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.

Since: 3.50.0