【Unity JSON】一点点数据存储读取的经验分享(可用于背包系统、角色属性、关卡记录等等)

本文分享了在Unity中利用JSON.NET插件进行数据存储的实践经验,包括使用ScriptableObject作为数据集,为可收集物品挂载脚本,确定序列化存储的信息,以及在游戏开始和收集物品时如何进行json文件的反序列化和序列化操作,适用于背包系统、角色属性等场景。

前提:导入JSON.NET for Unity插件,资源商店的免费插件

1. 明确需要存储的信息有哪些,我个人习惯是用ScriptableObject作为数据集。

比如我这里有一个简单的背包,背包需要被收集物品的名称、描述,以及在背包UI中显示的图片。

加上CreateAssetMenu属性后可以在资源窗口随意创建,比较舒服。

using UnityEngine;

[CreateAssetMenu(fileName = "New Item", menuName = "Item")]
public class CollectableInfo : ScriptableObject
{
    public string itemName;
    public string description;
    public Sprite artwork;
}

2. 给可收集物品挂上一个脚本,拖入任意一个你需要的ScriptableObject。

下面注释了一大段是因为写不写都可以,只是调用的时候多一个词少一个词的区别。

using UnityEngine;

public class Collectable : MonoBehaviour
{
    public CollectableInfo collectableInfo;
    //[HideInInspector]
    //public string itemName;
    //[HideInInspector]
    //public string description;
    //
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值