Cocos2d-x v3.x 的事件派发机制(消息处理机制CCNotificationCenter)

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函数中)和相应的事件监听器关联起来。例如,onTouchBeginEventListenerTouch相关联、onKeyPressedEventListenerKeyboard相关联。

之后,在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);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值