手册:官方系统「存档・暂停・选项菜单」(存档/读档篇)

关于本手册

本手册讲解 ACTION GAME MAKER 随附的官方系统「存档・暂停・选项菜单」中存档画面与读档画面的使用方法,内容包括:如何安装、画面的构成、存档位的规则、缩略图的生成方式、从游戏中调用的方法,以及想要改造时该改哪里。

存档・读档本身(「保存游戏数据」「读取游戏数据」等动作的设置)请参阅另一份手册。本手册只聚焦于驱动已经准备好的菜单

这套系统能做什么

官方系统是把存档画面、读档画面、暂停菜单、选项菜单打包成一套的成品。画面、存档位、确认对话框、手柄操作以及 9 种语言的文案一开始就已齐备,因此无需自己搭建菜单就能加入存档功能。

想做的事 本系统的处理方式
让游戏暂停并弹出菜单 暂停菜单(选项/存档/读档/退出游戏/返回)
让玩家在任意位置存档 存档画面(10 个位)
让玩家从上次继续 读档画面
从最近的自动存档重新开始 自动存档位(最上一行・专用配色)
让玩家分辨是哪份数据 每个位上都有缩略图・地图名・保存日期时间
音量・画面・语言・按键设置 选项菜单(本手册不涉及)

安装方法

  1. 打开素材面板,点击上方的「管理官方系统…」。
  2. 从一览中选择「存档・暂停・选项菜单」,点击「安装」。
  3. 状态变为「已安装」即完成。

安装后,以下内容会被放入项目中。

放置的内容 作用
res://ui/OfficialMenuSystem/pause_menu.tscn 暂停菜单(进入存档・读档的入口)
res://ui/OfficialMenuSystem/SaveMenu/save_menu.tscn 存档画面
res://ui/OfficialMenuSystem/SaveMenu/load_menu.tscn 读档画面
res://ui/OfficialMenuSystem/SaveMenu/save_slot.tscn 单个存档位的外观
res://ui/OfficialMenuSystem/OptionMenu/OptionMenu.tscn 选项菜单
res://ui/OfficialMenuSystem/menu_theme.tres 整个菜单的外观(主题)
Autoload SaveInfoManager 存档位信息与缩略图的读写
Autoload SettingsManager 选项菜单设置的保存

这 2 个 Autoload 会在安装时自动注册。 手动删除会导致菜单无法运作,请保持原样。

想取消时,请点击同一画面的「移除」。安装后你自己改写过的文件会被保留,所以改造过的画面不会消失。

从游戏中调用

存档画面和读档画面被设计为通过暂停菜单打开。游戏侧需要准备的只有「打开暂停菜单」这一步。

  1. 打开玩家等始终在运作的对象的可视化脚本。
  2. 制作按下暂停键时的转换。
  3. 在转换目标上放置「显示菜单场景(OpenMenu)」,并把菜单场景指定为 pause_menu.tscn

关闭用的是「隐藏菜单(CloseMenu)」。按下暂停菜单的「返回」时,随附的可视化脚本会负责关闭,因此游戏侧不需要另行准备。

按钮与可视化脚本的关联

暂停菜单的按钮被设计为按下时发出与按钮名同名的信号

按钮(节点名) 发出的信号名 随附的可视化脚本会做什么
Option Option 显示选项菜单
Save Save 显示存档画面
Load Load 显示读档画面
Exit Exit 经过确认对话框后退出游戏
Back Back 关闭菜单

在存档画面・读档画面一侧,按下存档位时会发出 save / load 信号,并一并带上被按下的存档位编号。随附的可视化脚本接收后,执行存档/读档的动作。

想增加按钮时也遵循同样的约定。 在暂停菜单的 MenuBar/VBoxContainer 中添加 Button,其节点名就会直接成为信号名。之后只要在 pause_menu_manager.vs(附加在暂停菜单内 PauseMenuManager 上的可视化脚本)中,添加一个以该名称信号开始的转换即可运作。

手柄的 A / B 键会在菜单打开时自动加入 ui_accept / ui_cancel,因此一开始就能用键盘和手柄两种方式进行确定・取消。取消(ui_cancel)与「返回」同等对待。

存档画面・读档画面的构成

两个画面都是 11 个位

  • 最上一行:自动存档位
  • 其下:01 〜 10 共 10 个位

每个位上会显示以下内容。

显示 内容
编号 0110。自动存档位为空白
缩略图 保存时的画面(256×144)
地图名 保存时所在地图的名称
保存日期时间 2026/08/03 16:15 的形式

没有数据的位会显示「NO DATA」。

