Unity 序列化保存数据到本地文件

本文介绍如何使用Unity的序列化功能来保存和读取复杂数据,如玩家类中的金币、道具、关卡和分数。通过创建PlayDataFactory管理类,将数据存储在不同平台的相应目录中,例如Editor模式下的StreamingAssets(只读)和移动设备的PersistentDataPath(可读写)。通过示例代码和测试,展示了如何操作和验证数据保存的成功。
摘要由CSDN通过智能技术生成

一般数据保存我们都会用Unity自带的PlayerPrefs这个类,在数据较少时使用起来非常方便,通过特定的键值来存储相对应的数据,但是它的弊端也是显而易见的当我们要存储一个类,或者较多数据时再用它来存储就很不方便了。所以这篇文章给大家介绍一下通过序列化来保存一个类的数据

下面是一个玩家类,它包括 金币数量,道具数量,关卡,分数等数据,这些数据我们都需要持久化

[System.Serializable]
public class PlayerData
{
    /// <summary>
	/// 金币
	/// </summary>
	private int coin;

	/// <summary>
	/// 道具数量
	/// </summary>
	public int propCount;

    /// <summary>
	/// 关卡数量
	/// </summary>
	public int levelCount;

    /// <summary>
	/// 分数
	/// </summary>
	public int score;

    public PlayerData()
    {
        coin = 100;
        propCount = 3;
        levelCount = 0;
        score = 0;
    }
}

接下来创建管理类 PlayDataFactoty 来存储和读取本地文件,保存文件的路径根据不同的平台而不同

在Editor模式下我们将文件存在StreamingAssets目录下,这个文件夹下的资源也会全都打包在

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值