[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来。
[SerializeField]表示将原本不会被序列化的私有变量和保护变量变成可以被序列化的,那么它们在下次读取的值就是你上次赋值的值。
注释:
-
如果a是公有的序列化变量。
(1)如果你想要在面板中看到变量a,那么用: public int a; (2)如果你不想在面板中看到变量a,那么用: [HideInInspector] public int a; 这样a可以在程序中被代码赋值,但不会在面板中看到,也不能手动设置赋值。 -
如果a是私有的序列化变量,你想在面板中读取并赋值,那么用:
[SerializeField] private int a;
注:序列化的意思是说成员变量在Inspector中显示,并且再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来(当你再在代码中修改变量的值时间,Inspector里面变量的值是不变的,实际代码运行行所用的值也是取得Inspector里面变量的值)。
本文深入解析Unity中序列化属性[HideInInspector]和[Serializable]的作用。[HideInInspector]用于隐藏原本显示在面板上的序列化值,而[Serializable]则使原本不可序列化的私有变量变为可序列化,便于在面板中读取和赋值。文章详细阐述了如何通过这些属性控制变量的可见性和可编辑性。
7499

被折叠的 条评论
为什么被折叠?



