Cocos2d-JS 事件处理机制

事件处理机制中的三个角色
在Cocos2d-JS引擎时间处理机制中也有这3个角色。
1.事件
事件类是cc.Event,它的类图如图8-1所示,它的子类有cc.EventTouch(触摸事件)、cc.EventMouse(鼠标事件)、cc.EventCustom(自定义)、cc.EventKeyBoard(键盘事件)和cc.EventAcceleration(加速度事件)

2.事件源
事件源是Cocos2d-JS中的精灵、层、菜单等节点对象。
3.事件处理者
Cocos2d-JS中的事件处理者都是事件监听器cc.EventListener。它包括几种不同类型的监听器。
(1)cc.EventListener.ACCELERATION 加速度事件监听器
(2)cc.EventListener.CUSTOM 自定义事件监听器
(3)cc.EventListener.KEYBOARD键盘事件监听器
(4)cc.EventListener.MOUSE鼠标事件监听器
(5)cc.EventListener.TOUCH_ALL_AT_ONCE 多点触摸事件监听器
(6)cc.EventListener.TOUCH_ONE_BY_ONE 单点触摸事件监听器
4.事件管理器
Cocos2d-JS提供一个事件管理器cc.EventManager负责管理这种关系,具体地说,事件管理器负责注册监听器、注销监听器和事件分发。
cc.EventManager类中注册事件监听器的函数如下:、
addListener(listener,nodeOrPriority)
第一个参数listener是要注册的事件监听器对象。第二个参数nodeOrPriority可以是一个Node对象 或一个数值。如果传入的是Node对象。则按照精灵等Node对象的显示优先级作为时间优先级。如果传入的是数值,则按照指定的级别作为事件优先级,事件优先级决定事件响应的优先级别,值越小,优先级越高。
当不再进行事件响应的时候,应该注销事件监听器。主要的注销函数如下:
(1)removeListener(listener)注销指定的事件监听器
(2)removeCustomListeners(customEventName)注销自定义事件监听器
(3)removeListeners(listenerType,recursive)注销所有特点类型的事件监听器,recursive参数表示是否递归注销
(4)removeAllEventListeners()注销所有事件监听器,需要注意的是,使用该函数之后,菜单也不能响应事件了,因为他也需要接受触摸事件。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值