1.版本更新
从cocos2d-x v3.0开始,CCNotificationCenter类被抛弃,使用新的事件派发机制:EventDispatcher
2.简介
从cocos2d-x v3.0开始,由于采用了新的C++11的标准,cocos引入了一种新的处理用户事件的事件派发机制。
由三部分组成:
- Event Listener 封装你的事件代码
- Event Dispatcher 通知相应的事件监听器
- Event Object 包含事件的相关信息
为了响应event,你必须创建一个EventListener。针对不同类型的event,共有5种不同的EventListener:
- EventListenerTouch 触摸事件
- EventListenerKeyboard 按键事件
- EventListenerAcceleration 加速事件
- EventListenerMouse 鼠标事件
- EventListenerCustom 自定义事件
之后,将你的事件处理代码(一般是在callback函数中)和相应的事件监听器关联起来。例如,onTouchBegin和EventListenerTouch相关联、onKeyPressed和EventListenerKeyboard相关联。
之后,在EventDispatcher上注册你的EventListener。
当事件发生时,EventDispatcher将会将事件对象Event Object派发到指定的事件处理回调函数。
3.例子
3.1 TouchEvent
首先,创建3个Sprite:
auto sprite1 = Sprite::create("Images/CyanSquare.png");
sprite1->setPosition(origin+Point(size.width/2, size.height/2) + Point(-80, 80));
addChild(sprite1, 10);
auto sprite2 =

本文介绍了Cocos2d-x v3.x版本更新后,弃用了CCNotificationCenter,转而使用EventDispatcher进行事件派发。事件机制由EventListener、Event Dispatcher和Event Object三部分构成,支持TouchEvent、KeyboardEvent、AccelerationEvent、MouseEvent和CustomEvent。详细阐述了TouchEvent的创建、注册和管理,以及自定义事件的触发和删除事件监听器的方法。
&spm=1001.2101.3001.5002&articleId=50541061&d=1&t=3&u=8f85442940064a1da769da5882949e84)
118

被折叠的 条评论
为什么被折叠?



