SuperAPI AI 工具集

phaser-animation

通用与其它

查看项目

更新于 10-15 23:39

技能介绍

用途:在 Phaser 4 游戏中实现精灵帧动画与补间动画,两者可组合使用以获得更完整的游戏表现。

主要能力: 帧动画方面,支持 spritesheet 基于帧索引定义动画(generateFrameNumbers,含 start、end、first、frames 选项),也支持 texture atlas 基于命名帧定义(generateFrameNames,含 prefix、start、end、zeroPad、suffix,或手写帧列表)。定义位置建议放在 PreloaderScene.create() 以注册到全局 AnimationManager,所有场景可用;仅单场景使用的动画(如过场)可在该场景 create() 中定义。播放支持 play(key, ignoreIfPlaying)、playFromFrame、playReverse、stopOnFrame、stop、anims.pause/resume/restart。可监听 ANIMATION_COMPLETE、ANIMATION_COMPLETE_KEY + key、ANIMATION_START、REPEAT、RESTART、STOP、UPDATE 等事件,销毁精灵时应移除监听避免内存泄漏。动画可用 chain 或完成事件串联。

角色状态机:提供 TypeScript 状态机示例(idle、walk、jump、attack、hurt),用 setState 与 update 守卫避免非法转换;新增状态需同步更新 CharState 联合类型、setState 分支及其他状态的打断逻辑。

cinematicMode:当强制播放的一次性动画只播一帧就回退到 idle,原因是 update() 中的状态逻辑覆盖。修复方式是在 update() 第一行加入 cinematicMode 守卫,play 前先 anims.stop(),并在 ANIMATION_COMPLETE_KEY 回调中清除该标记,不要同步清除。

Tween:可对任意对象数值属性做插值,参数含 targets、duration、ease、delay、repeat、yoyo、hold、onStart、onUpdate、onComplete。常见模式有淡入、淡出后销毁、缩放脉冲、从边缘滑入、弹跳落地;缓动包括 Linear、Quad.Out、Quad.In、Quad.InOut、Back.Out、Bounce.Out、Elastic.Out。timeline 可顺序编排多个 tween,用 offset(如 '-=100'、'+=200' 或绝对毫秒)控制相对时序。

粒子:一次性爆发用 this.add.particles(...).explode(n),持续发射器可设定 frequency 并稍后 stop()。

限制:以上为技能文档所述内容,未提及收费、价格、平台或效果数据,相关内容暂未提供。参考文件包括 animation-api.md、easing-reference.md、state-machine-patterns.md。