Unity3D :使用切换创建条件 UI
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
使用切换创建条件 UI
此示例使用切换开关创建条件用户界面
示例概述
该示例创建一个具有两个切换开关的自定义编辑器窗口。您可以使用切换开关执行以下操作:
- 显示或隐藏标签
- 激活或停用按钮
您可以在此 GitHub 存储库中找到此示例创建的已完成文件。
创建示例
要创建示例,请执行以下操作:
- 使用任何模板创建 Unity 项目。
- 在项目窗口
,创建一个名为 的文件夹。Editor
- 在该文件夹中,创建一个以以下内容命名的 C# 脚本文件:
EditorToggleExample
using UnityEngine;
using UnityEditor;
using UnityEngine.UIElements;
namespace Samples.Editor.Controls
{
public class ToggleExample : EditorWindow
{
private Toggle showToggle;
private Toggle activateToggle;
private Label labelToShow;
private Button buttonToActivate;
[MenuItem("Window/ToggleExample")]
public static void OpenWindow()
{
var window = GetWindow
window.minSize = new Vector2(200, 170);
EditorGUIUtility.PingObject(MonoScript.FromScriptableObject(window));
}
public void CreateGUI()
{
showToggle = new Toggle("Show label")
{
value = true
};
activateToggle = new Toggle("Active button")
{
value = true
};
labelToShow = new Label("This label is shown when the above toggle is set to On");
buttonToActivate = new Button(() => Debug.Log("Button pressed!"))
{
text = "Active if above toggle is On"
};
rootVisualElement.Add(showToggle);
rootVisualElement.Add(labelToShow);
rootVisualElement.Add(activateToggle);
rootVisualElement.Add(buttonToActivate);
showToggle.RegisterValueChangedCallback(evt => labelToShow.visible = evt.newValue);
activateToggle.RegisterValueChangedCallback(evt => buttonToActivate.SetEnabled(evt.newValue));
}
}
}
由3D建模学习工作室整理翻译,转载请注明出处!