mcpField
P
phaser-design-patterns

phaser-design-patterns

github.com/agusstingalvan开发137 次安装35 周前更新
代码仓库

关于 phaser-design-patterns

面向 Phaser 3 JavaScript 游戏开发的技能,将设计模式映射到 Scene、GameObject、输入和物理等实际游戏机制。适用于实现、重构、审查或讲解游戏代码,并强调验证运行效果及避免不必要复杂度。

主要功能

  1. 01按实际游戏问题选择模式
  2. 02映射到 Phaser 核心机制
  3. 03提供游戏场景 JavaScript 示例
  4. 04提示风险与反模式
  5. 05建议运行时验证

适用场景

  1. 01组织实体创建与场景架构
  2. 02实现 AI 行为和规则变化
  3. 03解耦游戏逻辑与界面事件
  4. 04为大量对象使用对象池

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agusstingalvan/gamedev-skills --skill phaser-design-patterns

安装后在 Claude Code 中输入/phaser-design-patterns确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
patterns-map.md
phaser-snippets.md
state-machine-pattern-phaser.md

详细介绍

Phaser 设计模式

以真实游戏玩法为重点实现设计模式,而非抽象示例。

适用场景

当用户需要在 Phaser 3(JavaScript)中应用、重构、审查或解释设计模式时,使用此技能;尤其适用于场景架构、实体、输入系统、物理交互以及对性能敏感的游戏代码。

工作流程

  1. 确定一个实际的游戏问题(实体创建、系统协调、行为变化等)。
  2. 选择一种能降低耦合且不会增加不必要复杂度的模式。
  3. 将模式映射到 Phaser 基本组件(Scene、GameObject、Group、Events、Physics、Time、Input)。
  4. 使用体现游戏领域特征的命名,以 JavaScript 实现。
  5. 在运行时验证(场景能加载、输入有响应、碰撞正常、没有事件泄漏)。

快速选择模式

  • 实体创建方式多变 -> 工厂方法 / 抽象工厂。
  • 逐步构建关卡或 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