他会让 你的类显示在 inspector 面板上
举个例子
你写了一个类
public class ScriptCopy
{
public string nameA1;
public string nameA2;
public string nameA3;
}
另一个类引用了他
public class Test : MonoBehaviour
{
public string MyName;
public ScriptCopy scriptCopy;
}
把 Test 拖到gameobject上 这个时候 inspector 面板上显示的是这样的
没有scriptCopy对象
这时候加工一下 ScriptCopy类
using System;
[Serializable]
public class ScriptCopy
{
public string nameA1;
public string nameA2;
public string nameA3;
private string nameA4;
}
然后就变成这样了
嘿 神不神奇?
但是nameA4是不显示的
希望他也显示 咋办?
using System;
using UnityEngine;
[Serializable]
public class ScriptCopy
{
public string nameA1;
public string nameA2;
public string nameA3;
[SerializeField]
private string nameA4;
}
这样就可以啦
记住
加Serializable要using System
加SerializeField 要using UnityEngine
你写上的那些内容 不会消失 你有没有想过 他们都存哪里了?
打开这个场景的文件 文本打开就可以看到这个
所以都存场景文件里了
如果存的是一个gameobject呢?
而这个gameobject 的定义是这样的
场景文件用的是 YAML 格式
—是代表一个单独文件的意思 具体看下面这个