Unity Editor GUI: 如何使用 BeginArea 绘制自定义区域并添加 Toggle 和 Text

本教程演示如何在 Unity 编辑器中使用 BeginArea 绘制一个自定义区域,并在该区域内添加自定义的 Toggle 和 Text 元素。

示例代码:

using UnityEngine;
using UnityEditor;

public class MyEditorWindow : EditorWindow
{
    private bool toggle1 = false;
    private bool toggle2 = true;
    private bool toggle3 = false;

    [MenuItem("Window/My Editor Window")]
    public static void ShowWindow()
    {
        GetWindow<MyEditorWindow>("My Editor Window");
    }

    private void OnGUI()
    {
        GUILayout.Label("My Toggles");

        // 绘制一个区域
        GUILayout.BeginArea(new Rect(10, 30, position.width - 20, 80));

        // 绘制自定义的 Toggle1
        toggle1 = GUILayout.Toggle(toggle1, 'Toggle 1');

        // 绘制自定义的 Toggle2
        toggle2 = GUILayout.Toggle(toggle2, 'Toggle 2');

        // 绘制自定义的 Toggle3
        toggle3 = GUILayout.Toggle(toggle3, 'Toggle 3');

        // 绘制自定义的 Text
        GUILayout.Label("Custom Text");

        GUILayout.EndArea();
    }
}

步骤:

  1. 在 Unity 中创建一个新的 C# 脚本,将上面的代码复制到脚本中,并将脚本命名为 MyEditorWindow.cs
  2. 在 Unity 菜单栏中选择 Window -> My Editor Window,就可以打开一个新的自定义编辑器窗口,该窗口中包裹了三个自定义的 Toggle 和一个自定义的 Text。

代码解析:

  • GUILayout.BeginArea() 方法用于绘制一个自定义区域,参数是一个 Rect 对象,用于指定区域的位置和大小。
  • GUILayout.EndArea() 方法用于结束自定义区域的绘制。
  • GUILayout.Toggle() 方法用于绘制一个 Toggle 按钮,第一个参数是当前的 Toggle 状态,第二个参数是 Toggle 的文本。
  • GUILayout.Label() 方法用于绘制一个文本标签,参数是文本内容。

通过以上步骤,您就可以在 Unity 编辑器中使用 BeginArea 绘制自定义区域,并在该区域内添加自定义的 Toggle 和 Text 元素。

Unity Editor GUI: 如何使用 BeginArea 绘制自定义区域并添加 Toggle 和 Text

原文地址: https://www.cveoy.top/t/topic/oM2M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录