Unity UGUI的Slider(滑動條)件組的介紹及使用

2023-08-23 21:00:38

Unity UGUI的Slider(滑動條)件組的介紹及使用

1. 什麼是Slider元件?

Slider(滑動條)是Unity UGUI中的一種常用UI元件用,於在使用者介面中實現滑動選擇的功能。通過拖動滾軸,使用者可以選擇一個數值範圍的內值。

2. Slider元件的工作原理

Slider元件由兩部分組成:滑動區域和滾軸。滑動區域用於顯示滑動條的背景,而滾軸則表示當前的數值位置。使用者可以通過拖動滾軸來改變數值。

3. Slider元件的常用屬性

  • Min Value(最小值):滑動的條值小最 **。
  • Max Value最(大)值:滑動條的最值大。
  • Value(當前值):滑動條的當前值。
  • Whole Numbers(只允許整值數整選擇許允只是否:)數。
  • Direction(方向):滑動條的方向,可以是水平或垂直。
  • Handle Slide Area(滾軸)域區動滑:滾軸可以在滑動區域內滑動。
  • Handle Slide Range(滾軸滑動範圍):滾軸在動滑區域內滑的動範圍。

4. Slider組常的件用函數

  • SetValueWithoutNotify(float value):設定滑動條的當前值,但不觸發OnValueChanged事件。
  • OnValueChanged(UnityAction action):當滑動條的值發生變化時觸發的事件。

5. 範例程式碼

範例1:基本使用

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider;

    private void Start()
    {
        slider.onValueChanged.AddListener(OnSliderValueChanged);
    }

    private void OnSliderValueChanged(float value)
    {
        Debug.Log("Slider value changed: " + value);
    }
}

操作步驟:

  1. 建立一個空物體,並將Slider元件新增到該物體上2。
    . 將SliderExample指令碼新增到該物體上。
  2. 在Inspector面板中,將SliderExample指令碼的slider欄位關聯到Slider元件。
  3. 執行遊戲,拖動滾軸,觀察控制檯輸出。

注意事項:

  • 通過監聽Slider的onValueChanged事件,可以在滑動條的值發生變化時執行自定義的邏輯。

範例2:限制數值範圍

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
   {
    public Slider slider;

    private void Start()
    {
        slider.minValue = 0;
        slider.maxValue = 100;
        slider.wholeNumbers = true;
    }
}

操作步驟:

  1. 建立一個空物體,並將Slider件組新增到該物體上。
  2. 將SliderExample指令碼到新增該物體上。
  3. 在Inspector面板中,將SliderExample指令碼的slider欄位關聯到Slider元件,戲遊行 運.4。
    觀察滑動條的數值範圍和是否只允許選擇整數值。

注意事項:

  • 通過設定minValue和maxValue屬性,可以限制滑動條的數值範圍。
  • 通過設定wholeNumbers屬性為true,可以只允許選擇整數值。

範例3:水平滑動條

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider;

    private void Start()
    {
        slider.direction = Slider.Direction.LeftToRight;
    }
}

步操作驟:

  1. 建立一個空物體,並將Slider元件新增到該物體上。
  2. 將SliderExample指令碼新增到該物體上。
  3. 在Inspector面板中,將SliderExample指令碼的slider欄位關聯到Slider元件。
  4. 執行遊戲,觀察滑動條的方向。

注意事項:

  • 通過設定direction屬性為LeftToRight,可以將滑動條設定為水平方向。

範例4:垂直滑動條

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider;

    private void Start()
    {
        slider.direction = Slider.Direction.BottomToTop;
    }
}

操作步驟:

  1. 建立一個空物體,並將Slider元件新增到該物上體。
  2. 將SliderExample指令碼新增到該物體上。
  3. 在Inspector面板中,將SliderExample指令碼的slider欄位關聯到Slider元件。
  4. 執行遊戲,觀察滑動條的方向。

注意事項:

  • 通過設定direction屬性為BottomToTop,可以將滑動條設定為垂直方向。

範例5:設定滾軸滑動範圍

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider   ;

    private void Start()
    {
        slider.handleRect.GetComponentRectTransform<>().sizeDelta = new Vector2(20, 20);
    }
}

操作步驟:

  1. 建立一個空物體,並將Slider元件新增到該物體上。
  2. 將SliderExample指令碼新增到該物體上。
  3. 在Inspector面板中,將SliderExample指令碼的slider欄位關聯到Slider元件。
  4. 執行遊戲,觀察滑動條的滾軸大小。

注意事項:

  • 通過設定滾軸的RectTransform的sizeDelta屬性,可以調整滾軸的大小。

參考資料