Events

.Animations. Events

Events

ADD_ANIMATION

Since:
  • 3.0.0
添加动画事件. 当新动画添加到全局动画管理器时,调度此事件. 这可能是因为动画实例被添加到动画管理器, 或者动画管理器直接创建新的动画.
Parameters:
Name Type Description
key string 添加到全局动画管理器的动画的关键点.
animation Phaser.Animations.Animation 新创建的动画的实例.

ANIMATION_COMPLETE

Since:
  • 3.50.0
动画完成事件. 当在精灵上播放的动画完成回放时,该事件由精灵调度. 考虑到任何延迟,当动画到达其序列的末尾时,就会发生这种情况 或者重复它可能必须处理的过程. 设置为循环或永远重复的动画永远不会触发此事件,因为 它从未真正完成.如果你需要处理这件事,听听`停止` 事件,因为这是在动画直接停止时发出的. 在精灵上用 `sprite.on(`animationcomplete` ,listener)`听它 动画事件流程如下: 1. `ANIMATION_START` 2. `ANIMATION_UPDATE` (动画重复多少帧) 3. `ANIMATION_REPEAT` (仅当动画设置为重复时,它才会在此之后发出更多更新事件) 4. `ANIMATION_COMPLETE` (仅当存在有限或零重复计数时) 5. `ANIMATION_COMPLETE_KEY` (仅当存在有限或零重复计数时) 如果动画直接停止,将调度 `ANIMATION_STOP` 事件,而不是 `ANIMATION_COMPLETE`. 如果动画在播放时重新开始,会发出 `ANIMATION_RESTART`.
Parameters:
Name Type Description
animation Phaser.Animations.Animation 对已完成动画的引用.
frame Phaser.Animations.AnimationFrame 动画的当前动画帧.
gameObject Phaser.GameObjects.Sprite 动画在其上更新的游戏对象的引用.
frameKey string 动画中动画帧的唯一键.

ANIMATION_COMPLETE_KEY

Since:
  • 3.50.0
动画完成动态关键事件. 当在精灵上播放的动画完成回放时,该事件由精灵调度. 考虑到任何延迟,当动画到达其序列的末尾时,就会发生这种情况 或者重复它可能必须处理的过程. 设置为循环或永远重复的动画永远不会触发此事件,因为 它从未真正完成.如果你需要处理这件事,听听`停止` 事件,因为这是在动画直接停止时发出的. 这个事件和`ANIMATION_COMPLETE`事件的区别在于,这个事件有一个 包含动画名称的动态事件名称.比如, 如果你有一个叫 `explode` 的动画,你可以听听它的完整版本 具体动画通过使用: `sprite.on(`animationcomplete-explode` ,listener)`.或者,如果你 希望使用类型: `sprite.on(Phaser.动画.events.ANIMATION_COMPLETE_KEY+`explode` ,listener)`. 动画事件流程如下: 1. `ANIMATION_START` 2. `ANIMATION_UPDATE` (动画重复多少帧) 3. `ANIMATION_REPEAT` (仅当动画设置为重复时,它才会在此之后发出更多更新事件) 4. `ANIMATION_COMPLETE` (仅当存在有限或零重复计数时) 5. `ANIMATION_COMPLETE_KEY` (仅当存在有限或零重复计数时) 如果动画直接停止,将调度 `ANIMATION_STOP` 事件,而不是 `ANIMATION_COMPLETE`. 如果动画在播放时重新开始,会发出 `ANIMATION_RESTART`.
Parameters:
Name Type Description
animation Phaser.Animations.Animation 对已完成动画的引用.
frame Phaser.Animations.AnimationFrame 动画的当前动画帧.
gameObject Phaser.GameObjects.Sprite 动画在其上更新的游戏对象的引用.
frameKey string 动画中动画帧的唯一键.

ANIMATION_REPEAT

Since:
  • 3.50.0
动画重复事件. 当动画在精灵上重复播放时,精灵会调度此事件. 如果动画是在指定了 `repeat` 值的情况下创建或播放的,就会出现这种情况. 当动画到达其序列的末尾时,它将重复播放. 在精灵上用 `sprite.on(`animationrepeat` ,listener)`听它 动画事件流程如下: 1. `ANIMATION_START` 2. `ANIMATION_UPDATE` (动画重复多少帧) 3. `ANIMATION_REPEAT` (仅当动画设置为重复时,它才会在此之后发出更多更新事件) 4. `ANIMATION_COMPLETE` (仅当存在有限或零重复计数时) 5. `ANIMATION_COMPLETE_KEY` (仅当存在有限或零重复计数时) 如果动画直接停止,将调度 `ANIMATION_STOP` 事件,而不是 `ANIMATION_COMPLETE`. 如果动画在播放时重新开始,会发出 `ANIMATION_RESTART`.
Parameters:
Name Type Description
animation Phaser.Animations.Animation 对已重复的动画的引用.
frame Phaser.Animations.AnimationFrame 动画的当前动画帧.
gameObject Phaser.GameObjects.Sprite 动画在其上重复的游戏对象的引用.
frameKey string 动画中动画帧的唯一键.

ANIMATION_RESTART

Since:
  • 3.50.0
