当前位置: 首页 > news >正文

虚幻引擎游戏保存/加载存档功能

函数名功能
Does Save Game Exist检查存档是否存在
Load Game from Slot加载存档
Save Game to Slot保存存档
Delete Game in Slot删除存档

Slot Name 是插槽名字
存档都是通过插槽名字来 读取/加载/检查/删除的

先创建一个SaveGame类 , 这个类里可以存放要保存的数据 , 比如 玩家的位置 / 名字 / 金钱 / 经验
SaveGame父类
这里我就保存玩家的位置
保存玩家的位置
我们再创建一个控件蓝图 , 画个界面
在这里插入图片描述

然后到第三人称蓝图 先搞个BeginPlay 默认加载存档 (可以根据自己 游戏玩法/业务需求 写)
在这里插入图片描述

游戏开始时候先检查 有没有存档 , 如果有存档就加载存档 设置玩家存档的位置 , 如果没有存档就创建一个空白对象和位置变量 , 然后保存存档 , 接着加载这个存档

然后回到控件蓝图 , 写三个按钮的控件逻辑
开始游戏就清空插槽存档 , 重新打开一个新关卡
保存存档先检查插槽是否存在 , 如果存在就保存存档
加载存档也是一样 , 检查完直接设置角色存档位置就行了
在这里插入图片描述

然后再回到第三人称蓝图
按下Tab键 召唤界面 , 再按下界面就消失

在这里插入图片描述

需要注意: save game to slot 节点调用后,如果在没打包之前会在项目文件本地建立SaveGames文件夹下保存.sav。 在项目打包完以后并不会存储在相应的.exe目录下,系统默认存储在C盘。 这就意味着我们的应用的存档再copy到其他电脑的时候会丢失存档
在这里插入图片描述
,不过我们可以通过修改c++更改默认存储路径。

这是单机版本的 , 后面如果技术进步了 , 有机会写个网络版的存档系统

http://www.dtcms.com/a/12976.html

相关文章:

  • 表单多个输入框校验
  • webview2加载本地页面
  • Git常用命令详解
  • 用最新的C++技术,如何实现一个序列化工具库?
  • 提前解锁 Vue 3.5 的新特性
  • 【Java】接口interface【主线学习笔记】
  • 7.搭建个人金融数据库之快速获取股票列表和基本信息!
  • 英特尔®以太网网络适配器E810-CQDA1 / E810-CQDA2 网卡 规格书 e810 网卡 规格书 Intel100G E810 网卡 白皮书
  • 【Redis技能熟练掌握之十年内功】
  • JVM内存区域-堆(Heap)
  • 基于c++实现的简易shell
  • 【PostgreSQL】PostgreSQL数据库允许其他IP连接到数据库(Windows Linux)
  • Tauri 应用 input 输入自动大写问题定位解决
  • 计算机毕业设计 校运会管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • vue3 选择字体的颜色,使用vue3-colorpicker来选择颜色
  • 机械快门,电子快门,电子前帘快门 的原理
  • 9月23日
  • C# Action和delegate区别及示例代码
  • GUI编程之MATLAB入门详解(01)
  • qt-C++笔记之作用等同的宏和关键字
  • Highcharts甘特图基本用法(highcharts-gantt.js)
  • 阿里云 Quick BI使用介绍
  • Redis:持久化
  • WebLogic 漏洞复现
  • 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上)
  • [ffmpeg] packet
  • rabbitmq整合skywalking并编写自定义插件增强
  • .netCore运行的环境WindowsHosting和dotnet-sdk区别
  • 2024个人简历模板免费可编辑,可能是整理最全的简历(支持Word格式下载)
  • 【C#生态园】一文详解:NHibernate、Entity Framework Core、Dapper 等 .NET ORM 框架优劣对比