U4S2L3——ScriptableObject 非持久数据
U4S2L3——ScriptableObject 非持久数据
本章代码关键字
1 | ScriptableObject.CreateInstance<>() //在运行时创建出指定继承ScriptableObject的对象,该对象只存在于内存当中,可以被GC |
ScriptableObject的非持久化数据
ScriptableObject的非持久化数据指的是,不管在编辑器模式还是在发布后都不会持久化的数据
我们可以根据自己的需求随时创建对应数据对象进行使用,就好像直接new一个数据结构类对象
利用ScriptableObject生成非持久化的数据
利用ScriptableObject
中的静态方法CreateInstance<>()
该方法可以在运行时创建出指定继承ScriptableObject
的对象
该对象只存在于内存当中,可以被GC
调用一次就创建一次
1 | using UnityEngine; |
通过这种方式创建出来的数据对象,
它里面的默认值,将不会受到脚本中设置的影响这意味着你在Inspector窗口为脚本变量拖曳关联的对象在这里都是空
(右图的值都是不是脚本设置的默认值)
ScriptableObject的非持久化数据存在的意义
当你只是希望在运行时能有一组唯一的数据可以使用,但是这个数据又不太希望保存为数据资源文件浪费硬盘空间
那么ScriptableObject的非持久化数据就有了存在的意义
它的特点是:只在运行时使用,在编辑器模式下也不会保存在本地
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!