如何实现存储和加载游戏数据

本文转自Unity Connect博主 Michael Wang

特别针对 ScriptableObject 的特殊性来实现存储和加载

提到存储,目前 Unity 中常用的存储有:XML、Json、PlayerPrefs。

今天我们就用 Binary 二进制和 Json 结合我们之前的背包系统来真是存储我们的游戏数据(背包数据)有关背包系统的内容可以参考另外一篇文章:

https://connect.unity.com/p/kuai-su-zuo-yi-ge-jian-dan-de-bei-bao-xi-tong?app=true

要存储文件就需要得到游戏文件的路径从而创建文件夹和存储的文件

我们使用 Unity 提供的 Application.persistentDataPath 来获得不同平台的游戏目录。

 public void SaveGame()
    {
        Debug.Log(Application.persistentDataPath);//找不到的小伙伴就Debug一下程序路径喽~

        if (!Directory.Exists(Application.persistentDataPath + "/game_SaveData"))//判断是否有存储文件夹
        {
            Directory.CreateDirectory(Application.persistentDataPath + "/game_SaveData");//创建文件夹
        }

    }

接下来我们就来创建一个用来存储数据的文件了:

public void SaveGame()
    {
        Debug.Log(Application.persistentDataPath);//程序路径

        if (
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UE5是一种强大的游戏开发工具,能够加载并处理多种类型的数据。在加载GeoJSON数据时,可以通过使用蓝图来实现。 首先,我们需要创建一个蓝图类,用于加载和处理GeoJSON数据。在这个蓝图类中,我们可以添加一个事件节点,用于触发加载操作。接下来,我们可以使用File IO节点来读取GeoJSON文件,将其内容存储为字符串。 接下来,我们需要解析GeoJSON字符串并提取所需的数据。可以使用Json字符串解析器节点将字符串转换为Json对象,并使用Json对象节点来获取特定的属性值。根据GeoJSON的结构,我们可以使用Array和Object节点来访问不同层次的数据。 一旦我们提取了所需的数据,我们就可以在游戏中使用它们。例如,我们可以创建静态或动态的地理元素,并根据GeoJSON中的坐标信息来定位它们。我们还可以使用其他蓝图节点来实现各种不同的功能,例如在地图上渲染地理数据,或者根据GeoJSON数据动态生成游戏场景。 需要注意的是,加载和处理大型GeoJSON文件可能会导致性能问题。因此,在处理过程中,我们应该优化代码,并使用合适的算法和数据结构来提高效率。 总结而言,使用UE5的蓝图可以很方便地加载和处理GeoJSON数据。通过一系列蓝图节点的组合和调用,我们可以读取文件、解析字符串、提取数据,并在游戏中使用这些数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值