|
在游戏中设置保存和加载的一种简便方法就是使用 SaveGame 对象。
< src="./images/Gameplay/SaveGame/BlankSaveGame.jpg[/img]
你可以将 SaveGame 对象想象成一个具有不同分隔区的盒子。您通过创建变量设置各分割区以存储特定信息。例如, 您可以创建一个变量来保存玩家得分以及玩家名字。您可从其他类将信息传送到 SaveGame 对象,如人物、玩家控制器或游戏模式。 为此,您必须先创建 SaveGame 对象的一个实例或副本。
< src="./images/Gameplay/SaveGame/SaveGameVariables.jpg[/img]
接着,您可从玩家控制器(PlayerController)中拿玩家得分和名字的值,并将其存储到 SaveGame 对象中相应的变量中。
< src="./images/Gameplay/SaveGame/StoreVariables.jpg[/img]
SaveGame 对象将一直存储这些变量值,直到该对象被保存到硬盘驱动器。
< src="./images/Gameplay/SaveGame/StoredVariables.jpg[/img]
最后,您可使用 SaveGameToSlot 将 SaveGame 对象保存到硬盘驱动器中的文件中。该操作就像将文件或新游戏保存到其他程序中一样,因为您对 SaveGameToSlot 赋予了文件名。默认情况下,保存游戏在 Saved\SaveGames 文件夹中存储为 .sav 文件。 您还必须赋予 SaveGameToSlot 一个用户 ID,以便今后查找要加载的信息。
从 SaveGame 对象加载信息的过程也相当简便,只需将保存信息的过程颠倒执行即可。您可使用 LoadGameFromSlot 功能,该功能接受文件名和用户 ID 作为输入值。使用 LoadGameFromSlot 从硬盘驱动器加载信息将创建一个 SaveGame 对象的新副本。
< src="./images/Gameplay/SaveGame/StoredVariables.jpg[/img]
您可使用此对象将信息复制到游戏中的其他对象和 actor。在本示例中,我们将玩家得分和名字加载到玩家控制器中,该操作类似于您打开已保存的游戏并再次开始游戏的操作。
< src="./images/Gameplay/SaveGame/LoadingVariables.jpg[/img]
设置
若需了解使用蓝图或 C++ 保存游戏的详细说明,请使用以下相应链接:
使用蓝图保存游戏
使用 C++ 保存游戏
|
|