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

来源:互联网 发布:知乎 贫困生 人肉 编辑:程序博客网 时间:2024/04/30 02:24

首先在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


这时再运行,移动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




0 0