数据持续化存储>ScriptableObject

数据存储

PlayerPrefs

PlayerPrefs的unity文档
以前用过现在想不起来了,有空补上。

ScriptableObject

ScriptableObject
刚学的,还热乎。
使用方式:
创建一个类,需要继承自:ScriptableObject

[CreateAssetMenu(menuName = "MySubMenue/Create MyScriptableObject ")]//在unity编辑器中可以在Project中右键,创建一个“ScriptableObject”的文件,
public class ShuJuCunShu : ScriptableObject
{
    //ScriptableObject 是一个可独立于类实例来保存大量数据的数据容器
    //一个对象存储一个数据

    [TextArea(1, 10)] [Header("窗口标题")] public string _title;//创建两个字段,标题
    [TextArea(1, 10)] [Header("窗体内容")] public string _count;//内容
    //上面使用的C#的两个特性: [TextArea(1, 10)] 会让输入框不是一行,可以多行同时输入,方便检查错别字,
    //[Header("窗口标题")] 将“窗口标题”中文显示在Inspector面板中。
}

创建方式创建完成之后可以看到创建的东西。
创建的对象可以右键“Show in Explorer”查看他在文件甲中的位置。也可在在title和count中填入内容查看然后使用记事本打开这个东西,可以看到数据是使用ASCII码存储的。
内部的数据存储
使用:创建完成之后在别的地方使用需要有一个Public的引用

   public ShuJuCunShu A;

然后将创建的ShuJuCunShu对象拖上去。
然后就可以访问到A._title了

   public Text _text;

    private vou Fun()
    {
        _text.tex = A._title;
    }

以后如果要改Text的内容可以直接去上面那个引用的对象里面修改,不用再去代码里面修改了。

设置自己创建的对象

using UnityEngine;

[CreateAssetMenu(fileName = "NewCustomAsset", menuName = "Custom Asset")]
public class CustomAsset : ScriptableObject
{
    [SerializeField]
    public CustomData customData;
    
        [SerializeField]
        public List<CustomData>  customData_List;

}

[System.Serializable]
public class CustomData
{
    public string name;
    public int age;
    public Vector3 position;
        public Image image1;
        public  Image  image2;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值