Unity核心概念③:Inspector窗口可编辑变量
一、Inspector窗口可编辑变量的本质
Inspector窗口显示的可编辑内容就是脚本的成员变量。
二、Inspector窗口可编辑变量的字段特性
1.私有和保护的无法显示编辑,如:
private int i;
protected string str;
2.让私有和保护的变量也可以被显示,需要在变量前加上强制序列化字段特性。(序列化是指把一个对象保存的一个文件或数据库的字段中)
[SerializeField]//强制序列化字段
3.公共的可以显示和编辑
public int i = 0;
public bool B = false;
4.可以不让公共的显示和编辑,需要在变量前加上特性:
[HideInInspeactor]
public int i = 0;
public bool B = false;
5.让自定义类型可以被访问,需要加上特性:
[System.Serializable]
三、Inspector窗口可编辑变量的辅助特性
1.分组说明特性,为成员分组。
[Header("分组说明")]
2.悬停注释,为变量添加说明,当鼠标悬停在Inspector窗口中的变量上会显示说明。
[Tooltip("说明内容")]
3.间隔特性,让两个字段出现间隔。
[Space()]
4.修饰数值的滑条范围。
[Range(0,10)]//设置滑条可滑动到的最小值为0,最大值为10
5.多行显示字符串,括号中不写参数默认显示3行。
[Multiline(4)]//显示4行
6.滚动条显示字符串,括号中不写参数默认超过三行显示滑动条。
[TextArea(3,4)]//最少显示3行,最多显示4行,超过四行就显示滚动条
7.为变量添加快捷方法,方法名不能有参数。
[ContextMenuItem("显示按钮名","方法名")]
8.为方法添加特性能够在Inspector中执行。
[ContextMenu("测试函数")]
注意:
1.Inspector窗口中的变量关联的就是对象的成员变量,运行时改变他们就是在改变成员变量。
2.拖拽到游戏对象后,再改变脚本中的变量默认值,界面上不会改变。
3.运行中修改的信息不会保存。