教學:在Unity UI Slider的OnValueChanged()中傳遞參數

概述

藉由實作一個會隨著Slider改變而更新文字的UI Text,示範如何在Unity的UI事件中傳遞參數。

版本

  • Unity 2017.1.1p3 (64-bit)

步驟

1. 在UI Text上定義Callback函式

我們需要定義一個,之後要給Slider的OnValueChanged()呼叫的callback函式。需要注意的是,這個函式必須使用一個float參數。然後將這個script加到UI Text上。

[RequireComponent(typeof(Text))]
public class OnValueChangedText : MonoBehaviour
{
    private Text ValueText;

    private void Start()
    {
        ValueText = GetComponent<Text>();
    }

    public void OnSliderValueChanged(float value)
    {
        ValueText.text = value.ToString("0.00");
    }
}

2. 將Callback函式加到Slider的OnValueChanged()

  • 將UI Text物件拖拉到Slider的OnValueChanged()底下欄位。

  • 在函式選單中,選擇位在Dynamic float下方的OnSliderValueChanged()函式。只有符合這個UI事件需要參數的函式才會出現在這裡。

結果

UI Text會收到每個帶有float參數的OnValueChanged()事件,並隨著改變顯示文字。

Leave a Comment