Unity3D :使用切换创建条件 UI

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

使用切换创建条件 UI

此示例使用切换开关创建条件用户界面

示例概述

该示例创建一个具有两个切换开关的自定义编辑器窗口。您可以使用切换开关执行以下操作:

  • 显示或隐藏标签
  • 激活或停用按钮

您可以在此 GitHub 存储库中找到此示例创建的已完成文件。

创建示例

要创建示例,请执行以下操作:

  1. 使用任何模板创建 Unity 项目。
  2. 项目窗口
    ,创建一个名为 的文件夹。Editor
  3. 在该文件夹中,创建一个以以下内容命名的 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("Controls: Toggle Sample");
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建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D :创建弹出窗口 (mvrlink.com)

下一篇:Unity3D :创建具有两个属性的自定义控件 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号