紧接上一个的项目,使用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按钮实例完成。