Animation

.Animations. Animation

基于帧的动画. Phaser中的动画由一系列`动画框架`对象组成,这些对象由 这个类,以及影响回放的属性,例如动画的帧速率 或者延迟. 此类包含处理动画回放所需的所有属性和方法 直接连接到精灵或类似游戏对象拥有的`游戏状态`实例. 您通常不会直接创建此类的实例,而是通过 或者是 `AnimationManager` 或 `AnimationState` 并使用它们的 `create` 方法, 取决于你是需要全局动画,还是局部特定的精灵.

Constructor

new Animation(manager, key, config)

Since:
  • 3.0.0
Parameters:
Name Type Description
manager Phaser.Animations.AnimationManager 对全局动画管理器的引用
key string 此动画的唯一标识字符串.
config Phaser.Types.Animations.Animation 动画配置.

Members

delay :number

Since:
  • 3.0.0
Default Value:
  • 0
回放开始前的延迟时间(毫秒).
Type:
  • number

duration :number

Since:
  • 3.0.0
动画应该播放多长时间,以毫秒为单位. 如果已经设置了 `frameRate` 属性,则它将覆盖该值, 否则, `frameRate` 是从 `duration` 派生出来的.
Type:
  • number

frameRate :number

Since:
  • 3.0.0
Default Value:
  • 24
以每秒帧数表示的回放帧速率(如果持续时间为空,则默认为24)
Type:
  • number

frames :Array.<Phaser.Animations.AnimationFrame>

Since:
  • 3.0.0
将所有帧数据提取到帧数组中.
Type:

hideOnComplete :boolean

Since:
  • 3.0.0
Default Value:
  • false
动画结束时,游戏对象的 `visible` 属性是否应该设置为 `false` ?
Type:
  • boolean

key :string

Since:
  • 3.0.0
此动画的唯一标识字符串.
Type:
  • string

manager :Phaser.Animations.AnimationManager

Since:
  • 3.0.0
对全局动画管理器的引用.
Type:

msPerFrame :number

Since:
  • 3.0.0
每帧多少毫秒,不包括帧特定的修改器.
Type:
  • number

paused :boolean

Since:
  • 3.0.0
Default Value:
  • false
全局暂停.使用此动画实例的所有游戏对象都受到此属性的影响.
Type:
  • boolean

repeat :number

Since:
  • 3.0.0
Default Value:
  • 0
重复播放动画的次数.设置为-1表示永远重复.
Type:
  • number

repeatDelay :number

Since:
  • 3.0.0
Default Value:
  • 0
重复播放开始前的延迟时间(毫秒).
Type:
  • number

showOnStart :boolean

Since:
  • 3.0.0
Default Value:
  • false
当动画开始播放时,游戏对象的 `visible` 属性是否应该设置为 `true` ?
Type:
  • boolean

skipMissedFrames :boolean

Since:
  • 3.0.0
Default Value:
  • true
如果时间滞后,跳过帧,还是总是提前?
Type:
  • boolean

type :string

Since:
  • 3.0.0
Default Value:
  • frame
基于帧的动画(与基于骨骼的动画相反)
Type:
  • string

yoyo :boolean

Since:
  • 3.0.0
Default Value:
  • false
动画yoyo(反向倒回起点)是否应该在重复之前?
Type:
  • boolean

Methods

addFrame(config) → {this}

Since:
  • 3.0.0
将帧添加到动画的结尾.
Parameters:
Name Type Description
config string | Array.<Phaser.Types.Animations.AnimationFrame> 要么是一个字符串,在这种情况下,它将使用具有匹配关键点的纹理的所有帧,要么是一个动画帧配置对象的数组.
Returns:
这个动画对象.
Type
this

addFrameAt(index, config) → {this}

Since:
  • 3.0.0
将帧添加到动画中.
Parameters:
Name Type Description
index number 在动画中插入框架的索引.
config string | Array.<Phaser.Types.Animations.AnimationFrame> 要么是一个字符串,在这种情况下,它将使用具有匹配关键点的纹理的所有帧,要么是一个动画帧配置对象的数组.
Returns:
这个动画对象.
Type
this

calculateDuration(target, totalFrames, duration, frameRate)

Since:
  • 3.50.0
计算持续时间,帧速率和msPerFrame值.
Parameters:
Name Type Description
target Phaser.Animations.Animation 要设置值的目标.
totalFrames number 动画中的总帧数.
duration number 计算帧速率的持续时间.
frameRate number 用于计算持续时间的帧.

checkFrame(index) → {boolean}

Since:
  • 3.0.0
