NGUI事件监听之UIEventListener的使用
NGUI的事件绑定可以使用 UIButtonMessage
在一个游戏对象上添加Button Message组件:
在Button Message组件上添加要通知的游戏对象上所挂载的脚本的方法
Target:要通知的挂载脚本的游戏对象
Function Name:调用的方法
使用Button Message不是很灵活,还有一种是使用UIEventListener
在unity菜单上选择:Component->NGUI->Internal ->Event Listener
然后把你要绑定的方法的脚本拖到Script中
然后在脚本中进行事件绑定
代码:
void Awake ()
{
//获取需要监听的对象
GameObject startGameButton = GameObject.Find("UI Root/startGameButton");
//设置这个对象的监听事件
UIEventListener.Get(startGameButton).onHover += ButtonHover;
UIEventListener.Get(startGameButton).onClick +=PlayTapMusic ;
} //计算按钮的点击事件
void ButtonHover(GameObject button,bool state)
{
GameObject swipeSound = GameObject.Find("swipeSound");
swipeSound.audio.Play ();
} //播放点击按钮的声音
public void PlayTapMusic(GameObject button){
GameObject tapSound = GameObject.Find("tapSound");
tapSound.audio.Play ();
}
其实只是要在要绑定的对象上挂上一个脚本,然后使用UIEventListener的Get方法进行事件绑定
UIEventListener.Get(要监听的游戏对象).绑定的事件+=方法名;
NGUI事件监听之UIEventListener的使用的更多相关文章
- Unity3D NGUI事件监听的综合管理
首先,将Event Listener挂在按钮上 Event Listener的源码很简单 就是利用C#的时间委托机制 注册了UI场景的事件而已 public class UIEventListener ...
- UI事件监听的击穿
什么是UI事件监听的击穿 在游戏视图中,有两个UI界面叠在一起的时候,单击一个空白处,却触发了被覆盖在下层了UI界面中的单击事件,这就是单击击穿了上层界面. 假设场景中放置了一个箱子,单击箱子会触发一 ...
- Java中用得比较顺手的事件监听
第一次听说监听是三年前,做一个webGIS的项目,当时对Listener的印象就是个"监视器",监视着界面的一举一动,一有动静就触发对应的响应. 一.概述 通过对界面的某一或某些操 ...
- 4.JAVA之GUI编程事件监听机制
事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...
- Node.js 教程 05 - EventEmitter(事件监听/发射器 )
目录: 前言 Node.js事件驱动介绍 Node.js事件 注册并发射自定义Node.js事件 EventEmitter介绍 EventEmitter常用的API error事件 继承EventEm ...
- .NET事件监听机制的局限与扩展
.NET中把“事件”看作一个基本的编程概念,并提供了非常优美的语法支持,对比如下C#和Java代码可以看出两种语言设计思想之间的差异. // C#someButton.Click += OnSomeB ...
- 让 select 的 option 标签支持事件监听(如复制操作)
这标题,让option支持事件监听,应该不难的呀,有什么好讲的? 其实还是有的,默认在浏览器代码是无法直接对option标签进行操作的,不仅包括JS事件监听,还是CSS样式设置 查了一些资料,姑且认为 ...
- [JS]笔记12之事件机制--事件冒泡和捕获--事件监听--阻止事件传播
-->事件冒泡和捕获-->事件监听-->阻止事件传播 一.事件冒泡和捕获 1.概念:当给子元素和父元素定义了相同的事件,比如都定义了onclick事件,点击子元素时,父元素的oncl ...
- [No00006A]Js的addEventListener()及attachEvent()区别分析【js中的事件监听】
1.添加时间监听: Chrom中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target ...
随机推荐
- 图解LoadAverage(负载)
图解LoadAverage(负载) http://www.habadog.com/2015/02/27/what-is-load-average/ 一.什么是Load Average 系统负载(S ...
- J2EE中使用jstl报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar错
一.发现问题 运行引用了jstl的jsp页面 报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or th ...
- Adobe Flash Media Server安装
Flash Media Server(FMS)是一个流媒体服务器 使用 实时消息传送协议(RTMP),RTMP是一种未加密的TCP/IP协议,专门设计用来高速传送音频.视频和数据信息. 3.5版32位 ...
- ubuntu输入su命令显示 Authentication failure解决
由于ubuntu系统默认是没有激活root用户的,需要手动激活: 终端下输入: sudo passwd Password:你当前的密码 Enter new UNIX password:这个是root的 ...
- C# 枚举(enum)
public enum EnumStatus { On=0, Off=1 } //获取值:0 Convert.ToInt32(EnumStatus.On); //获取On EnumStatus.On; ...
- express-10 表单处理
从用户那里收集信息的常用方法就是使用HTML表单.无论是使用浏览器提交表单,还是使用AJAX提交,或是运用精巧的前端控件,底层机制通常仍旧是HTML表单. 向服务器发送客户端数据 向服务器发送客户端数 ...
- Ipython console in Spyder stuck on “connecting to kernel”
简短地记录下,今天排除的spyder的BUG, 现象:打开Spyder时其他正常,但是Ipython console 不能正常获取到kernel,一直转圈,显示“connecting to kerne ...
- constructor
function Person(name){ this.name = name; } Person.prototype = { constructor : Person, sayName : func ...
- CSS总结1
新增:修改placeholder样式 ::-moz-placeholder{color:red;} //ff19+ :-moz-placeholder{color:red} //ff18- ::-we ...
- Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 - 条件判断法
本文来源于:http://blog.csdn.net/zhubaitian/article/details/39293883 Robotium的测试类ActivityInstrumentationTe ...