NGUI中,Button本身就带有OnClick事件,但是Sprite,Label等( 也绑有Widget的)并没有触发事件,其实NGUI的事件触发都必须添加Box Collider,并勾选Is Trigger,在Inspector窗口设置Box大小尺寸,可以在Widget的Collider勾选auto-adjust to match。还有一个比较重要的参数需要设置正确,即是UI Root下Camera参数,在Inspector窗口中,要确定UICamera中的Event Type选择3D UI,Event Mask选择Everything。
然后添加C# Script脚本,
using UnityEngine;
using System.Collections;
public class SpriteClickTest : MonoBehaviour {
private UISpriteAnimation spriteAnimation;
void Start()
{
spriteAnimation = GetComponent<UISpriteAnimation>();
}
void OnClick()
{
if (spriteAnimation.isPlaying) {
// 暂停动画
spriteAnimation.Stop();
} else {
// 动画重新播放
spriteAnimation.Reset();
}
}
}
在Inspector窗口
点击运行游戏,刚才设置在精灵的脚本,就会相应OnClick事件了。
Unity插件之NGUI学习(6)—— 关于Widget如何添加触发事件
原文地址:http://blog.csdn.net/xcookies/article/details/39963019