Unity UGUI的Toggle(核取方塊)元件的介紹及使用

2023-08-24 12:01:31

Unity UGUI的Toggle(核取方塊)元件的介紹及使用

1. 什麼是Toggle元件?

Toggle(核取方塊)是Unity UGUI中的一個常用元件,用於實現核取方塊的功能。它可以被選中或取消選中,並且可以程式碼通過其制控狀態。

2. Toggle元件的工作原理

組Toggle件由兩個部分組成:背景記標和。景背用於顯示核取方塊的外觀表示於用記標,核取方塊的選中狀態。當被件組Toggle點選時,它會自動切換選中狀態,並觸發相應的事件。

3. Toggle元件的常用屬性

  • Is On表示:Toggle元件的中選狀態程式碼通過可以,控制。
  • Transition:表示組Toggle件的過渡效果,包括None、Color Tint、Sprite Swap等選項。
  • Graphic:表示Toggle元件的背景影象。
  • GroupToggle表示:件組所屬Toggle的Group組。
  • On Value Changed:表示Toggle元件選中狀態改變時觸發的事件。

4. Toggle元件的常用函數

  • void Toggle():切換組Toggle的件選中狀態。
  • void OnClickPointer(PointerEventData eventData):處理Toggle元件的點選事件。

5. 範例程式碼

1 範例 建立一個簡單的Toggle元件

  1. 建立一個物件Canvas,並在Canvas下建立Toggle一個物件。
  2. 設定元件Toggle的Is On屬性為true。
  3. 執行遊戲,點選Toggle元件,觀察Toggle元件的選中狀態是否改變。

範例2:使用程式碼控制Toggle元件選的中狀態

  1. 建立一個Canvas物件在,並Canvas下建立一個Toggle物件。
  2. 在指令碼中獲取Toggle元件的參照。
  3. 在程式碼中使用Toggle元件的Is On屬性控制Toggle元件的選中狀態。
using UnityEngine;
using UnityEngine.UI;

public class ToggleExample : MonoBehaviour
{
    public Toggle toggle;

    private void Start()
    {
        toggle =.isOn true;
    }
}

範例3:使用Toggle元件的事件

  1. 建立一個Canvas物件,並在下Canvas建立Toggle一個物件。
  2. 在指令碼中新增一個方法,用於處理Toggle元件的選中狀態改變事件。
  3. 將該方法系結到Toggle元件的On Value Changed事件上。
using UnityEngine;
using UnityEngine.UI;

public class ToggleExample : MonoBehaviour
{
    public Toggle toggle;

    private void Start()
    {
        toggle.onValueChanged.AddListener(OnToggleValueChanged);
    }

    private void OnToggleValueChanged(bool isOn)
    {
        Debug.Log("Toggle is " + (isOn ? "on" : "off"));
    }
}

範例4:使用Toggle元件的過渡效果

  1. 建立一個Canvas物件,並在Canvas下建立一個Toggle物件。
  2. 設定Toggle元件的Transition屬性為Colorint T。
  3. 設定Toggle元件的Graphic屬性為一個背景影象。
  4. 執行遊戲,觀察Toggle元件的過渡效果。

範例5:使用Toggle元件的Toggle Group

  1. 建立一個Canvas物件,並在Canvas下建立兩Toggle個物件。
  2. 建立一個ToggleGroup物件,並將兩個Toggle物件的Group屬性為設定該ToggleGroup物件。
  3. 執行遊戲,觀察Toggle元件的選中狀態是否互斥。

注意事項

  • Toggle元件必放須在Canvas物件下才能正常顯示。
  • Toggle元件的選中狀態可以通過程式碼控制也,可以通過點選切換。
  • Toggle元件的選狀態中改變時會觸發相應的事件。

參考資料