使用蓝图保存游戏

创建 SaveGame 对象

若要新建 SaveGame 对象,新建蓝图类 。当弹出 “Pick Parent Class (选取父类)”对话框时,展开 Custom Classes
下拉菜单,然后选择 SaveGame。您可使用搜索框直接跳转到 SaveGame。

savegame.png

在新建的 SaveGame 对象蓝图中,为您想要保存的任何信息创建变量。

在本示例中,还有一些已声明的变量,这些变量将用于存储 SaveSlotName 和 UserIndex 的默认值,保存至此 SaveGame 对象的各类 就不必单独设置这些变量了。此步骤为可选步骤,将产生一个保存槽,如果默认值未发生变化,则该保存槽将被覆盖。

SaveGameVariables.png

完成蓝图的编译后,可为变量设置默认值。

保存变量

这是整个存盘设置一览。点击下图放大

首先,使用 Create Save Game Object 节点创建 SaveGame 对象的一个实例或副本。务必将 Save Game Class 下拉菜单设置为新 SaveGame 对象蓝图的名称 (本例中为 MySaveGame )。由于 Create Save Game 对象节点创建了一个通用 SaveGame 对象副本,您必须从 Return Value 针和 Cast to MySaveGame 连线出来。将 铸造的结果保存至变量,以便将来可以方便地重新使用 SaveGame 对象。

SaveGameBP_1.png

既然您已经有了一个定制 SaveGame 对象的副本(MySaveGame),而该对象已保存至 Save Game Instance 变量,您可将信息发送给该变量。在本示例中,我们将 Player Name 设置为 “Player One”。您可对想要存储信息的任意其他变量重复执行本步骤。

SaveGameBP_2.png

现在,您可使用 Save Game To Slot 节点将 SaveGame 对象的信息保存至硬盘驱动器。在本示例中, Save Game To Slot 节点包含了文件名和用户 ID, 它们是之前已创建的默认值。

SaveGameBP_3.png

加载变量

这是整个读盘设置一览。点击下图放大

第一步为可选步骤,此步骤基于之前已在 SaveGame 对象内保存了默认的保存槽和用户 ID。在本例中,我们先创建了一个 SaveGame 对象,以便从此对象中读取 默认的 SaveSlotName 和 UserIndex。需要重申的是,此操作可能无法适用于所有游戏的实施。

LoadGameBP_1.png

您可使用 Load Game From Slot 节点创建一个 SaveGame 对象蓝图的实例。就像创建一个用于保存信息的 SaveGame 对象一样, 您需要铸造到特定 SaveGame 对象蓝图,以便将结果保存至变量,以供将来存取。

LoadGameBP_2.png

从硬盘驱动器中加载了新的 SaveGame 对象之后,即可从该对象中读取变量值,并将变量值指派给所需的 actor 或类,或者像本例所示那样直接使用。

LoadGameBP_3.png