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...

unity中事件分发系统 EventDispatcher

这个挺好的。值得一看 出处:http://blog.csdn.net/u010019717 author:孙广东      时间:2015.3.21     23:00 不使用C#中...

Cocos2dx - EventDispatcher事件分发器学习

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

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

事件派发器在事件监听器和事件源之间起了一个协调者的作用,所有的事件监听器都注册到事件派发器中,事件源通过向事件派发器派发事件触发监听器的回调函数 事件监听器必须注册到EventDispatcher中...
  • xtchina
  • xtchina
  • 2016年07月05日 16:47
  • 1364

UE4发报机-EventDispatcher绑定事件

UE4发报机-EventDispatcher绑定事件 通过发报机绑定事件的方式可以在关卡蓝图中,去调用某一蓝图类中的事件方式。 优势是可能通过一个绑定事件,绑定多个其它事件。...

Android事件分发机制演示demo

  • 2015年11月10日 19:42
  • 5.83MB
  • 下载

Android事件分发机制总结Demo

  • 2016年01月21日 13:44
  • 6.36MB
  • 下载

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

很多需要注意的地方我全给了中文标识,但是这里我还要再次说明下新版本的touch OneByOne机制: 1.listener根据Node的优先级排序后,依次响应。值得注意的是,新版本的优先...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EventDispatcher事件分发机制
举报原因:
原因补充:

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