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,并且把相关常用的属性都列举 ...
随机推荐
- freemark null处理
以下引用官方描述: 引用The FreeMarker template language doesn't know the Java language null at all. It doesn't ...
- POJ1065 Wooden Sticks(贪心+动态规划——单调递减或递增序列)
描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于 第i个处理的木棒,那么将不会耗费时间,否则 ...
- gitlab的md文件内使用锚点
markdown中使用锚点的格式: [要显示的内容](#锚点的链接) 如: [工具](#tool) 又因为再markdown中每一个标题都默认是锚点,所以事情就简单了 # test ## conten ...
- Linux下清除catalina.out文件
在当前目录输入如下命令即可: cat /dev/null >catalina.out
- TensorFlow-实战Google深度学习框架 笔记(上)
TensorFlow TensorFlow 是一种采用数据流图(data flow graphs),用于数值计算的开源软件库.在 Tensorflow 中,所有不同的变量和运算都是储存在计算图,所以在 ...
- vue 项目其他规范
列表 vuex数据管理 * 数据模块化:vuex数据管理-数据模块化 数据适配:vuex数据管理-数据适配 数据共享:vuex数据管理-数据共享 路由优化 keep-alive组件设置 保留滚动位置 ...
- Solr 访问 403 错误
把 Solr 基础环境搭建好后访问发现会出现 403 错误: 解决方法: 找到自己 Tomcat 目录下的 solr ,找到 ...\solr\WEB-INF\web.xml,然后把 169 - 1 ...
- Spring基础(4) : bean重写
@Configuration public class Config1 { @Bean() public Person getP(){ Person p = new Person(); p.setNa ...
- MongoDB中空间数据的存储和操作
本文使用官方C# Driver,实现在MongoDB中存储,查询空间数据(矢量) 空间数据的存储 本例中,从一个矢量文件(shapefile格式)中读取矢量要素空间信息以及属性表,并写入到MongoD ...
- WebFrom 【内置对象】— —跳转页面,页面传值
Response -- 响应请求对象 传值 Response.Redirect("url"); -- 地址?变量= 值 Response -- ...