【从零开始学NGUI 】 (四)Slider

首先在Assets->NGUI->Examples->Wooden下

找到Control - Simple Horizontal Slider,并拖拽到Scene中

在Hierarchy窗口,将这个Slider重命名为myHorizontalSlider

运行Unity可以任意滑动这个Slider

如何根据Slider的值来动态的更新一些东西呢?

有两种方法来监听Slider的Value 的变化


第一种:OnValueChange属性

创建一个Label将这个Label拖拽到OnValueChange的Notify上面,当Value的值发生变化时,会通知这个Label,然后在Notify下面的Method选择UILabel->SetCurrentPercent

【从零开始学NGUI 】 (四)Slider_第1张图片

这时再运行,移动Slider时候,这个Label就会相应显示当前的进度



第二种方法,就是自己监听这个值的变化,有些人可能会想到,在Update里面获取这个值就可以了啊,Update每一帧都会执行,不建议这样做

首先要在脚本中获取这个Slider(另一种方法,设置成public对象,然后在Unity界面绑定关系)

public UISlider mySlider;
    
	void Start () {

        GameObject buttonObject = GameObject.Find("testButton");
        UIEventListener.Get(buttonObject).onClick = myTestButtonOnClick;

        mySlider = GameObject.Find("myHorizontalSlider").GetComponent<UISlider>();
       
        EventDelegate.Add(mySlider.onChange, mySliderOnValueChange);
	}
private void mySliderOnValueChange()
    {
        Debug.Log(" my Slider is On Value Change = " + UISlider.current.value);
    }

再次运行,发现只有Slider在滑动的时候会在控制台显示Slider的Value

【从零开始学NGUI 】 (四)Slider_第2张图片



你可能感兴趣的:(【从零开始学NGUI 】 (四)Slider)