拓展编辑器(十四)_常驻辅助UI

  在Scene视图中,我们可以添加EditorGUI,这样可以方便地在视图中处理一些操作事件。这些UI可以无需选择游戏对象,常驻显示在Scene视图中。代码如下:

using UnityEngine;
using UnityEditor;

public class 常驻辅助UI 
{
    [InitializeOnLoadMethod]
    static void InitializeOnLoadMethod()
    {
        SceneView.onSceneGUIDelegate = delegate (SceneView sceneView)
        {
            Handles.BeginGUI();

            GUI.Label(new Rect(0f, 0f, 50f, 15f), "标题");
            GUI.Button(new Rect(0f, 20f, 50f, 50f),
                AssetDatabase.LoadAssetAtPath<Texture>("Assets/unity.png"));


            Handles.EndGUI();
        };

        
            
    }
}

  上述代码中全局监听了SceneView.onSceneGUIDelegate委托,这样可以使用GUI全局绘制元素。注意我们需要在Handles.BeginGUI()和Handles.EndGUI()中间绘制完成我们需要绘制的UI。Handles是在SceneView里画一些能响应用户操作的几何图案,并影响指定的变量数值。效果如下:

  

 

posted @ 2018-11-04 21:16  むふむふ  阅读(480)  评论(0编辑  收藏  举报