2019独角兽企业重金招聘Python工程师标准>>>
该关键字可以将自定义class 显示在inspector 面板上面序列化,
Unity序列化我是这样理解的:相当于new 和 初始化 而不必手动去new 一个class 对象,此外还可以用于磁盘读写 网络传输,
如
using UnityEngine;
using System.Collections;
//[System.Serializable]
public class PlayerData
{public int hp;public int speed;}public class NewBehaviourScript : MonoBehaviour {public PlayerData playerdata;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {Debug.Log(playerdata.hp);}
}
这样的话那你就必须手动new playerdata 这个实例化对象。
注意 申明并不是实例化了一个对象,相当于指针,所以在class PlayerData 加上 可序列化,并且可以在inspector面板 的脚本组件里面 编辑了
从c++的角度也很好理解序列化,对象 也就是内存片段内存片段保存下来了,那么这个对象也被保存下来了