Phaser.Animation

new Animation(game, parent, name, frameData, frames, frameRate, loop)

An Animation instance contains a single animation and the controls to play it.

It is created by the AnimationManager, consists of Animation.Frame objects and belongs to a single Game Object such as a Sprite.

Parameters:

Name

Type

Argument

Default

Description

game

Phaser.Game

A reference to the currently running game.

parent

Phaser.Sprite

A reference to the owner of this Animation.

name

string

The unique name for this animation, used in playback commands.

frameData

Phaser.FrameData

The FrameData object that contains all frames used by this Animation.

frames

Array.<number> | Array.<string>

An array of numbers or strings indicating which frames to play in which order.

frameRate

number

<optional>

60

The speed at which the animation should play. The speed is given in frames per second.

loop

boolean

<optional>

false

Whether or not the animation is looped or just plays once.

Source - animation/Animation.js, line 22

Members

currentFrame:Phaser.Frame

The currently displayed frame of the Animation.

Source - animation/Animation.js, line 125

delay:number

The delay in ms between each frame of the Animation, based on the given frameRate.

Source - animation/Animation.js, line 58

enableUpdate:boolean

Gets or sets if this animation will dispatch the onUpdate events upon changing frame.

Source - animation/Animation.js, line 804

frame:number

Gets or sets the current frame index and updates the Texture Cache for display.

Source - animation/Animation.js, line 743

<readonly> frameTotal:number

The total number of frames in the currently loaded FrameData, or -1 if no FrameData is loaded.

Source - animation/Animation.js, line 730

game:Phaser.Game

A reference to the currently running Game.

Source - animation/Animation.js, line 29

isFinished:boolean

The finished state of the Animation. Set to true once playback completes, false during playback.

Source - animation/Animation.js, line 80

isPaused:boolean

The paused state of the Animation.

Source - animation/Animation.js, line 92

isPlaying:boolean

The playing state of the Animation. Set to false once playback completes, true during playback.

Source - animation/Animation.js, line 86

isReversed:boolean

Indicates if the animation will play backwards.

Source - animation/Animation.js, line 157

killOnComplete:boolean

Should the parent of this Animation be killed when the animation completes?

Source - animation/Animation.js, line 74

loop:boolean

The loop state of the Animation.

Source - animation/Animation.js, line 63

loopCount:number

The number of times the animation has looped since it was last started.

Source - animation/Animation.js, line 68

name:string

The user defined name given to this Animation.

Source - animation/Animation.js, line 46

onComplete:Phaser.Signal

This event is dispatched when this Animation completes playback. If the animation is set to loop this is never fired, listen for onLoop instead.

Source - animation/Animation.js, line 146

onLoop:Phaser.Signal

This event is dispatched when this Animation loops.

Source - animation/Animation.js, line 151

onStart:Phaser.Signal

This event is dispatched when this Animation starts playback.

Source - animation/Animation.js, line 130

onUpdate:Phaser.Signal|null

This event is dispatched when the Animation changes frame. By default this event is disabled due to its intensive nature. Enable it with: Animation.enableUpdate = true. Note that the event is only dispatched with the current frame. In a low-FPS environment Animations will automatically frame-skip to try and claw back time, so do not base your code on expecting to receive a perfectly sequential set of frames from this event.

paused:boolean

Gets and sets the paused state of this Animation.

Source - animation/Animation.js, line 676

reversed:boolean

Gets and sets the isReversed state of this Animation.

Source - animation/Animation.js, line 710

speed:number

Gets or sets the current speed of the animation in frames per second. Changing this in a playing animation will take effect from the next frame. Value must be greater than 0.

Source - animation/Animation.js, line 781

<static> generateFrameNames(prefix, start, stop, suffix, zeroPad)→ {Array.<string>}

Really handy function for when you are creating arrays of animation data but it's using frame names and not numbers. For example imagine you've got 30 frames named: 'explosion_0001-large' to 'explosion*0030-large' You could use this function to generate those by doing: Phaser.Animation.generateFrameNames('explosion*', 1, 30, '-large', 4);

Parameters:

Name

Type

Argument

Default

Description

prefix

string

The start of the filename. If the filename was 'explosion0001-large' the prefix would be 'explosion'.

start

number

The number to start sequentially counting from. If your frames are named 'explosion_0001' to 'explosion_0034' the start is 1.

