UIButton vs UIEventListener 事件处理
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事件
UIButton vs UIEventListener 事件处理的更多相关文章
- 4. UIButton的使用
1. UIButton的初认识 来自:http://www.cnblogs.com/mcj-coding/p/5103891.html QQ:853740091 1.1 UIButton 是iOS 开 ...
- 【转】监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类
http://lib.csdn.net/article/unity3d/38463 作者:IceFantasyLcj 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的第 ...
- 【转】 NGUI 监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类
http://blog.csdn.net/icefantasylcj/article/details/49450555 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的 ...
- IOS UIButton用法详解
这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用. //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWi ...
- UIButton、UILabel、UITextField 初学者需要了解的基本定义和常用设置
以下是三个IOS开发中最常用的控件,作为IOS基础学习教程知识 ,初学者需要了解其基本定义和常用设置,以便在开发在熟练运用. UIButton按钮 第一.UIButton的定义 UIButton * ...
- ios基础篇(三)——UIButton的详细介绍
按钮UIButton是ios开发中最常见的控件之一,下面来介绍UIButton的详细内容: 一.UIButton的定义 UIButton *button=[[UIButton buttonWithTy ...
- UIButton的简单操作和实际应用
不能使用点语法创建button的文本和颜色,因为button具有多种状态 //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWithType:U ...
- UITableViewCell上的按钮点击事件处理
转自: http://www.aichengxu.com/view/42871 UITableViewCell上的按钮点击事件处理,有需要的朋友可以参考下. 今天突然做项目的时候,又遇到处理自定义的 ...
- (转)UIButton用法详解一
(注明 来源网址 http://blog.csdn.net/cheneystudy/article/details/8115092)这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举 ...
随机推荐
- Nginx缓存配置之手动清除缓存
访问我的博客 前言 前文介绍了利用 nginx 的 nginx_ngx_cache_purge 模块来实现缓存功能,并设置了缓存时间为一天. 但是如果前端修改了页面,比如首页,由于 Nginx 缓存的 ...
- Javascript权威指南阅读笔记--第3章类型、值和变量(1)
之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是 ...
- es6学习笔记8--Map数据结构
Map Map结构的目的和基本用法 JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键.这给它的使用带来了很大的限制. var data = {} ...
- 读jQuery源码释疑笔记
本释疑笔记是针对自己在看源码的过程中遇到的一些问题的解答,对大众可能不具有参考性,不过可以看看有没有你也不懂得地方,相互学习,相互进步. 1.each的用法 之前对each的用法一直迷迷糊糊,这次终 ...
- 给RadioButtonList绑定Selected的值
有一个案例,是读取Excel的资料显示于ASP.NET的GridView控件.在GridView控件中,有一列是用RadioButtonList来显示性别信息(男或女). 另外来看看Excel的数据: ...
- 超简单MVC应用程序播放WMV视频
本篇博文,介绍给大家的是,在MVC应用程序中,播放Windows media video(.wmv) 视频文件. Insus.NET的实现方法,把media player组件,嵌入MVC的控制器的Co ...
- C# WinForm 关于窗体最大化时的是否全屏效果与是否遮盖任务栏
0.新建窗体 及添加按钮 1. 执行如下按钮事件 private void btnFormMax_Click(object sender, EventArgs e) { if (this ...
- Http请求帮助类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- textarea赋值时换行符无效的解决方法
//替换字符串中的换行符为br var Content = JSON.stringify(txt); Content = Content.replace(/\\n/g, '<br />') ...
- 乐字节-Java8新特性之函数式接口
上一篇小乐带大家学过 Java8新特性-Lambda表达式,那什么时候可以使用Lambda?通常Lambda表达式是用在函数式接口上使用的.从Java8开始引入了函数式接口,其说明比较简单:函数式接口 ...