自动存档位无法手动保存。 它没有编号,通过「自动存档」的文字和该位的橙色加以区分;在存档画面中按下它会弹出「无法保存到自动存档位」的提示。只有游戏侧执行自动存档时,这个位才会有内容。

存档在按下之后会弹出确认对话框。在读档画面中按下没有数据的位时,弹出的是提示信息而非确认对话框。

另外,「地图名」直接使用当时显示的地图的节点名。如果想显示给玩家看的名称,请事先把地图的节点名改成易懂的名字(找不到时会显示「未知」)。

缩略图

缩略图拍摄的是「打开存档画面前一刻的游戏画面」。菜单不会入镜就是这个原因。

手动存档时

请在打开存档画面之前,经过插件动作「SaveThumbnail」。

  1. 在添加动作的画面中打开「其他动作」。
  2. 选择「OfficialPlugin」标签页的「Save/存档」分类。
  3. 选择「SaveThumbnail」。

放置位置是打开暂停菜单处,或打开存档画面的前一刻。如果没有经过这个动作,就会使用之前拍摄的缩略图(若一次都没拍过则没有缩略图)。

自动存档时

什么都不用放。 SaveInfoManager 会接收自动存档完成的通知,并自动把那一刻的画面作为缩略图。

文件的存放位置

存档分为两套文件。存档本体由引擎生成,显示在画面上的信息由本系统生成。

文件 生成方 内容
user://save_data_<编号>.actgd 引擎 存档本体(变量、场景的状态等)
user://save_data_<编号>_info.json 本系统 地图名、保存日期时间
user://save_data_<编号>_thumb.jpg 本系统 缩略图
user://auto_save_data.actgd 引擎 自动存档本体
user://auto_save_data_info.json / _thumb.jpg 本系统 自动存档的显示用数据

文件名中的编号从 0 开始。 画面上的「01」对应存档位 0,「10」对应存档位 9。在游戏侧的动作中指定存档位编号时,也请从 0 开始数。

_info.json_thumb.jpg 是与存档本体不同的文件。只删除其中一方,就会出现内容还在但画面上显示 NO DATA(或相反)的状态。删除时请一并删除。

改造

安装后的文件可以直接编辑。以下整理了常改动的地方。

想改变的内容 要改的地方
画面的外观・配色・字体 menu_theme.tres
单个存档位的排布・大小 SaveMenu/save_slot.tscn
画面标题和按钮的配置 SaveMenu/save_menu.tscn / load_menu.tscn
存档/读档的流程本身 各场景中 〜Manager(Area2DGameObject)上的可视化脚本
增加按钮 在暂停菜单的 MenuBar/VBoxContainer 中添加 Button
文案(9 种语言) OptionMenu/translations/options_menu.csv
存档位的数量 SaveMenu/save.gdload.gd 中的 for i in range(10)

更改存档位数量时,请把存档画面和读档画面两边都改成相同的数量。只改一边的话,就会出现能保存却不显示在一览中的位。

options_menu.csv 中收录了 9 种语言的文案(英语、日语、简体中文、繁体中文、韩语、葡萄牙语、西班牙语、德语、俄语)。增加键需要在 Godot 编辑器中重新导入,因此如果只是想改文字,改写现有键的内容会更安全。

注意事项

  • Autoload 的 SaveInfoManager 是必需的。 删掉它就读不到存档位的信息,画面会全部变成 NO DATA。在整理项目设置的 Autoload 时,注意不要把它一并删掉。
  • 自动存档位无法手动保存。 这并不是「11 个位中有 1 个填不上」,而是这个位本来就如此。
  • 缩略图只有在经过「SaveThumbnail」时才会更新。 如果做成直接跳转到存档画面,缩略图就会一直停留在之前的场面。
  • 地图名就是地图的节点名。 系统中没有另设显示用别名的机制。
  • 存档位编号从 0 开始。 与画面上的显示(01〜10)相差 1。
  • 文案较长的语言会撑坏排版。 「自动存档」在俄语和葡萄牙语中会变长,若放入未固定宽度的 Label 中就会把旁边挤出去。替换文案时,也请看看其他语言的长度。
  • 文字颜色请交给 LabelSettings 一侧设置。 对已设置 LabelSettings 的 Label,主题的文字颜色(add_theme_color_override)不起作用。
  • 大幅改动存档画面外观时,请不要更改 save_slot.tscnSlotButton 这个名称。把焦点定位到第一个位的处理正是在找这个名字。
  • 官方系统一览中显示「需要修复」时,请点击同一画面的「修复」。如果是文件缺失则无法修复,此时先「移除」再重新安装。
1 个赞