U1L3——Inspector窗口可编辑变量
U1L3——Inspector窗口可编辑变量
使用 Inspector 窗口可对 Unity 编辑器中几乎所有内容(包括游戏对象、Unity 组件、资源、材质)查看和编辑属性和设置,
以及查看和编辑编辑器内的设置和首选项。
本章代码关键字
1 | [//强转序列化字段特性,使私有变量或保护变量一样在Inspector窗口上显示 ] |
Inspector窗口可编辑变量
Inspector显示的可编辑内容就是脚本的成员变量
如果想要让一个脚本在Inspector窗口的显示更加的自定义,请参考:UEDL7——Inspector窗口拓展
私有变量和保护变量的显示
私有或者保护变量无法显示编辑
1 | private int i1; |
如果想要让私有或者保护变量也可以被显示编辑
需要加上强转序列化字段特性:[SerializeField]
所谓序列化就是把一个对象保存到一个文件或者数据库字段中去
1 | [ ] |
脚本的公共变量
公共的可以显示编辑
1 | public int publicInt = 10; |
若要让公共变量不在Unity编辑器内显示编辑
则要在变量前加上特性:[HideInInspector]
1 | [ ] |
能显示编辑的类型
1 | public enum E_TestEnum |
1 | public int[] array; //数值 |
字典是不能被显示的
1 | //字典是不能被显示的 |
自定义类型也不能直接被显示
1 | //自定义类型也不能直接被显示 |
若要让自定义类型可以被访问,需要为自定义类型加上序列化特性,
这里不会自动引用命名空间,需要自己指明出处:[System.Serializable]
注意!字典怎么都不能显示
1 | [ ] |
注意!
Inspector窗口中的变量关联的就是对象的成员变量,运行时改变他们就是在改变成员变量
拖曳到GameObject对象后,再改变脚本默认值,界面上不会改变
运行中修改的信息不会保存,如果需要变为默认值则需要Reset组件
辅助特性
分组说明特性Header
为成员分组:Header特性
[Header("分组说明")]
1 | [ ] |
悬停注释Tooltip
为变量添加说明:[Tooltip("说明内容")]
1 | [ ] |
间隔特性 Space()
让两个字段出现间隔:[Space()]
1 | [ ] |
修饰数值的滑条范围
[Range(最小值,最大值)]
1 | [ ] |
多行显示字符串
默认不写参数显示3行,写参数就是对应行:[Multiline(4)]
1 | [ ] |
滚动条显示字符串
默认不写参数就是超过3行显示滚动条,[TextArea(3, 4)]
最少显示3行,最多4行,超过4行显示滚动条
1 | [ ] |
为变量添加快捷方法
[ContextMenuItem("显示按钮名", "方法名")]
- 参数1 显示变量名
- 参数2 方法名 不能有参数
1 | [ ] |
为方法添加特性能够在Inspector中执行
[ContextMenu("测试函数")]
1 | [ ] |