Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解

经过学习,发现GUILayout类,EditorGUILayout类在混合使用。并且这两个类有很多的控件并不知到如何使用。下面决定深入学习。

GUILayout

控件列表

Button 按钮

Label 创建一个自动布局标签。

Space 在当前布局组中插入空白元素。

TextArea 创建一个可供用户编辑字符串的多行文本字段。

TextField 创建一个可供用户编辑字符串的单行文本字段。

Toggle 创建一个打开/关闭的开关按钮。

Toolbar 创建一个工具栏。

VerticalScrollbar 创建一个垂直滚动条。

VerticalSlider 用户可以拖动的垂直滑动条,用于在最小值和最大值之间更改某值。

Window 创建一个对自身内容进行自动布局的弹出窗口。

PasswordField 创建一个可让用户输入密码的文本字段。

RepeatButton 创建一个重复按钮。只要用户按住鼠标,该按钮就返回 true。松开就返回false

SelectionGrid 创建一个选择网格。

Space 在当前布局组中插入空白元素。

FlexibleSpace 插入灵活的空白元素。

Box 创建一个自动布局框。

HorizontalScrollbar 创建一个水平滚动条。

HorizontalSlider 用户可以拖动的水平滑动条,用于在最小值和最大值之间更改某值。

GUILayou Option

Width   Height   MinWidth   MinHeight   MaxWidth   MaxHeight   ExpandWidth   ExpandHeight  

基本每个控件方法都有一个可选参数是GUILayoutOption[] Options。比如GUILayout.Width返回的就是GUILayoutOption对象。

 

分组控件

BeginArea 在一个固定的屏幕区域中开始 GUI 控件的 GUILayout 块。

Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解

BeginHorizontal 开始一个水平控件组。

Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解

BeginScrollView 开始一个自动布局的滚动视图。

Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解

需要有一个vector2变量传入,并且返回,来记录移动的位置。

 

BeginVertical 开始一个垂直控件组。 EndArea.... 结束..    

Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解

 

EditorGUILayout

 

分组控件
BeginFadeGroup 开始一个可隐藏/显示的组,并且过渡将生成动画。
BeginHorizontal 开始一个水平组并找回其矩形。
BeginScrollView 开始一个自动布局的滚动视图。
BeginVertical 开始一个垂直组并找回其矩形。
BeginToggleGroup 开始一个垂直组,带有可一次性启用或禁用所有控件的开关。
End..  

 

FadeGroup

Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解

ToggleGroup

Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解Unity Editor 编辑器拓展 02——GUILayout与EditorGUILayout 属性详解

BoundsField 创建用于输入 Bounds 的 Center 和 Extents 字段。
BoundsIntField 创建用于输入 BoundsInt 的 Position 和 Size 字段。
ColorField 创建一个用于选择 Color 的字段。
CurveField 创建一个用于编辑 AnimationCurve 的字段。
DelayedDoubleField 创建一个用于输入双精度浮点数的延迟文本字段。
DelayedFloatField 创建一个用于输入浮点数的延迟文本字段。
DelayedIntField 创建一个用于输入整数的延迟文本字段。
DelayedTextField 创建一个延迟文本字段。
DoubleField 生成一个用于输入双精度值的文本字段。

 

DropdownButton 创建一个能够对鼠标按下做出反应的按钮,用于显示您自己的下拉菜单内容。

 

EnumFlagsField 单击后,系统会为枚举类型的每个值显示带有选项的菜单。
EnumPopup 创建一个枚举弹出选择字段。
FloatField 生成一个用于输入浮点值的文本字段。
Foldout 创建一个左侧带有折叠箭头的标签。
GetControlRect 获取编辑器控件的矩形。
GradientField 创建一个用于编辑 Gradient 的字段。
HelpBox 创建一个带有发送给用户的消息的帮助框。
InspectorTitlebar 创建一个类似于 Inspector 窗口的标题栏。
IntField 创建一个用于输入整数的文本字段。
IntPopup 创建一个整数弹出选择字段。
IntSlider 创建一个滑动条,用户可以进行拖动以在最小值和最大值之间更改整数值。
LabelField 生成一个标签字段。(用于显示只读信息。)
LayerField 创建一个层选择字段。
LongField 创建一个用于输入长整数的文本字段。
MaskField 创建一个适用于掩码的字段。
MinMaxSlider 创建一个特殊滑动条,用户可利用该滑动条指定最小值和最大值之间的一个范围。
ObjectField 生成一个可接收任何对象类型的字段。
PasswordField 创建一个可让用户输入密码的文本字段。
Popup 创建一个通用弹出选择字段。
PrefixLabel 创建一个显示在特定控件前的标签。
PropertyField 为 SerializedProperty 生成一个字段。
RectField 创建用于输入 Rect 的 X、Y、W 和 H 字段。
RectIntField 创建用于输入 RectInt 的 X、Y、W 和 H 字段。
SelectableLabel 生成一个可选择标签字段。(用于显示可复制粘贴的只读信息。)
Slider 创建一个滑动条,用户可以进行拖动以在最小值和最大值之间更改值。
Space 在上一个控件和下一个控件之间留出一个小空间。
TagField 创建一个标签选择字段。
TextArea 创建一个文本区域。
TextField 创建一个文本字段。
Toggle 创建一个开关。
ToggleLeft 创建一个开关字段,其中开关位于左侧,标签紧随其右。
Vector2Field 创建用于输入 Vector2 的 X 和 Y 字段。
Vector2IntField 创建用于输入 Vector2Int 的 X 和 Y 整数字段。
Vector3Field 创建用于输入 Vector3 的 X、Y 和 Z 字段。
Vector3IntField 创建用于输入 Vector3Int 的 X、Y 和 Z 整数字段。
Vector4Field 创建用于输入 Vector4 的 X、Y、Z 和 W 字段。