📜  设置焦点 ui unity - C# (1)

📅  最后修改于: 2023-12-03 15:12:08.078000             🧑  作者: Mango

设置焦点 UI Unity - C#

在 Unity 中使用 C# 编写脚本时,我们可能需要设置用户界面的焦点。本文将介绍如何使用 C# 代码在 Unity 中设置焦点 UI。

设置焦点

Unity 中的 UI 元素都是 GameObject 对象,我们可以使用 GameObject 对象的 SetFocus() 方法来设置 UI 元素的焦点。

using UnityEngine.UI;

public class SetFocusExample : MonoBehaviour
{
    public Button button;

    void Start()
    {
        button.Select();
    }
}

在上面的示例中,我们首先通过 using UnityEngine.UI 引入了 Button 类型。然后在 Start() 方法中,我们使用 button.Select() 方法来设置 button 对象的焦点。

监听焦点变化

除了设置焦点外,我们还可以监听焦点的变化。Unity 为我们提供了 EventSystem.current.currentSelectedGameObject 属性来获取当前选中的游戏对象。

using UnityEngine.UI;

public class FocusChangeListener : MonoBehaviour
{
    void Update()
    {
        GameObject currentlySelectedGameObject = EventSystem.current.currentSelectedGameObject;
        if (currentlySelectedGameObject != null)
        {
            Debug.Log("当前选中的游戏对象是:" + currentlySelectedGameObject.name);
        }
    }
}

在上面的示例中,我们在 Update() 方法中获取当前选中的游戏对象,并使用 Debug.Log() 方法将其输出到控制台上。

小结

本文介绍了如何使用 C# 代码在 Unity 中设置焦点 UI,并监听焦点的变化。如果您想了解更多关于 Unity 中的 UI 开发的知识,请查看 Unity 官方文档。