Unity UI基礎程式碼框架
阿新 • • 發佈:2021-02-11
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/[email protected]/manual/UICanvas.html
GUI參考:
https://docs.unity3d.com/Manual/gui-Basics.html
EditorGUI參考:
https://docs.unity3d.com/Manual/editor-PropertyDrawers.html