EventDispatcher事件分发机制
来源:互联网 发布:火箭vs勇士数据 编辑:程序博客网 时间:2024/05/22 12:24
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>
0 0
- EventDispatcher事件分发机制
- cocos2d-x学习笔记——EventDispatcher事件分发机制
- 事件分发(EventDispatcher)模式
- unity中事件分发系统 EventDispatcher
- unity中事件分发系统 EventDispatcher
- unity中事件分发系统 EventDispatcher
- Cocos2dx - EventDispatcher事件分发器学习
- OnTouchEvent事件分发机制
- android事件分发机制
- Android事件分发机制
- Android 事件分发机制
- Android事件分发机制
- Android 事件分发机制
- Android 事件分发机制
- android 事件分发机制
- Android事件分发机制
- android 事件分发机制
- android事件分发机制
- 杨辉三角
- 面向对象——意图与逻辑(四)
- LinearLayout和Relative的属性与子属性的区别
- 多维数组第一课
- Java反射
- EventDispatcher事件分发机制
- 签到,打卡领取积分,记录连续签到,获取签到排名。
- LinearLayout和Relative的属性与子属性的区别
- 如何学习好汇编,同时也说下pascal读程序写结果的问题
- 数组(固定次数输入数据 排序)
- Android AutoCompleteTextView自动提示文本框
- 关于ListView中getView被重复调用的问题
- 高精度标定和效验三维相位轮廓测量系统
- play war 内存溢出问题