NGUI中的如何运用委托事件的用法
在NGUI中,我们可以使用委托的方式来进行事件处理和监听。关于委托的概念,大家可以通过百度搜索获取详细解释,本文不再赘述。下面将详细介绍在NGUI中运用委托事件的方法。
一、委托事件的编写方法
在NGUI里,有两种常见的编写方式来使用委托事件,下面分别进行介绍。
方式一
使用 EventDelegate.Add 方法将事件处理函数添加到按钮的点击事件列表中。示例代码如下:
// 将handler方法添加到按钮的点击事件列表中
EventDelegate.Add(btn.onClick, handler);
// 事件处理函数
void handler()
{
print("click");
}
在上述代码中,btn 代表按钮对象,handler 是处理按钮点击事件的方法。当按钮被点击时,handler 方法就会被调用,控制台将输出 "click"。
方式二
先创建 EventDelegate 对象,再将其添加到按钮的点击事件列表中。示例代码如下:
// 创建一个EventDelegate对象,指定处理方法为当前类的handler方法
EventDelegate del = new EventDelegate(this, "handler");
// 将EventDelegate对象添加到按钮的点击事件列表中
btn.onClick.Add(del);
// 事件处理函数
void handler()
{
print("click");
}
此方式与第一种方式效果相同,只是创建和添加事件处理函数的步骤有所不同。
二、Tween完成事件的委托处理
除了按钮点击事件,对于一些Tween(补间动画)的完成事件,也可以使用委托事件来处理。示例代码如下:
// 定义一个TweenPosition对象
public TweenPosition tp;
// 创建一个EventDelegate对象,指定处理方法为当前类的handler方法
EventDelegate del = new EventDelegate(this, "handler");
// 将EventDelegate对象添加到TweenPosition的完成事件列表中
tp.onFinished.Add(del);
// 事件处理函数
void handler()
{
// 当TweenPosition动画完成时,执行此方法
print("Tween finished");
}
在上述代码中,tp 是 TweenPosition 对象,代表一个位置补间动画。当该动画完成时,handler 方法会被调用,控制台将输出 "Tween finished"。
通过以上两种方式,我们可以在NGUI中灵活运用委托事件来处理各种事件,提高代码的可维护性和可扩展性。