Unity UI基础代码框架
Unity有两种UI大类类描述UGUI主要用于场景内UI,有可视化编辑器Canvas,适用美术布局IMGUI即时模式UI,既可用于场景内,也可用于编辑器面板,没有可视化工具,适用程序代码布局UGUI需要在场景中,通过菜单 GameObject | UI | … 子菜单创建创建之后会自动生成Canvas对象通过Inspector面板可设置UI事件处理,比如Button的OnClick事件可以执行指定
·
Unity有两种UI大类
类 | 描述 |
---|---|
UGUI | 主要用于场景内UI,有可视化编辑器Canvas,适用美术布局 |
IMGUI | 即时模式UI,既可用于场景内,也可用于编辑器面板,没有可视化工具,适用程序代码布局 |
UGUI需要在场景中,通过菜单 GameObject | UI | … 子菜单创建
创建之后会自动生成Canvas对象
通过Inspector面板可设置UI事件处理,比如Button的OnClick事件
可以执行指定对象的MonoBehavior的行为
IMGUI又分四种类型
类 | 命名空间 | 适用场合 | 布局规则 |
---|---|---|---|
GUI | UnityEngine | 场景内 | 指定位置 |
GUILayout | UnityEngine | 场景内 | Layout自动布局 |
EditorGUI | UnityEditor | 编辑器面板,增加了编辑器相关的控件,比如 | 指定位置 |
EditorGUILayout | UnityEditor | 编辑器面板 | Layout自动布局 |
即时模式UI代码位置
EditorWindow.OnGUI
Editor.OnSceneGUI
Editor.OnInspectorGUI
MonoBehavior.OnGUI
public class GUITest : MonoBehaviour {
void OnGUI () {
// 固定布局
GUI.Button (new Rect (25,25,100,30), "I am a Fixed Layout Button");
// 自动布局
GUILayout.Button ("I am an Automatic Layout Button");
}
}
UGUI参考
https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/UICanvas.html
GUI参考:
https://docs.unity3d.com/Manual/gui-Basics.html
EditorGUI参考:
https://docs.unity3d.com/Manual/editor-PropertyDrawers.html
更多推荐
已为社区贡献1条内容
所有评论(0)