NGUI的事件

在使用NGUI的事件处理时,发现UIButton和UIEventListener之间的共同点越来越多。

当然处理事件,也有一些其它的函数,比如:UIEventTrigger,ButtonMessage 等等,但我用的最多的就是UIButton和UIEventListener

我们知道,只要一个GameObject上添加了Collider(BoxCollider)并且它放在UICamera所渲染的Layer下,

OnClick函数

那么当你在脚本中写OnClick()函数时,当我们单击这个Collider时,就会触发这个OnClick()函数。

using UnityEngine;
using System.Collections; public class ClickTest : MonoBehaviour
{
void OnClick()
{
CBase.Log("click");
}
}

事件调用堆栈

(图) 调用堆栈

UIEventListener

因此,我们要使用UIEventListener 来响应UI事件,我们需要做两件事

1)给UI控件添加BoxCollider,同时添加UIEventListener脚本

2) 调用委托的方法

UIEventlistener的函数

UIEventlistener的源文件放在Scripts/Internal/下,可知这个脚本的重要性。

打开这个脚本,可以看到里面写了很多的委托。

UIEventListener用法一

UIEventListener.Get(gameObject).onClick += MyClickFunction;

其实就是在执行OnClick() 方法,而OnClick()是VoidDelegate(Gameobject go)

UIEventListener用法二

StartBtn.GetComponent<UIEventListener>().onClick = OnButtonClick;  void OnButtonClick(GameObject obj)

UIButton

基本上来说如果只是处理事件,可以用UIEventListener代替UIButton

UIButton的不同状态图片功能和以前2.X版本中的ImageButton功能非常相似

文献资料

另附这篇文章写的很不错:使用UIEventListener响应NGUI事件

最新文章

  1. 全面解析ASP.NET MVC模块化架构方案
  2. nginx,apache,tomcat配置https的阿里提供的文档
  3. php+js实现分页
  4. Java 基础知识 练习
  5. Map/Reduce 工作机制分析 --- 错误处理机制
  6. 招聘一个靠谱的ios
  7. hdu 1202 The calculation of GPA
  8. linux下设置SSH无密码登陆
  9. double与int类型自动转换
  10. mac下git中文乱码
  11. java数据结构之hash表
  12. python 格式化日期
  13. VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法]
  14. windows时间函数
  15. HDU 4869 Turn the pokers(推理)
  16. 移动端分享到微信和QQ
  17. 使用puppet
  18. [再寄小读者之数学篇](2014-06-23 积分不等式 [中国科学技术大学2013年高等数学B 考研试题])
  19. Spring再接触 Annotation part1
  20. 使用 $(function(){}) 时遇到的一个小bug及解决方法

热门文章

  1. Hibernate 分页 查询
  2. spring-boot-mail
  3. layer插件学习——提示层
  4. Qt编写自定义控件12-进度仪表盘
  5. postgersql服务启动不了 FATAL: the database system is starting up
  6. Java maven项目的小随笔
  7. 并发编程之 CopyOnWriteArrayList 源码剖析
  8. 写个OAuth2.0的请求端来测试自己的OAuth2.0服务端(二)
  9. Html.DropDownListFor练习(2)
  10. VS_C#快捷键