检查给定的帧索引是否有效.
Parameters:
Name Type Description
index number 要检查的索引.
Returns:
如果索引有效,则为 `true` ,否则为 `false` .
Type
boolean

destroy()

Since:
  • 3.0.0
销毁此动画实例.它将删除所有事件侦听器, 从全局动画管理器中删除此动画及其关键点, 然后依次销毁所有动画帧.

(protected) getFirstTick(state)

Since:
  • 3.0.0
当动画第一次开始播放时在内部调用. 设置累加器和下一个刻度属性.
Parameters:
Name Type Description
state Phaser.Animations.AnimationState 属于调用此调用的游戏对象的动画状态.

(protected) getFrameAt(index) → {Phaser.Animations.AnimationFrame}

Since:
  • 3.0.0
在提供的索引处返回动画帧
Parameters:
Name Type Description
index number 动画框架数组中的索引
Returns:
动画序列中索引处的帧
Type
Phaser.Animations.AnimationFrame

getFrameByProgress(value) → {Phaser.Animations.AnimationFrame}

Since:
  • 3.4.0
返回0到1之间最接近给定进度值的帧.
Parameters:
Name Type Description
value number 介于0和1之间的值.
Returns:
最接近给定进度值的帧.
Type
Phaser.Animations.AnimationFrame

getFrames(textureManager, frames, defaultTextureKeyopt) → {Array.<Phaser.Animations.AnimationFrame>}

Since:
  • 3.0.0
基于给定的帧数据创建动画帧实例.
Parameters:
Name Type Attributes Description
textureManager Phaser.Textures.TextureManager 对全局纹理管理器的引用.
frames string | Array.<Phaser.Types.Animations.AnimationFrame> 要么是一个字符串,在这种情况下,它将使用具有匹配关键点的纹理的所有帧,要么是一个动画帧配置对象的数组.
defaultTextureKey string <optional>
如果框架配置对象中未设置任何键,则使用的键.
Returns:
新创建的动画框架实例的数组.
Type
Array.<Phaser.Animations.AnimationFrame>

getLastFrame() → {Phaser.Animations.AnimationFrame}

Since:
  • 3.12.0
返回动画的最后一帧.
Returns:
最后一个动画帧.
Type
Phaser.Animations.AnimationFrame

getNextTick(state)

Since:
  • 3.0.0
内部调用.设置当前动画的累加器和下一个刻度值.
Parameters:
Name Type Description
state Phaser.Animations.AnimationState 属于调用此调用的游戏对象的动画状态.

getTotalFrames() → {number}

Since:
  • 3.50.0
获取此动画中的总帧数.
Returns:
此动画中的总帧数.
Type
number

nextFrame(state)

Since:
  • 3.0.0
推进动画帧.
Parameters:
Name Type Description
state Phaser.Animations.AnimationState 动画状态前进.

pause() → {this}

Since:
  • 3.0.0
暂停播放此动画.暂停状态会立即设置.
Returns:
这个动画对象.
Type
this

previousFrame(state)

Since:
  • 3.0.0
动画反向播放时内部调用. 相应地设置前一帧,导致悠悠球,重复,完成或更新.
Parameters:
Name Type Description
state Phaser.Animations.AnimationState 属于调用此调用的游戏对象的动画状态.

removeFrame(frame) → {this}

Since:
  • 3.0.0
从此动画实例中移除给定的动画帧. 这是一项全球行动.任何使用此动画的游戏对象都将受到此更改的影响.
Parameters:
Name Type Description
frame Phaser.Animations.AnimationFrame 要移除的动画框架.
Returns:
这个动画对象.
Type
this

removeFrameAt(index) → {this}

Since:
  • 3.0.0
从动画框架数组中的指定索引处移除一个框架 并相应地更新动画.
Parameters:
Name Type Description
index number 动画框架数组中的索引
Returns:
这个动画对象.
Type
this

repeatAnimation(state)

Since:
  • 3.0.0
回放时内部调用.如果剩余的计数足够多,则强制动画重复 在重复计数器里.
Parameters:
Name Type Description
state Phaser.Animations.AnimationState 属于调用此调用的游戏对象的动画状态.
Fires:

resume() → {this}

Since:
  • 3.0.0
继续播放此动画.暂停状态会立即重置.
Returns:
这个动画对象.
Type
this

toJSON() → {Phaser.Types.Animations.JSONAnimation}

Since:
  • 3.0.0
将动画数据转换为JSON.
Returns:
生成的JSONAnimation格式的对象.
Type
Phaser.Types.Animations.JSONAnimation

updateFrameSequence() → {this}

Since:
  • 3.0.0
每当在此动画中添加或移除帧时,都会在内部调用.
Returns:
这个动画对象.
Type
this