5 - 游戏存档功能
光速过一遍蓝图编程,本文将光速过一遍蓝图中的游戏存档功能,包括:
SaveGame
类;
SaveGame类
为了让玩家退出游戏后能从上次退出的地方继续游戏,需要用到UE的保存系统。其中,SaveGame
类用来存储游戏数据。
要想使用这个类,首先得要创建一个蓝图子类:
然后就能在蓝图中添加要存储的变量了。
保存游戏信息
有了保存数据的容器,还要知道把它放在哪。这里选择玩家的Character类,然后就能编写保存游戏信息的蓝图了:
这里编写了一个SaveRound
宏,用于存储当前波次信息。首先会检测SaveGame
类的蓝图子类是否合法,如果不合法,则使用CreateSaveGameObject()
函数创建一个实例。然后将当前波次信息存储到蓝图子类实例的对应变量中。最后使用SaveGametoSlot()
函数将蓝图子类实例中的信息存储到名为Save Slot Name
的存档文件中。
读取游戏信息
接下来编写一个读取波次信息的LoadRound
宏。首先它会调用DoesSaveGameExist()
函数判断存档文件是否存在,只有存在的情况才会继续读信息。然后调用LoadGameFromSlot()
函数读取存档信息。最后将获取到的信息赋给对应变量即可。
删除游戏信息
如果想删除游戏信息,需要调用DeleteGameinSlot()
函数,一个使用它的例子如下:
首先该宏尝试获取PlayerCharacter
,然后检查该角色的存档文件是否存在,存在的话就能删除了。
参考资料
- 中文翻译:《UE5蓝图可视化脚本游戏开发完全学习教程》
- 英文原版:《Blueprints Visual Scripting for Unreal Engine 5 Third Edition》