EventDispatcher事件分发机制

转载 2015年11月20日 12:12:38
EventDispatcher事件分发机制先创建事件,注册到事件管理中心_eventDispatcher,通过发布事件得到响应进行回调,完成事件流。

Cocos2d-X 3.X 引入了一种新的响应用户事件的机制。

涉及三个基本的方面:

  • Event listeners 封装你的事件处理代码
  • Event dispatcher 向 listener 分发用户事件
  • Event 对象 包含关于事件的信息

为了响应事件,首先你要创建一个 EventListener,有五种不同的 EventListener(事件机制).

  • EventListenerTouch 响应触控事件
  • EventListenerKeyboard 响应键盘事件
  • EventListenerAcceleration 响应加速器事件
  • EventListenMouse 响应鼠标事件
  • EventListenerCustom 响应定制的事件

然后,将你的时间处理代码连接到适当的事件监听回调方法中。( 例如 EventListenerTouch 的 onTouchBegan ,或者 EventListenerKeyboard 的 onKeyPressed )

接着,使用 EventDispatcher 注册你的 EventListener。

当事件触发之后 ( 例如,用户触摸了屏幕,或者敲击乐键盘 ),EventDispatcher 通过调用适当的 EventListener 的回调来分发 Event 对象 ( 例如 EventTouch, 或者 EventKeyboard ),每个事件对象包含对应的事件信息 ( 例如包含触控的坐标 )。

示例

在下面的代码中,我们在场景中添加三个按钮,每一个都可以响应触控事件。

<p>auto sprite1 = Sprite::create("Images/CyanSquare.png");
sprite1->setPosition(origin+Point(size.width/2, size.height/2) + Point(-80, 80));
addChild(sprite1, 10);</p><p>auto sprite2 = Sprite::create("Images/MagentaSquare.png");
sprite2->setPosition(origin+Point(size.width/2, size.height/2));
addChild(sprite2, 20);</p><p>auto sprite3 = Sprite::create("Images/YellowSquare.png");
sprite3->setPosition(Point(0, 0));
sprite2->addChild(sprite3, 1);</p> 

相关文章推荐

cocos2d-x学习笔记——EventDispatcher事件分发机制

EventDispatcher 事件分发机制先创建事件,注册到事件管理中心 _eventDispatcher,通过发布事件得到响应进行回调,完成事件流。_eventDispatcher是Node的属性...

[寒江孤叶丶的Cocos2d-x之旅_23]Cocos2d-x LUA实现事件分发器 lua EventDispatcher

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 事件分发机制是程序开发中非常常用...

unity中事件分发系统 EventDispatcher

出处:http://blog.csdn.net/u010019717author:孙广东      时间:2015.3.21     23:00不使用C#中的event关键字: 只是使用delegat...

Cocos2dx - EventDispatcher事件分发器学习

Coco2d EventDispatcher事件分发器的使用及对事件的管理和操作

cocos2dx源码分析:事件派发器EventDispatcher

事件派发器在事件监听器和事件源之间起了一个协调者的作用,所有的事件监听器都注册到事件派发器中,事件源通过向事件派发器派发事件触发监听器的回调函数 事件监听器必须注册到EventDispatcher中...

cocos2d-x 源码分析 : EventDispatcher、EventListener、Event 源码分析 (新触摸机制,新的NotificationCenter机制)

很多需要注意的地方我全给了中文标识,但是这里我还要再次说明下新版本的touch OneByOne机制: 1.listener根据Node的优先级排序后,依次响应。值得注意的是,新版本的优先...

Android事件分发机制小Demo

  • 2016-03-02 13:32
  • 1.95MB
  • 下载

Android事件分发机制

  • 2015-08-18 11:58
  • 5.16MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)