代码之家  ›  专栏  ›  技术社区  ›  ZzZzZzZz

如何在UE4中保存级别之间的数据?

  •  0
  • ZzZzZzZz  · 技术社区  · 5 年前

    我正在为我的游戏制作一个死亡系统。玩家获得3条生命,一旦所有3条生命耗尽,死亡屏幕打开。我遇到了一个问题。我需要拯救剩下的生命,这样我就可以在两层之间访问它。我以前从未保存过任何数据,所以我不知道如何保存。这是我的死亡系统蓝图。
    Blueprint

    0 回复  |  直到 5 年前
        1
  •  1
  •   Alexander Blintsov    5 年前

    有几种方法可以在级别之间保存数据。

    GameInstance是一个对象,从游戏过程的开始一直存在到结束。它不会在液位开关上拆下。因此,为了传递一些数据,您可以创建自己的GameInstance类,创建需要在级别之间传递的属性,并在“项目设置”>“地图”&模式”>“游戏实例”中设置GameInstance类。

    在切换关卡之前,只需在游戏实例中设置变量,然后在切换之后读取变量。

    https://ibb.co/DR5zS5M

    https://ibb.co/FYbyzfB

    https://ibb.co/vx7s2SX

    使用save系统,您只需保存进度并在切换后加载。这里的想法是在级别切换之前使用SaveGameToSlot保存所有数据,之后使用LoadGameFromSlot加载数据。

    不过,这并不是一个优雅的解决方案。如果您只在游戏开始时加载save,并将其与GameInstance正确结合,使用save game对象作为进度容器,这样您就可以保存进度,并使用一个对象将其传递到不同的级别,那么它的效果会非常好。

    https://ibb.co/qndzbp6

    SaveGame蓝图的创建方法与GameInstance蓝图相同。查看屏幕截图

    推荐文章