今天浅谈一下UIButton,UIButton是NGUI中的按钮,已经被做成了预制件,使用起来非常方便,所以我就讲一下在使用过程中的经验。首先创建Button,步骤是NGUI->Open->Widget Wizard,打开WidgetTool窗口后,先选择Button的背景所需的图集以及字体集,然后选择Template属性为Button,设置BackGround以及添加到某对象中的路径。参考图如下:
图1
首先,我是建立了一个空对象,并将它命名为Buttons,它是用来绑定代码ButtonControl.cs。然后将创建了两个Button作为它的子对象,分别命名为Button1和Button2,如下图所示:
图2
UIButton事件监听也非常方便,在代码中只需要写对应的事件响应方法,然后将代码挂载到对象上,再通过将此对象挂载到UIButton的事件监听中,就可完成按钮的功能了。本文中写了两个UIButton的事件响应方法,一个是不传参数的buttonClick_one(),另一个是传参数的buttonClick_two(UIButton b),代码如下:
public void buttonClick_one()
{
Debug.Log("我是Button1");
}
public void buttonClick_two(UIButton b)
{
Debug.Log("我是" + b.name);
}
接下来看看Button1与Button2的UIButton
组件的参
数及属性,如下图:
图中Color和Sprites都有4个属性,分别是正常Normal、悬浮Hover、按下Pressed、不可用DIsabled,通过改变这几个属性值从而改变按钮的状态,Color是改变颜色,Sprites是改变精灵。一般情况下,Color使用默认属性,通过精灵图片去改状态,这样可以做出更美观的Button。PixelSnap勾选时是指按钮状态发生改变后,自动适配改状态下的精灵图原大小。OnClick是事件监听,把绑定了ButtonControl.cs代码的对象Buttons拖入Button1和Button2的Notify中,然后为Button1选择方法(Method)为buttonClick_one,为Button2选择方法为buttonClick_two,此方法中需要参数UIButton,将Button2对象拖入至Arg0中,然后改变其类型属性为UIButton。当然还可以传更多的参数,方法类似。在本文中,采用的是改变按钮背景颜色来标记状态。运行后的效果图如下:
按下:
悬浮: