您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-js v3.1 事件分发机制

2015-09-18 16:19 531 查看
创建一个单点触摸事件监听器(事件类型:TOUCH_ONE_BY_ONE),并完成逻辑处理内容

将事件监听器添加到事件管理器中

注意: 这里当我们想给不同的节点使用相同的事件监听器时,需要使用 clone() 函数克隆出一个新的监听器,因为在使用 addListener 方法时,会对当前使用的事件监听器添加一个已注册的标记,这使得它不能够被添加多次。另外,有一点非常重要,FixedPriority 类型的 listener添加完之后需要手动删除,而SceneGraphPriority 类型的 listener是跟node绑定的,在node调用cleanup时会被移除。

更快速的添加事件监听器到管理器的方式

其它事件派发处理模块

键盘响应事件

加速计事件

在使用加速计事件监听器之前,需要先启用此硬件设备, 代码如下:

然后将相应的事件处理监听器与sprite进行绑定就可以了,如下:

鼠标响应事件

自定义事件

移除事件监听器

暂停/恢复 与场景相关(SceneGraph类型)的监听器开发过程中,我们经常会遇到这样的情况:想要让一个Layer中所有的Node对象的事件都停止响应。 在响应用户事件后,又要恢复该Layer的所有事件响应。如: 用户想要显示一个模式对话框,显示对话框后,禁止对话框后所有对象的事件响应。 在用户关闭对话框后,又恢复这些对象的事件响应。

我们只需要暂停根node的事件,就可以让根节点以及其子节点暂停事件响应,而恢复对象的事件响应也非常简单。代码如下:

源引:http://www.ipastimes.com/post/7.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: