Unity技术分享unityUnity技术分享

UGUI Slider onValueChanged事件统一管理

2017-06-23  本文已影响191人  雨落随风

在本文,你将学到如何将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;
        }
    }
}

Debug输出:

test.gif

标签:Unity3D、UGUI、Slider、EventSystem、OnSliderValueChange、AddListener


快捷访问:

  1. Unity3D 如何设置CubeMap
  2. Unity3D UGUI Button OnClick事件统一管理
  3. UGUI Slider onValueChanged事件统一管理 ←您在这里
  4. UGUI Toggle onValueChanged事件统一管理
  5. Unity3D监测按键输入(快捷键)的有效方法
  6. Unity3D Editor模式下的System.IO数据访问
  7. Unity3D 挂载的脚本取消勾选居然还会运行!!
  8. Unity 代码动态勾选或取消材质球上的选项
  9. Unity SerializeField序列化字段导致Bug的跳坑笔记
上一篇下一篇

猜你喜欢

热点阅读