Scriptableobject使用

来源:互联网 发布:linux tail f 搜索 编辑:程序博客网 时间:2024/06/06 07:40

Scriptableobject是什么

官方脚本API解释:

 A class you can derive from if you want to create objects that don't need to be attached to game objects.This is most useful for assets which are only meant to store data.

如果你想创建不需要附加到游戏对象的对象,你可以派生一个类。
这对于只用于存储数据的资产最有用。

  1. 就是创建一个类例如MyObject继承Scriptableobject对象即可。
public class MyObject:ScriptableObject{    public string name; }

2.然后就可以创建一个MyObject的资产了,MyObject比较简单只保存了一个字符串。真实项目中可以保存物品信息(名称呀,GameObject呀。。)。
3. 如何创建呢?
存储数据的资产可以在不运行的情况下进行保存数据。

  public class DataEditor:EditorWindow  {      [MenuItem("Hidden/CreateDatas")]      public static void ExcuteBuild()      {          //创建          MyObject obj = Scriptableobject.CreateInstance<MyObject>();        //保存到Assets/Resources/ 程序运行时可以读取数据        obj.name="你好";        AssetDatabase.CreateAsset(obj,"Assets/Resources/ myobject.asset");      }  }  ```
  1. 程序运行时就可以用到了。
MyObject object=Resources.Load<MyObject >(myobject);

5.例子中的有点简单,如果想存储大量数据的话就可以这么用啦。我用的是从Excel表格里读取数据,如果在运行读取的话首先表格的数据不安全可以修改,其次就是读取表格的速度很慢滴,如果是asset资产的话就会好点。

0 0
原创粉丝点击