关于 phaser-design-patterns
面向 Phaser 3 JavaScript 游戏开发的技能,将设计模式映射到 Scene、GameObject、输入和物理等实际游戏机制。适用于实现、重构、审查或讲解游戏代码,并强调验证运行效果及避免不必要复杂度。
主要功能
- 01按实际游戏问题选择模式
- 02映射到 Phaser 核心机制
- 03提供游戏场景 JavaScript 示例
- 04提示风险与反模式
- 05建议运行时验证
适用场景
- 01组织实体创建与场景架构
- 02实现 AI 行为和规则变化
- 03解耦游戏逻辑与界面事件
- 04为大量对象使用对象池
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ agusstingalvan/ gamedev-skills --skill phaser-design-patterns安装后在 Claude Code 中输入/phaser-design-patterns确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/patterns-map.mdphaser-snippets.mdstate-machine-pattern-phaser.md详细介绍
Phaser 设计模式
以真实游戏玩法为重点实现设计模式,而非抽象示例。
适用场景
当用户需要在 Phaser 3(JavaScript)中应用、重构、审查或解释设计模式时,使用此技能;尤其适用于场景架构、实体、输入系统、物理交互以及对性能敏感的游戏代码。
工作流程
- 确定一个实际的游戏问题(实体创建、系统协调、行为变化等)。
- 选择一种能降低耦合且不会增加不必要复杂度的模式。
- 将模式映射到 Phaser 基本组件(Scene、GameObject、Group、Events、Physics、Time、Input)。
- 使用体现游戏领域特征的命名,以 JavaScript 实现。
- 在运行时验证(场景能加载、输入有响应、碰撞正常、没有事件泄漏)。
快速选择模式
- 实体创建方式多变 -> 工厂方法 / 抽象工厂。
- 逐步构建关卡或 UI -> 建造者。
- 数千个实例共享状态 -> 享元 + 对象池。
- 根据 AI 模式/行为制定规则 -> 状态 / 策略。
- 解耦玩法与 UI 之间的事件 -> 观察者 / 中介者。
- 可重新执行的操作(输入、重放、撤销) -> 命令。
实现规则
- 优先使用组合,而非深层继承。
- 保持场景精简、职责明确。
- 避免使用可变的单例处理游戏逻辑;仅将其用于全局服务(音频、配置)。
- 当模式会影响移动或计时器时,在
update(time, delta)中使用delta。 - 在
shutdown/destroy中取消订阅事件,以避免内存泄漏。 - 对于大量对象(子弹、粒子),将模式与对象池结合使用(
setActive(false)、setVisible(false))。
预期交付内容
- 用 2-4 行说明此模式为何能解决问题。
- 展示一个带有真实游戏场景的 JavaScript/Phaser 代码片段。
- 列出相关风险和反模式。
- 提出最低限度的验证方式(手动测试或简单测试)。
参考资料
- 完整的模式 -> Phaser 用法映射见
references/patterns-map.md。 - 可直接复制并调整的模板见
references/phaser-snippets.md。 - 适配 Phaser 的完整 State + StateMachine 实现(Idle/Move/Action)见
references/state-machine-pattern-phaser.md。
评论
支持 Markdown