📜  unity 获取滚动条值 - C# (1)

📅  最后修改于: 2023-12-03 14:48:12.993000             🧑  作者: Mango

Unity 获取滚动条值 - C#

在Unity中获取滚动条的值十分简单,下面我们将介绍两种获取滚动条值的方式。

方式一

通过Scrollbar组件的value属性获取滚动条的值。以下是获取Scrollbar组件的value属性的示例代码:

using UnityEngine;
using UnityEngine.UI;

public class GetScrollbarValue : MonoBehaviour
{
    public Scrollbar scrollbar;

    private void Start()
    {
        float value = scrollbar.value;
        Debug.Log("Scrollbar value: " + value);
    }
}
方式二

通过EventSystem事件系统中的EventSystem.currentSelectedGameObjectSlider组件的value属性获取滚动条的值。以下是通过EventSystem事件系统和Slider组件获取滚动条的值的示例代码:

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class GetScrollbarValue : MonoBehaviour
{
    private Scrollbar scrollbar;

    private void Update()
    {
        if (EventSystem.currentSelectedGameObject != null && EventSystem.currentSelectedGameObject.GetComponent<Scrollbar>() != null)
        {
            scrollbar = EventSystem.currentSelectedGameObject.GetComponent<Scrollbar>();
        }
        else
        {
            scrollbar = null;
        }
        
        if (scrollbar != null)
        {
            float value = scrollbar.value;
            Debug.Log("Scrollbar value: " + value);
        }
    }
}

以上两种方式都可以用来获取滚动条的值,开发者可根据项目需求进行选择。例如,如果需要在滚动条值发生变化时立即响应,则推荐使用方式一。如果需要在滚动条停止滚动(即没有鼠标或手指操作)时才响应,则推荐使用方式二。

注意:以上示例代码中使用的是Scrollbar组件,如果需要获取Slider组件的值,则只需将示例代码中的Scrollbar替换为Slider即可。