SuperAPI AI 工具集

phaser-saveload

通用与其它

查看项目

更新于 10-15 23:25

技能介绍

用途:为 Phaser 4 游戏实现存档与读档。Phaser 没有内置存档系统,本技能给出用 localStorage(同步、仅字符串、约 5 MB)或 IndexedDB(异步、适合大数据)持久化游戏状态的方案。

主要能力:区分该保存与不该保存的内容——保存玩家进度(关卡、分数、背包、货币)、标志位(教程、解锁区域、成就)、设置(音量、全屏、无障碍)、元数据(时间戳、存档版本、总游玩时长);场景状态、实体坐标、物理体应通过重启场景并在 create() 中重新应用数据来重建,绝不直接序列化 Phaser.GameObjects.* 实例、物理体或循环引用。提供 SaveData 类型接口与默认值、静态 SaveManager(load/save/delete/exists/migrate)、多存档槽 SlotSaveManager、自动存档模式(关卡完成、检查点、场景 SHUTDOWN/PAUSE、定时器)、registry 与 SaveManager 的同步集成、独立 SettingsManager、高分榜 HiScoreManager,以及存档版本迁移规则。

使用方式:用 localStorage.setItem('game-save', JSON.stringify(saveData)) 保存,读取时 JSON.parse 并放在 try/catch 中;定义带 version 字段的 SaveData 接口,每个字段都要有默认值;通过 migrate() 处理旧版本存档;用 this.registry 作为内存运行时状态,在启动与结束时与持久化存储同步。

适用场景:单机游戏的进度保存、多存档槽、自动存档、设置与高分榜。

限制:localStorage 同步且容量约 5 MB;云存档需自建后端,Phaser 不提供云存档 API,离线时回退 localStorage,冲突可用 lastSaved 时间戳按“最后写入优先”处理;资料未提供具体收费、平台或效果信息。