A Frame based Animation.
Animations in Phaser consist of a sequence of AnimationFrame
objects, which are managed by
this class, along with properties that impact playback, such as the animations frame rate
or delay.
This class contains all of the properties and methods needed to handle playback of the animation
directly to an AnimationState
instance, which is owned by a Sprite, or similar Game Object.
You don't typically create an instance of this class directly, but instead go via
either the AnimationManager
or the AnimationState
and use their create
methods,
depending on if you need a global animation, or local to a specific Sprite.
new Animation(manager, key, config)
name | type | description |
---|---|---|
manager | Phaser.Animations.AnimationManager |
A reference to the global Animation Manager |
key | string |
The unique identifying string for this animation. |
config | Phaser.Types.Animations.Animation |
The Animation configuration. |
The delay in ms before the playback will begin.
How long the animation should play for, in milliseconds.
If the frameRate
property has been set then it overrides this value,
otherwise the frameRate
is derived from duration
.
The frame rate of playback in frames per second (default 24 if duration is null)
Extract all the frame data into the frames array.
Should the GameObject's visible
property be set to false
when the animation finishes?
The unique identifying string for this animation.
A reference to the global Animation Manager.
How many ms per frame, not including frame specific modifiers.
Global pause. All Game Objects using this Animation instance are impacted by this property.
Start playback of this animation from a random frame?
Number of times to repeat the animation. Set to -1 to repeat forever.
The delay in ms before the a repeat play starts.
If the animation has a delay set, before playback will begin, this controls when the first frame is set on the Sprite. If this property is 'false' then the frame is set only after the delay has expired. This is the default behavior.
Should the GameObject's visible
property be set to true
when the animation starts to play?
Skip frames if the time lags, or always advanced anyway?
A frame based animation (as opposed to a bone based animation)
Should the animation yoyo (reverse back down to the start) before repeating?
Add frames to the end of the animation.
name | type | description |
---|---|---|
config | string | Array.<Phaser.Types.Animations.AnimationFrame> |
Either a string, in which case it will use all frames from a texture with the matching key, or an array of Animation Frame configuration objects. |
This Animation object.
Add frame/s into the animation.
name | type | description |
---|---|---|
index | number |
The index to insert the frame at within the animation. |
config | string | Array.<Phaser.Types.Animations.AnimationFrame> |
Either a string, in which case it will use all frames from a texture with the matching key, or an array of Animation Frame configuration objects. |
This Animation object.
Calculates the duration, frame rate and msPerFrame values.
name | type | arguments | description |
---|---|---|---|
target | Phaser.Animations.Animation |
The target to set the values on. |
|
totalFrames | number |
The total number of frames in the animation. |
|
duration | number | <optional> |
The duration to calculate the frame rate from. Pass |
frameRate | number | <optional> |
The frame rate to calculate the duration from. |
Check if the given frame index is valid.
name | type | description |
---|---|---|
index | number |
The index to be checked. |
true
if the index is valid, otherwise false
.
Destroys this Animation instance. It will remove all event listeners, remove this animation and its key from the global Animation Manager, and then destroy all Animation Frames in turn.
Called internally when this Animation first starts to play. Sets the accumulator and nextTick properties.
name | type | description |
---|---|---|
state | Phaser.Animations.AnimationState |
The Animation State belonging to the Game Object invoking this call. |
Returns the AnimationFrame at the provided index
name | type | description |
---|---|---|
index | number |
The index in the AnimationFrame array |
The frame at the index provided from the animation sequence
Returns the frame closest to the given progress value between 0 and 1.
name | type | description |
---|---|---|
value | number |
A value between 0 and 1. |
The frame closest to the given progress value.
Creates AnimationFrame instances based on the given frame data.
name | type | arguments | description |
---|---|---|---|
textureManager | Phaser.Textures.TextureManager |
A reference to the global Texture Manager. |
|
frames | string | Array.<Phaser.Types.Animations.AnimationFrame> |
Either a string, in which case it will use all frames from a texture with the matching key, or an array of Animation Frame configuration objects. |
|
defaultTextureKey | string | <optional> |
The key to use if no key is set in the frame configuration object. |
An array of newly created AnimationFrame instances.
Returns the animation last frame.
The last Animation Frame.
Called internally. Sets the accumulator and nextTick values of the current Animation.
name | type | description |
---|---|---|
state | Phaser.Animations.AnimationState |
The Animation State belonging to the Game Object invoking this call. |
Gets the total number of frames in this animation.
The total number of frames in this animation.
Advance the animation frame.
name | type | description |
---|---|---|
state | Phaser.Animations.AnimationState |
The Animation State to advance. |
Pauses playback of this Animation. The paused state is set immediately.
This Animation object.
Called internally when the Animation is playing backwards. Sets the previous frame, causing a yoyo, repeat, complete or update, accordingly.
name | type | description |
---|---|---|
state | Phaser.Animations.AnimationState |
The Animation State belonging to the Game Object invoking this call. |
Removes the given AnimationFrame from this Animation instance. This is a global action. Any Game Object using this Animation will be impacted by this change.
name | type | description |
---|---|---|
frame | Phaser.Animations.AnimationFrame |
The AnimationFrame to be removed. |
This Animation object.
Removes a frame from the AnimationFrame array at the provided index and updates the animation accordingly.
name | type | description |
---|---|---|
index | number |
The index in the AnimationFrame array |
This Animation object.
Called internally during playback. Forces the animation to repeat, providing there are enough counts left in the repeat counter.
name | type | description |
---|---|---|
state | Phaser.Animations.AnimationState |
The Animation State belonging to the Game Object invoking this call. |
Resumes playback of this Animation. The paused state is reset immediately.
This Animation object.
Converts the animation data to JSON.
The resulting JSONAnimation formatted object.
Called internally whenever frames are added to, or removed from, this Animation.
This Animation object.