unity HideInInspector与SerializeField

[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来。

[SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值。

1如果a是公有的序列化变量。
1.1如果你想要在面板中看到a,那么用:
public int a;

1.2如果你不想在面板中看到a,那么用:
[HideInInspector]
public int a;
// 这样a可以在程序中被代码赋值,但不会在面板中看到并手动设置赋值。

2 如果a是私有的序列化变量,你想在面板中读取并保存,那么用:
[SerializeField]
private int a;

3.如果a是私有的序列化变量,你想在面板中读取,但是不保存,那么用:
[HideInInspector][SerializedField]
private int a;
public int b{
    get{return a;}
}
然后在Editor中显示,
EditorGUILayout.LabelField("value",game.B.ToString());

4如果a是私有序列化变量,你不想在面板中做任何操作(不想看到,也不想写),但是想要在程序中给它赋值,那么用。
[HideInInspector][SerializedField]
private int a;
public int b{
    get{return a;}
    set{a = value;}
}
时间: 2024-10-13 17:33:05

unity HideInInspector与SerializeField的相关文章

Unity中HideInInspector和SerializeField以及Serializable

首先,Unity会自动为Public变量做序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来. 然后是,什么样的值会被显示在面板上? 已经被序列化,但是没有用HideInInspector标记的值. [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果name是公有的序列化变量.

SerializeField和HideInInspector

在Unity中,一个变量为公有类型,但是呢你不想让它显示在属性面板上,这个时候用 [HideInInspector] 这是隐藏的意思,举例: 用了[HideInInspector] 之后 就是这样用的,还有一个 [SerializeField] 是显示的意思,它用在你的私有变量想在属性面板出现的情况下,这里不演示了 还有一个 [System.Serializable] 这个写在类的外面,为其他的一个类或者枚举写在上面,这样的话呢这个类或者枚举就可以当做变量来使用了

SerializeField等Unity内的小用法

[SerializeField] 在Inspector版面中显示非public属性,并且序列化:若写在public前面,等于没写……(至于序列化是啥,自行脑补……),上图: [NonSerialized]在Inspector版面中隐藏public属性,并且序列化:如果写在非public属性前面,等于没写……,上图: [HideInInspector] 在Inspector版面中隐藏public属性,与上面相比,只是隐藏,没有序不序列化的功能……,上图: [AddComponentMenu("XX

Unity里关于[HideInInspector]23事

在Unity变量定义前面的修饰符,如果是定义为Public公有变量的话则会在inspector窗口中生成对应的调整组件方便开发者在游戏运行时对一些模型进行调用,如: 在inspector中生成的对应的窗口:,一般类型为一个输入框或是可供拖拽的框,如图是著名插件KinectWrapper插件的一段截取. 图中有不同变量对应的在inspertor的调整框 在这其中bool型变量为单选框. 当我们在变量定义前加入[HideInInspector],如图: Unity在解析是就会将inspector中的

unity中可以使一个私有的变量在Inspector面板中显示出来 和 SerializeField的使用

[HideInInspector] 可以使一个公有的变量在Inspector面板中隐藏起来 [SerializeField] 可以使一个私有的变量在Inspector面板中显示出来

2019.10.26 SerializeField等Unity内的小用法

来源:https://www.cnblogs.com/littleYellowDoggy/p/5198668.html [SerializeField] 在Inspector版面中显示非public属性,并且序列化:若写在public前面,等于没写……(至于序列化是啥,自行脑补……),上图: [NonSerialized]在Inspector版面中隐藏public属性,并且序列化:如果写在非public属性前面,等于没写……,上图: [HideInInspector] 在Inspector版面中

unity, use public+[HideInInspector] instead of private

[System.Serializable] public class CmyObj{ .... } public class XXX: MonoBehavior{ [HideInInspector] public CmyObj m_myObj;//use public+[HideInInspector] instead of private, or there will be errors void Start(){ } void Update(){ } }

unity, 非public变量需要加[SerializeField]才能序列化

非public变量需要加[SerializeField]才能序列化 例如: MonoBehaviour中: [SerializeField] private float m_xxx; 在相应的CustomEditor脚本中: SerializedProperty m_xxx= serializedObject.FindProperty ("m_xxx"); m_xxx.floatValue=1.0f;//*** 否则的话***句会报空引用错误.

【转】UGUI实现unity摇杆

http://blog.csdn.net/onafioo/article/details/46403801 http://www.winig.cc/archives/348 好久没有写文章了,最近在做项目是用的unity最新的ui系统UGUI,项目需要做一个摇杆,网上大部分都是用的插件和NGUI做的摇杆,unity自带的摇杆也不怎么好用,而最新的unity4.6.x来了,加入了最新的UI系统"UGUI",那我们怎么用UGUI来制作摇杆呢~大神勿喷,本人是技术渣渣. 比较出色的摇杆插件&