0
使用SerializeField
属性会导致Unity序列化任何private
变量。这并不适用于c#中的静态变量和属性。
当你需要你的变量是私有的,但又希望它显示在编辑器中时,你可以使用SerializeField
属性。
例如,这不会在编辑器中显示:
private float score;
这是因为它是一个private
变量,但是下面的变量会在编辑器中显示:
[SerializeField]
private float score;
那是因为对它应用了SerializeField,并且告诉Unity对其进行序列化然后将其显示在编辑器中。
注意,private
变量在c#中的作用要比Unity大得多,还有public
变量。将变量标记为private
意味着你不希望另一个脚本能够访问该变量。将变量标记为public
意味着你希望其他脚本能够访问该变量。
有时,你希望其他脚本能够从另一个脚本访问变量,但不希望公共变量显示在编辑器中。 你可以使用[HideInInspector]
属性隐藏公共变量。
这将在编辑器中显示:
public float score;
这不会在编辑器中显示:
[HideInInspector]
public float score;
收藏