首页 > 代码库 > Unity插件之NGUI学习(3)—— 创建Button

Unity插件之NGUI学习(3)—— 创建Button

紧接上一个的项目,使用NGUI在Plane下创建Button

选中Hierarchy窗口中Plane,选择菜单NGUI->Open->Widget Wizard,打开Widget Tool窗口



在Widget Tool窗口选择先前制作的Atlas,在Template中选择Button,在Background选择按钮背景图,Add To选择Plane,按钮就会出现了。


下面介绍按钮触发事件:

可参考宣雨松的关于NGUI事件的文章:http://www.xuanyusong.com/archives/2390和http://www.xuanyusong.com/archives/2460

我在Project窗口创建了Scripts文件夹,并创建了C#文件SpriteAnimation

代码如下:


using UnityEngine;
using System.Collections;


public class SpriteAnimation : MonoBehaviour {


private UISpriteAnimation spriteAnimation;
private UIButton button;


// Use this for initialization
void Start () {

// 获得精灵的GameObject
GameObject spriteObj = GameObject.Find("Sprite");

// 获得按钮UIButton的对象
button = GameObject.Find("Button").GetComponent<UIButton>();

// 获得精灵动画对象UISpriteAnimation
spriteAnimation = spriteObj.GetComponent<UISpriteAnimation>();

// 绑定按钮的OnClick事件
EventDelegate.Add(button.onClick, OnClick);
// Debug.Log("spriteAnimation=" + spriteAnimation);
}

// Update is called once per frame
void Update () {

}


void OnClick() {
// Debug.Log("OnClick");
if (spriteAnimation.isPlaying) {

// 暂停动画
spriteAnimation.Stop();
} else {

// 动画重新播放
spriteAnimation.Reset();
}
}
}

将此代码绑定在了UI Root上。


其中spriteAnimation.Stop();是我在UISpriteAnimation中自己添加的方法:

public void Stop()
{
mActive = false;
}


至此NGUI按钮实例完成。


Unity插件之NGUI学习(3)—— 创建Button