Unity Editor GUI: 如何使用 BeginArea 绘制自定义区域并添加 Toggle 和 Text
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();
}
}
步骤:
- 在 Unity 中创建一个新的 C# 脚本,将上面的代码复制到脚本中,并将脚本命名为
MyEditorWindow.cs。 - 在 Unity 菜单栏中选择
Window -> My Editor Window,就可以打开一个新的自定义编辑器窗口,该窗口中包裹了三个自定义的 Toggle 和一个自定义的 Text。
代码解析:
GUILayout.BeginArea()方法用于绘制一个自定义区域,参数是一个Rect对象,用于指定区域的位置和大小。GUILayout.EndArea()方法用于结束自定义区域的绘制。GUILayout.Toggle()方法用于绘制一个 Toggle 按钮,第一个参数是当前的 Toggle 状态,第二个参数是 Toggle 的文本。GUILayout.Label()方法用于绘制一个文本标签,参数是文本内容。
通过以上步骤,您就可以在 Unity 编辑器中使用 BeginArea 绘制自定义区域,并在该区域内添加自定义的 Toggle 和 Text 元素。
原文地址: https://www.cveoy.top/t/topic/oM2M 著作权归作者所有。请勿转载和采集!