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元件
- 建立一個物件Canvas,並在Canvas下建立Toggle一個物件。
- 設定元件Toggle的Is On屬性為true。
- 執行遊戲,點選Toggle元件,觀察Toggle元件的選中狀態是否改變。
範例2:使用程式碼控制Toggle元件選的中狀態
- 建立一個Canvas物件在,並Canvas下建立一個Toggle物件。
- 在指令碼中獲取Toggle元件的參照。
- 在程式碼中使用Toggle元件的Is On屬性控制Toggle元件的選中狀態。
using UnityEngine;
using UnityEngine.UI;
public class ToggleExample : MonoBehaviour
{
public Toggle toggle;
private void Start()
{
toggle =.isOn true;
}
}
範例3:使用Toggle元件的事件
- 建立一個Canvas物件,並在下Canvas建立Toggle一個物件。
- 在指令碼中新增一個方法,用於處理Toggle元件的選中狀態改變事件。
- 將該方法系結到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元件的過渡效果
- 建立一個Canvas物件,並在Canvas下建立一個Toggle物件。
- 設定Toggle元件的Transition屬性為Colorint T。
- 設定Toggle元件的Graphic屬性為一個背景影象。
- 執行遊戲,觀察Toggle元件的過渡效果。
範例5:使用Toggle元件的Toggle Group
- 建立一個Canvas物件,並在Canvas下建立兩Toggle個物件。
- 建立一個ToggleGroup物件,並將兩個Toggle物件的Group屬性為設定該ToggleGroup物件。
- 執行遊戲,觀察Toggle元件的選中狀態是否互斥。
注意事項
- Toggle元件必放須在Canvas物件下才能正常顯示。
- Toggle元件的選中狀態可以通過程式碼控制也,可以通過點選切換。
- Toggle元件的選狀態中改變時會觸發相應的事件。
參考資料