赞
踩
经过学习,发现GUILayout类,EditorGUILayout类在混合使用。并且这两个类有很多的控件并不知到如何使用。下面决定深入学习。
每种都有自己的排列控件。
GUI主要是组,GUI.BeginGroup。
组是固定布局模式中的布局规则。使用组可以定义包含多个控件的屏幕区域。为定义组中包含的控件,需要使用 GUI.BeginGroup() 和 GUI.EndGroup() 函数。组内的所有控件将根据组的左上角而不是屏幕的左上角进行定位。因此,如果在运行时重新定位组,则将保持组中所有控件的相对位置。
例如,在屏幕上使多个控件居中非常容易。
GUILayout主要是区域,GUILayout.BeginArea。
区域仅用于自动布局模式。区域定义了有限的屏幕区域来包含 GUILayout 控件,因此在功能上类似于固定布局组。由于自动布局的性质,几乎始终要用到区域。
在自动布局模式下,不需要在控制级别定义绘制控件的屏幕区域。控件将自动放置在包含该控件的区域的最左上角。此区域可能是指屏幕。此外也可以创建手动定位的区域。一个区域内的 GUILayout 控件将放置在该区域的最左上角。
还有垂直和水平。
https://docs.unity.cn/cn/current/Manual/gui-Layout.html
Button 按钮
Label 创建一个自动布局标签。
Space 在当前布局组中插入空白元素。
TextArea 创建一个可供用户编辑字符串的多行文本字段。
TextField 创建一个可供用户编辑字符串的单行文本字段。
Toggle 创建一个打开/关闭的开关按钮。
Toolbar 创建一个工具栏。
VerticalScrollbar 创建一个垂直滚动条。
VerticalSlider 用户可以拖动的垂直滑动条,用于在最小值和最大值之间更改某值。
Window 创建一个对自身内容进行自动布局的弹出窗口。
PasswordField 创建一个可让用户输入密码的文本字段。
RepeatButton 创建一个重复按钮。只要用户按住鼠标,该按钮就返回 true。松开就返回false
SelectionGrid 创建一个选择网格。
Space 在当前布局组中插入空白元素。
FlexibleSpace 插入灵活的空白元素。
Box 创建一个自动布局框。
HorizontalScrollbar 创建一个水平滚动条。
HorizontalSlider 用户可以拖动的水平滑动条,用于在最小值和最大值之间更改某值。
Width Height MinWidth MinHeight MaxWidth MaxHeight ExpandWidth ExpandHeight
基本每个控件方法都有一个可选参数是GUILayoutOption[] Options。比如GUILayout.Width返回的就是GUILayoutOption对象。
BeginArea 在一个固定的屏幕区域中开始 GUI 控件的 GUILayout 块。
BeginHorizontal 开始一个水平控件组。
BeginScrollView 开始一个自动布局的滚动视图。
需要有一个vector2变量传入,并且返回,来记录移动的位置。
BeginVertical 开始一个垂直控件组。 EndArea.... 结束..
BeginFadeGroup | 开始一个可隐藏/显示的组,并且过渡将生成动画。 |
BeginHorizontal | 开始一个水平组并找回其矩形。 |
BeginScrollView | 开始一个自动布局的滚动视图。 |
BeginVertical | 开始一个垂直组并找回其矩形。 |
BeginToggleGroup | 开始一个垂直组,带有可一次性启用或禁用所有控件的开关。 |
End.. |
FadeGroup
ToggleGroup
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 字段。 |
class in UnityEngine
GUI 类是 Unity GUI 的接口,并且具有手动定位功能。
另请参阅:GUI 教程。
backgroundColor | 用于 GUI 渲染的所有背景元素的全局着色颜色。 |
changed | 如果任何控件更改了输入数据的值,则返回 true。 |
color | GUI 的全局着色颜色。 |
contentColor | 为 GUI 渲染的所有文本着色。 |
depth | 当前正在执行的 GUI 行为的排序深度。 |
enabled | 是否启用了 GUI? |
matrix | GUI 变换矩阵。 |
skin | 要使用的全局皮肤。 |
tooltip | 鼠标指针当前悬停在其上或具有键盘焦点的控件的工具提示。(只读) |
BeginGroup | 开始一个组。必须与 EndGroup 调用配对使用。 |
BeginScrollView | 在 GUI 内开始一个滚动视图。 |
Box | 在 GUI 层上创建一个框。 |
BringWindowToBack | 将特定窗口放置到该浮动窗口的后方。 |
BringWindowToFront | 将特定窗口放置到该浮动窗口的前方。 |
Button | 创建一个单击按钮。当用户点击该按钮时,立即执行一些操作。 |
DragWindow | 使窗口可被拖动。 |
DrawTexture | 在一个矩形内绘制纹理。 |
DrawTextureWithTexCoords | 使用给定的纹理坐标在矩形内绘制纹理。 |
EndGroup | 结束组。 |
EndScrollView | 结束使用 BeginScrollView 调用开始的滚动视图。 |
FocusControl | 将键盘焦点移动到某个命名控件。 |
FocusWindow | 使某个窗口成为激活窗口。 |
GetNameOfFocusedControl | 获取具有焦点的命名控件的名称。 |
HorizontalScrollbar | 创建一个水平滚动条。滚动条是用于滚动文档的控件。大多数情况下,您需要的可能是滚动视图。 |
HorizontalSlider | 用户可以拖动的水平滑动条,用于在最小值和最大值之间更改某值。 |
Label | 在屏幕上创建一个文本或纹理标签。 |
ModalWindow | 显示一个模态窗口。 |
PasswordField | 创建一个可让用户输入密码的文本字段。 |
RepeatButton | 创建一个只要用户按住就一直处于激活状态的按钮。 |
ScrollTo | 滚动包含的所有滚动视图,让它们尝试使 position 可见。 |
SelectionGrid | 创建一个按钮网格。 |
SetNextControlName | 设置下一个控件的名称。 |
TextArea | 创建一个可供用户编辑字符串的多行文本区域。 |
TextField | 创建一个可供用户编辑字符串的单行文本字段。 |
Toggle | 创建一个打开/关闭的开关按钮。 |
Toolbar | 创建一个工具栏。 |
UnfocusWindow | 从所有窗口移除焦点。 |
VerticalScrollbar | 创建一个垂直滚动条。滚动条是用于滚动文档的控件。大多数情况下,您需要的可能是滚动视图。 |
VerticalSlider | 用户可以拖动的垂直滑动条,用于在最小值和最大值之间更改某值。 |
Window | 创建一个弹出窗口。 |
WindowFunction | 在窗口中绘制 GUI 的回调(与 GUI.Window 配合使用)。 |
class in UnityEditor
这些方法的运行方式与常规 GUI 函数十分相似,并且在 EditorGUILayout 中也有匹配实现。
actionKey | 是否按住了平台相关的“action”修改键?(只读) |
indentLevel | 字段标签的缩进级别。 |
showMixedValue | 使后续控件呈现出编辑多个不同值的外观。 |
BeginChangeCheck | 检查代码块中是否有任何控件被更改。 |
BeginDisabledGroup | 创建一组可禁用的控件。 |
BeginProperty | 创建一个属性封装器,可用于使常规 GUI 控件与 SerializedProperty 配合使用。 具体见PropertyDrawer |
BoundsField | 创建用于输入 Bounds 的 Center 和 Extents 字段。 |
BoundsIntField | 创建用于输入 BoundsInt 的 Position 和 Size 字段。 |
CanCacheInspectorGUI | 确定能否缓存 SerializedProperty 的检视面板 GUI。 |
ColorField | 创建一个用于选择 Color 的字段。 |
CurveField | 生成一个用于编辑 AnimationCurve 的字段。 |
DelayedDoubleField | 创建一个用于输入双精度浮点数的延迟文本字段。 |
DelayedFloatField | 创建一个用于输入浮点数的延迟文本字段。 |
DelayedIntField | 创建一个用于输入整数的延迟文本字段。 |
DelayedTextField | 创建一个延迟文本字段。 |
DoubleField | 生成一个用于输入双精度浮点数的文本字段。 |
DrawPreviewTexture | 在矩形内绘制纹理。 |
DrawRect | 在当前编辑器窗口中的指定位置以指定大小绘制一个着色的矩形。 |
DrawTextureAlpha | 在矩形内绘制纹理的 Alpha 通道。 |
DropdownButton | 创建一个能够对鼠标按下做出反应的按钮,用于显示您自己的下拉菜单内容。 |
DropShadowLabel | 绘制带有投影的标签。 |
EndChangeCheck | 结束由 BeginChangeCheck () 开始的更改检查。 |
EndDisabledGroup | 结束由 BeginDisabledGroup 开始的禁用组。 |
EndProperty | 结束由 BeginProperty 开始的属性封装器。 |
EnumFlagsField | Displays a menu with an option for every value of the enum type when clicked. An option for the value 0 with name "Nothing" and an option for the value ~0 (that is, all bits set) with the name "Everything" are always displayed at the top of the menu. The names for the values 0 and ~0 can be overriden by defining these values in the enum type. |
EnumPopup | 创建一个枚举弹出选择字段。 |
FloatField | 创建一个用于输入浮点数的文本字段。 |
FocusTextInControl | 将键盘焦点移动到指定的文本字段,并开始编辑内容。 |
Foldout | 创建一个左侧带有折叠箭头的标签。 |
GetPropertyHeight | 获取 PropertyField 控件所需的高度。 |
GradientField | 创建一个用于编辑 Gradient 的字段。 |
HandlePrefixLabel | 为一些控件创建一个标签。 |
HelpBox | 创建一个带有发送给用户的消息的帮助框。 |
InspectorTitlebar | 创建一个类似于 Inspector 窗口的标题栏。 |
IntField | 创建一个用于输入整数的文本字段。 |
IntPopup | 创建一个整数弹出选择字段。 |
IntSlider | 创建一个滑动条,用户可以进行拖动以在最小值和最大值之间更改整数值。 |
LabelField | 创建一个标签字段。(用于显示只读信息。) |
LayerField | 创建一个层选择字段。 |
LongField | 创建一个用于输入长整数的文本字段。 |
MaskField | 创建一个适用于掩码的字段。 |
MinMaxSlider | 创建一个特殊滑动条,用户可利用该滑动条指定最小值和最大值之间的一个范围。 |
MultiFloatField | 创建一个带有文本字段的多控件,用于在同一行中输入多个浮点值。 |
MultiIntField | 创建一个带有文本字段的多控件,用于在同一行中输入多个整数。 |
MultiPropertyField | 创建一个在同一行中包含多个属性字段的多控件。 |
ObjectField | 创建一个对象字段。您可以通过拖放对象或使用对象选择器选择对象来分配对象。 |
PasswordField | 创建一个可让用户输入密码的文本字段。 |
Popup | 创建一个通用弹出选择字段。 |
PrefixLabel | 创建一个显示在特定控件前的标签。 |
ProgressBar | 创建一个进度条。 |
PropertyField | 使用此方法在编辑器中针对 SerializedProperty 创建一个字段。 |
RectField | 创建用于输入 Rect 的 X、Y、W 和 H 字段。 |
RectIntField | 创建用于输入 RectInt 的 X、Y、W 和 H 字段。 |
SelectableLabel | 创建一个可选择标签字段。(用于显示可复制粘贴的只读信息。) |
Slider | 创建一个滑动条,用户可以进行拖动以在最小值和最大值之间更改值。 |
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 字段。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。