在本文,你將學到如何將UGUI Slider的onValueChanged事件進行統一管理。
using System; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class UIManager : MonoBehaviour { public Slider[] Sliders; //滑塊集合 private void Start() { foreach (Slider item in Sliders) //為各個Slider注冊事件; { //其實Value可以不用傳過去,因為這個值可以從item中獲取; item.onValueChanged.AddListener((float value)=>OnSliderValueChange(value,item)); } } // 同統一管理Slider,被拖動時,會執行各自的command private void OnSliderValueChange(float value,Slider EventSender) { switch (EventSender.name) { case "01": Debug.Log("Slider01"+":"+value.ToString("f2")); break; case "02": Debug.Log("Slider02"+":"+value.ToString("f2")); break; case "03": Debug.Log("Slider03"+":"+value.ToString("f2")); break; } } }
原:UGUI Slider onValueChanged事件統一管理 - 簡書 https://www.jianshu.com/p/91951b197d56