Unity实用属性(Attribute)
- 因为unity主要用c#语言,而c#语言具有强大的属性(Attribute)功能。今天就来讲讲一些unity的实用属性。
- RequireComponent:约束组件
- SerializeField:序列化区域
- Range(float min, float max):区域约束
- Tooltip(string tooltip):提示
- Space(float height):间隔
- Header(string header):显示文字
- Multiline(int lines):多行文本框
- TextArea(int minlines, int maxlines):多行文本框(滑动条)
- ContextMenu(string item):组件菜单
- DisallowMultipleComponent:不能在一个对象上重复添加该脚本
- AddComponentMenu(string menuItem):在Component菜单中添加一项
- 以后补充
因为unity主要用c#语言,而c#语言具有强大的属性(Attribute)功能。今天就来讲讲一些unity的实用属性。
RequireComponent:约束组件
实用方法:[RequireComponent(typeof(Rigidbody))]
在某个自定类(派生于MonoBehavior
)前写上这个属性,
那么当附加该组件的时候,会强制自动添加组件typeof(Rigidbody)
RequireComponent约束的组件。是不能删除的。除非先删除当前自定义脚本。
PS:可以多个 typeof()
SerializeField:序列化区域
实用方法:[SerializeField]
写在(派生于MonoBehavior
)类中的变量上,实际效果如同变量前加个 public
。
好处就是,你可以给变量定义成私有或者保护,并且显示在Inspector
中。
Range(float min, float max):区域约束
实用方法:[Range(1, 5)]
写在(派生于MonoBehavior
)类中的变量上。
这时,该变量在Inspector
区域内显示成一个拖动条。
PS:也可以写在数组变量上。
Tooltip(string tooltip):提示
实用方法:[Tooltip(“这就是测试”)]
写在(派生于MonoBehavior
)类中的变量上。
这时,当鼠标移动到Inspector
区域的该变量上,会出现一个提示。
Space(float height):间隔
实用写法:[Space(60)]
写在(派生于MonoBehavior
)类中的变量上。
这时,该变量在Inspector
区域内将于上一个变量之间空开60像素。
Header(string header):显示文字
实用写法:[Header(“显示字符串”)]
写在(派生于MonoBehavior
)类中的变量上。
这时,该变量在Inspector
区域的显示上一行中显示显示字符串
。
Multiline(int lines):多行文本框
实用写法:[Multiline(5)]
写在(派生于MonoBehavior
)类中的string
变量上。
这时,该变量在Inspector
区域的显示为一个多行编辑框。
TextArea(int minlines, int maxlines):多行文本框(滑动条)
实用写法:[TextArea(1,7)]
写在(派生于MonoBehavior
)类中的string
变量上。
这时,该变量在Inspector
区域的显示为一个多行编辑框,超出了最大行,就会显示滚动条。
ContextMenu(string item):组件菜单
实用写法:[ContextMenu(“ShowName”)]
写在(派生于MonoBehavior
)类中的方法上。
这时,挂有该脚本的对象的Inspector
的脚本的右上角三个点的按钮中多出一个菜单按钮。
DisallowMultipleComponent:不能在一个对象上重复添加该脚本
实用写法:[DisallowMultipleComponent]
写在(派生于MonoBehavior
)类上。
这时,挂有该脚本的对象不能再挂这个类。
AddComponentMenu(string menuItem):在Component菜单中添加一项
实用写法:[AddComponentMenu(“新功能/生成cs文件”)]
写在(派生于MonoBehavior
)类上。
这时,在菜单Component
中出现了你的自定义的菜单按钮。
以后补充