用途:用于启动 Phaser 游戏、配置 Phaser.Game、组织 Scene 结构、在 preload 中加载资源,以及修复场景切换和共享状态问题。当项目 package.json 含 phaser 或代码使用 preload()/create()/update() 时适用。新项目以 Phaser 4.2 为目标;已有 Phaser 3.90 项目保持原大版本,除非用户明确要求迁移。移动、速度、碰撞、重力或重叠应改用 phaser-arcade-physics,复杂刚体模拟用 Matter 物理,跨引擎存档用 save-systems。
主要能力与用法:先用 new Phaser.Game(config) 创建游戏,type 用 Phaser.AUTO,设置宽高和 scene 数组,首个场景自动启动。每个界面继承 Phaser.Scene,向 super 传入唯一 key,实现 init(data)→preload()→create(data)→update(time, delta)。资源在 preload 排队、create 后才可用;加载器按场景独立但缓存全局。每局状态在 init() 重置,不要放构造函数,因场景实例会被复用。场景间用 this.scene.start/launch/switch/sleep/wake 切换,通过 this.registry 或另一场景事件发射器共享数据。摄像机可 setBounds、startFollow、setZoom。运行后需实际打开页面确认资源加载与场景切换。
限制与注意:不要悄悄把 Phaser 3 项目改成 Phaser 4;Phaser 2 的 State 已改名 Scene,Phaser 3 自定义管线在 Phaser 4 渲染器重构后失效。资源未定义通常因未在 preload 排队或 key 错误;状态跨重启泄漏多因在构造函数设置字段。start 会停止调用场景,launch 则并行运行,HUD 用 start 会隐藏游戏。回调用箭头函数可保留 this。黑屏需确认画布挂载、宽高与场景已启动。更完整的场景状态机见 references/scene-flow.md。