动画重启事件. 当动画在精灵上重新开始播放时,该事件由精灵调度. 只有在调用 `zSprite.anims.restart` 方法时才会出现这种情况. 在精灵上用 `sprite.on(`animationrestart` ,listener)`听它 动画事件流程如下: 1. `ANIMATION_START` 2. `ANIMATION_UPDATE` (动画重复多少帧) 3. `ANIMATION_REPEAT` (仅当动画设置为重复时,它才会在此之后发出更多更新事件) 4. `ANIMATION_COMPLETE` (仅当存在有限或零重复计数时) 5. `ANIMATION_COMPLETE_KEY` (仅当存在有限或零重复计数时) 如果动画直接停止,将调度 `ANIMATION_STOP` 事件,而不是 `ANIMATION_COMPLETE`. 如果动画在播放时重新开始,会发出 `ANIMATION_RESTART`.
Parameters:
Name Type Description
animation Phaser.Animations.Animation 对已重新启动的动画的引用.
frame Phaser.Animations.AnimationFrame 动画的当前动画帧.
gameObject Phaser.GameObjects.Sprite 动画在其上重新开始的游戏对象的引用.
frameKey string 动画中动画帧的唯一键.

ANIMATION_START

Since:
  • 3.50.0
动画开始事件. 当动画开始在精灵上播放时,该事件由精灵调度. 这发生在动画播放时,考虑到可能已经指定的任何延迟. 此事件发生在延迟过期之后,第一次更新事件之前. 在精灵上用 `Sprite.on(`animationstart` ,listener)`听它 动画事件流程如下: 1. `ANIMATION_START` 2. `ANIMATION_UPDATE` (动画重复多少帧) 3. `ANIMATION_REPEAT` (仅当动画设置为重复时,它才会在此之后发出更多更新事件) 4. `ANIMATION_COMPLETE` (仅当存在有限或零重复计数时) 5. `ANIMATION_COMPLETE_KEY` (仅当存在有限或零重复计数时) 如果动画直接停止,将调度 `ANIMATION_STOP` 事件,而不是 `ANIMATION_COMPLETE`. 如果动画在播放时重新开始,会发出 `ANIMATION_RESTART`.
Parameters:
Name Type Description
animation Phaser.Animations.Animation 对已开始的动画的引用.
frame Phaser.Animations.AnimationFrame 动画的当前动画帧.
gameObject Phaser.GameObjects.Sprite 对动画开始的游戏对象的引用.
frameKey string 动画中动画帧的唯一键.

ANIMATION_STOP

Since:
  • 3.50.0
动画停止事件. 当动画停止时,此事件由精灵调度.动画 只有在诸如 `Sprite.stop` 或 `sprite.anims.stoptafterdelay` 的方法 叫做.如果一个新的动画在当前动画完成之前开始,也可以发出这个声音. 在精灵上用 `sprite.on(`animintostop` , listener)`来听它 动画事件流程如下: 1. `ANIMATION_START` 2. `ANIMATION_UPDATE` (动画重复多少帧) 3. `ANIMATION_REPEAT` (仅当动画设置为重复时,它才会在此之后发出更多更新事件) 4. `ANIMATION_COMPLETE` (仅当存在有限或零重复计数时) 5. `ANIMATION_COMPLETE_KEY` (仅当存在有限或零重复计数时) 如果动画直接停止,将调度 `ANIMATION_STOP` 事件,而不是 `ANIMATION_COMPLETE`. 如果动画在播放时重新开始,会发出 `ANIMATION_RESTART`.
Parameters:
Name Type Description
animation Phaser.Animations.Animation 对已停止的动画的引用.
frame Phaser.Animations.AnimationFrame 动画的当前动画帧.
gameObject Phaser.GameObjects.Sprite 对动画停止的游戏对象的引用.
frameKey string 动画中动画帧的唯一键.

ANIMATION_UPDATE

Since:
  • 3.50.0
动画更新事件. 当在其上播放的动画更新时,该事件由精灵调度.当动画改变帧时会发生这种情况. 动画会根据帧速率和其他因素(如 `timeScale` 和 `delay` )改变帧.它也可以改变 停止或重新启动时的帧. 在精灵上用 `sprite.on(`animationupdate` ,listener)`听它 如果一个动画的播放速度超过了游戏的帧速率,它完全有可能发出几个 在一个游戏框架中更新事件,所以请在你的代码中注意这一点.**最终* *事件收到了那帧 是渲染到游戏中的. 动画事件流程如下: 1. `ANIMATION_START` 2. `ANIMATION_UPDATE` (动画重复多少帧) 3. `ANIMATION_REPEAT` (仅当动画设置为重复时,它才会在此之后发出更多更新事件) 4. `ANIMATION_COMPLETE` (仅当存在有限或零重复计数时) 5. `ANIMATION_COMPLETE_KEY` (仅当存在有限或零重复计数时) 如果动画直接停止,将调度 `ANIMATION_STOP` 事件,而不是 `ANIMATION_COMPLETE`. 如果动画在播放时重新开始,会发出 `ANIMATION_RESTART`.
Parameters:
Name Type Description
animation Phaser.Animations.Animation 对已更新的动画的引用.
frame Phaser.Animations.AnimationFrame 动画的当前动画帧.
gameObject Phaser.GameObjects.Sprite 动画在其上更新的游戏对象的引用.
frameKey string 动画中动画帧的唯一键.

PAUSE_ALL

Since:
  • 3.0.0
暂停所有动画事件. 当全局动画管理器被告知暂停时,调度此事件. 当这种情况发生时,所有当前动画将停止更新,尽管这并不意味着 游戏也暂停了.

REMOVE_ANIMATION

Since:
  • 3.0.0
移除动画事件. 当动画从全局动画管理器中移除时,将调度此事件.
Parameters:
Name Type Description
key string 从全局动画管理器中删除的动画的关键点.
animation Phaser.Animations.Animation 已移除动画的实例.

RESUME_ALL

Since:
  • 3.0.0
恢复所有动画事件. 此事件在全局动画管理器恢复之前暂停的状态时调度. 发生这种情况时,所有当前动画将再次继续更新.