【发布时间】:2020-12-20 03:11:13
【问题描述】:
我正在为我的游戏制作死亡系统。玩家获得 3 条生命,一旦 3 条生命全部耗尽,就会打开死亡屏幕。我遇到了一个问题。我需要拯救剩下的生命,这样我才能在关卡之间访问它。我以前从来没有保存过任何数据,所以我不知道该怎么做。这是我的死亡系统蓝图的图片。
Blueprint
【问题讨论】:
标签: unreal-engine4 unreal-blueprint
我正在为我的游戏制作死亡系统。玩家获得 3 条生命,一旦 3 条生命全部耗尽,就会打开死亡屏幕。我遇到了一个问题。我需要拯救剩下的生命,这样我才能在关卡之间访问它。我以前从来没有保存过任何数据,所以我不知道该怎么做。这是我的死亡系统蓝图的图片。
Blueprint
【问题讨论】:
标签: unreal-engine4 unreal-blueprint
有几种方法可以在关卡之间保存数据。
GameInstance 是一个对象,它从游戏过程的开始到结束都存在。它不会在液位开关上被移除。因此,为了传递一些数据,您可以创建自己的 GameInstance 类,创建需要在关卡之间传递的属性,并在 Project Settings > Maps & Modes > Game Instance 中设置 GameInstance 类。
在切换关卡之前,只需在游戏实例中设置变量,切换后读取。
使用保存系统,您只需保存进度并在切换后加载它。这里的想法是在关卡切换之前使用SaveGameToSlot保存所有数据,之后使用LoadGameFromSlot加载数据。
虽然这不是一个优雅的解决方案。如果您仅在游戏开始时加载保存并将其与 GameInstance 正确结合,使用保存游戏对象作为进度容器,则效果非常好,这样您就可以保存进度,并使用一个对象将其传递到不同的关卡。
SaveGame 蓝图的创建方式与 GameInstance 蓝图相同。查看截图
【讨论】: