OnGUI
纯使用代码绘制 GUI,相比 UGUI
好处是 工作量少,移植方便,兼容性好。
缺点是 没法所见即所得,不美观,没法实现复杂的功能。
四个绘制控件工具类
这四个类都能绘制控件,绘制的控件类型,环境有所区别。
GUI
GUILayout
EditorGUI
EditorGUILayout
名词解释
Editor : 只能运行在编辑器中,不加可运行于任何时
Layout : 自定义布局,可以省去参数定位布局位置
总结
从上到下限定越来越严格
下部分依赖于上部分实现
所以一般来说 EditorGUILayout 是最好用的,可用区域最小的。
所以绘制工具类选择的优先级为从下到上
所有控件
所有控件包括
scrollView
Scrollbar
Slider
window
toggle
button
textArea
textField
label
box
绘制样式
获取当前的 GUI 所有控件样式
GUI.Skin
也可以获取 Unity 内置的 OnGUI 样式
EditorStyles
样式表
GUIStyle
每种控件的样式表设置都不一样
可以在绘制控件时单独指定样式表,
也可以统一设置某种控件的样式表。
控件内容
GUIContent
一个控件内可以有一个控件内容 GUIContent,控件会自动布局 GUIConetent ,可以由三部分组成 text,image,tooltip。
一般在绘制控件的 API 中,可以简化 CUIContent 的实例化,直接传入 text,内部自动将其实例化为 GUIContent
布局辅助类
GUILayoutOption
让 GUILayout 可以进行一些自定义的布局。
从 GUILayout 设置一些当前控件对布局的影响即可, 获取 GUILayoutOption 即可
最后更新于