Unity有两种UI大类

描述
UGUI主要用于场景内UI,有可视化编辑器Canvas,适用美术布局
IMGUI即时模式UI,既可用于场景内,也可用于编辑器面板,没有可视化工具,适用程序代码布局

UGUI需要在场景中,通过菜单 GameObject | UI | … 子菜单创建
创建之后会自动生成Canvas对象
在这里插入图片描述
通过Inspector面板可设置UI事件处理,比如Button的OnClick事件
在这里插入图片描述
可以执行指定对象的MonoBehavior的行为

IMGUI又分四种类型

命名空间适用场合布局规则
GUIUnityEngine场景内指定位置
GUILayoutUnityEngine场景内Layout自动布局
EditorGUIUnityEditor编辑器面板,增加了编辑器相关的控件,比如指定位置
EditorGUILayoutUnityEditor编辑器面板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

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