【UE】玩家位置存档

         在上一篇博客中(【UE】将存档的值显示在控件蓝图上)我们介绍了如何将存档的值显示在控件蓝图上,本篇博客要介绍的是如何将玩家位置进行存档。

效果

可以看到重新进入游戏时,角色在存档点出现,而不是玩家出生点

步骤

1. 新建蓝图,父类为保存游戏

 命名为“CheckPointsSaveGame”

 2. 打开“CheckPointsSaveGame”,新建一个向量类型变量,命名为“LastLocation”,用于存储玩家最后的位置。

 3. 新建一个父类为“Actor”的蓝图,命名为“CheckPointsBP”

 添加一个盒体碰撞组件,我们希望角色一旦进入该区域就保存玩家的位置

 新建一个变量,命名为“Location”

 在事件图表中添加如下节点

 此时运行游戏,当玩家进入碰撞区域的时候,可以打印出玩家进入区域的位置

 4. 接下来就是需要将这个值存档

 新建一个变量,命名为“SaveSubClass”,变量类型为保存游戏的对象引用

 继续添加如下节点

 此时角色一旦进入碰撞区域就将它进入的位置存档下来

利用这种方式,我们可以向场景中多放置几个存档点,一旦玩家进入这些区域,我们就将他们的位置保存下来。

 5. 接下来我们就需要将存档的位置重新加载进来,让角色进入的时候就出现在哪个位置

打开ThirdPersonCharacter,在事件图表中添加如下节点

 运行效果如文章开头所示。

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/130290155#comments_27728907