stop

number

The number to count to. If your frames are named 'explosion_0001' to 'explosion_0034' the stop value is 34.

suffix

string

<optional>

''

The end of the filename. If the filename was 'explosion_0001-large' the prefix would be '-large'.

zeroPad

number

<optional>

0

The number of zeros to pad the min and max values with. If your frames are named 'explosion_0001' to 'explosion_0034' then the zeroPad is 4.

Returns:

Array.<string>-

An array of framenames.

Source - animation/Animation.js, line 832

complete()

Called internally when the animation finishes playback. Sets the isPlaying and isFinished states and dispatches the onAnimationComplete event if it exists on the parent and local onComplete event.

Source - animation/Animation.js, line 646

destroy()

Cleans up this animation ready for deletion. Nulls all values and references.

Source - animation/Animation.js, line 612

next(quantity)

Advances by the given number of frames in the Animation, taking the loop value into consideration.

Parameters:

Name

Type

Argument

Default

Description

quantity

number

<optional>

1

The number of frames to advance.

Source - animation/Animation.js, line 535

onPause()

Called when the Game enters a paused state.

Source - animation/Animation.js, line 369

onResume()

Called when the Game resumes from a paused state.

Source - animation/Animation.js, line 383

play(frameRate, loop, killOnComplete)→

{Phaser.Animation}

Plays this animation.

If you need to jump to a specific frame of this animation, then call play and immediately after it, set the frame you require (i.e.``animation.play(); animation.frame = 4``).

Parameters:

Name

Type

Argument

Default

Description

frameRate

number

<optional>

null

The framerate to play the animation at. The speed is given in frames per second. If not provided the previously set frameRate of the Animation is used.

loop

boolean

<optional>

false

Should the animation be looped after playback. If not provided the previously set loop value of the Animation is used.

killOnComplete

boolean

<optional>

false

If set to true when the animation completes (only happens if loop=false) the parent Sprite will be killed.

Returns:

Phaser.Animation-

  • A reference to this Animation instance.

Source - animation/Animation.js, line 167

previous(quantity)

Moves backwards the given number of frames in the Animation, taking the loop value into consideration.

Parameters:

Name

Type

Argument

Default

Description

quantity

number

<optional>

1

The number of frames to move back.

Source - animation/Animation.js, line 567

restart()

Sets this animation back to the first frame and restarts the animation.

Source - animation/Animation.js, line 221

reverse()→ {Phaser.Animation}

Reverses the animation direction.

Returns:

Phaser.Animation-

The animation instance.

Source - animation/Animation.js, line 249

reverseOnce()→ {Phaser.Animation}

Reverses the animation direction for the current/next animation only Once the onComplete event is called this method will be called again and revert the reversed state.

Returns:

Phaser.Animation-

The animation instance.

Source - animation/Animation.js, line 263

setFrame(frameId, useLocalFrameIndex)

Sets this animations playback to a given frame with the given ID.

Parameters:

Name

Type

Argument

Default

Description

frameId

string | number

<optional>

The identifier of the frame to set. Can be the name of the frame, the sprite index of the frame, or the animation-local frame index.

useLocalFrameIndex

boolean

<optional>

false

If you provide a number for frameId, should it use the numeric indexes of the frameData, or the 0-indexed frame index local to the animation.

Source - animation/Animation.js, line 279

stop(resetFrame, dispatchComplete)

Stops playback of this animation and set it to a finished state. If a resetFrame is provided it will stop playback and set frame to the first in the animation. If dispatchComplete is true it will dispatch the complete events, otherwise they'll be ignored.

Parameters:

Name

Type

Argument

Default

Description

resetFrame

boolean

<optional>

false

If true after the animation stops the currentFrame value will be set to the first frame in this animation.

dispatchComplete

boolean

<optional>

false

Dispatch the Animation.onComplete and parent.onAnimationComplete events?

Source - animation/Animation.js, line 338

update()

Updates this animation. Called automatically by the AnimationManager.

Source - animation/Animation.js, line 397

updateFrameData(frameData)

Changes the FrameData object this Animation is using.

Parameters:

Name

Type

Description

frameData

Phaser.FrameData

The FrameData object that contains all frames used by this Animation.

Source - animation/Animation.js, line 599