Unity 按鈕點擊設定列舉 enum
分類
建立時間: 2023年9月10日 03:00
更新時間: 2023年11月22日 15:25
概述
在 Unity 按鈕有一個 On Click () 事件,在我寫這篇文章時,很遺憾此事件沒辦法監聽有 enum 參數的方法,本篇要來分享如何解決這個問題。
實作說明
我會示範,如何用按鈕設定遊戲難度。
前置作業
你需要先自行建立兩個按鈕,分別命名 EasyButton 和 NormalButton。
enum 設定 Serializable
如下範例,我習慣將 enum 另外寫成一個腳本,將 enum 加上 Serializable 特性,方便之後可以用 Unity 編輯器設定。
GameDifficultyType.cs
using System;
/// <summary>
/// 遊戲難度
/// </summary>
[Serializable]
public enum GameDifficultyType
{
Easy,
Normal,
Hard,
}
按鈕腳本
此腳本會做為按鈕的組件。
DifficultyButton.cs
using UnityEngine;
using UnityEngine.SceneManagement;
public class DifficultyButton : MonoBehaviour
{
[SerializeField]
private GameDifficultyType gameDifficultyType;
/// <summary>
/// 設定遊戲難度
/// </summary>
public void SetGameDifficulty()
{
// 使用 gameDifficultyType 處理邏輯。
}
}
設定按鈕
如圖所示,將按鈕遊戲物件加上 DifficultyButton 組件,並且設定難度,在 On Click 事件綁定此按鈕的 SetGameDifficulty()
方法。
結論
目前這個辦法看起來比較直觀,我也有看到使用 string 或 int 當作參數,再將參數轉換成 enum,但需要檢查一下就是了,使用哪種方法都行,只要適合當前使用情境就好。
觀看次數: 738
buttonenumunity
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!