在本文,你將學到如何將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
