博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
starling教程-事件模型(Event model )
阅读量:5090 次
发布时间:2019-06-13

本文共 1006 字,大约阅读时间需要 3 分钟。

所有的Starling对象都是EventDispatcher的子类。就像是用本地的EventDispatcher一样,所有的Starling对象都有注册和移除监听的api。

•  addEventListener : Registers a listener to a specific event. 

•  hasEventListener : Tests if there is a listener for a specific event. 
•  removeEventListener : Removes the event listener. 
•  removeEventListeners : Removes all the listeners registered to a specific event or all of them.

注意这个新增的非常有用的api:removeEventListeners。当你想移除掉注册到一个事件的所有监听时,通过给这个方法传入事件的类型就可以轻松做到:

1 button.removeEventListeners(Event.TRIGGERED);

当你需要移除所有监听的时候(不论是事件类型都释放掉),在你需要释放对象地方调用removeEventListeners方法,不要传参:

1 button.removeEventListeners ();

注意,在我们之前用到的removeChild方法的第二个参数dispose,在其内部实现的时候就是给每个child使用了和上面相同的api。

 

事件的传播机制(Event propagation )

从教程的一开始我们就知道了,Starling在Stage3D的基础上重建了显示列表的概念。更好的消息是在Starling中你也可以使用到强大的事件传播机制。并且事件机制在某些情况下能减少注册和移除监听的操作,从而使你的代码更简洁。

对于flash本地事件机制不是很了解的童鞋,可以从下面的连接获得更多信息(其实直接去看api的说明就好了s):

这里有一点说明:和flash本地的事件机制有一点区别,starling中的事件只支持冒泡阶段,没有捕获阶段的概念。在下一个例子中我们会补充说明它是怎么工作的。

转载于:https://www.cnblogs.com/klh5211314/p/3158684.html

你可能感兴趣的文章
Java类加载过程
查看>>
vue----封装长按指令
查看>>
ElasticSearch5.2.2 安装配置
查看>>
python之数据结构链表实现方式
查看>>
Co. - VMware - vSphere
查看>>
java02实验:方法
查看>>
Qt样式表之一:Qt样式表和盒子模型介绍
查看>>
自定义HTML标签属性
查看>>
USACO 5.3 Window Area
查看>>
_CRT_NONSTDC…与_CRT_SECURE…
查看>>
图标字体的使用(fontello.com)字体推荐及使用技巧
查看>>
Asp.Net_ 服务端向客户端写JavaScript脚本
查看>>
DirectX11--深入理解与使用2D纹理资源
查看>>
针对WebLogic Server 12.1.3版本打补丁
查看>>
全网备份
查看>>
在Mac OS上搭建本地服务器
查看>>
tyvj1938 最优战舰
查看>>
IDEA常用插件记录
查看>>
numpy之sum
查看>>
(动态规划)免费馅饼--hdu--1176
查看>>