加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

事件分发机制

发布时间:2020-12-14 17:14:38 所属栏目:百科 来源:网络整理
导读:说明 引擎版本:cocos2d-x 3.4 编译器:visual studio 2013 UI编辑器:Cocos Studio v1.6.0.0 事件分发机制 该机制包含三部分内容:事件分发器、事件类型、事件监听器; EventDispatcher 负责监听器的添加、删除、暂停、恢复,优先级的设置等;Node中有属性_

说明

引擎版本:cocos2d-x 3.4 编译器:visual studio 2013 UI编辑器:Cocos Studio v1.6.0.0

事件分发机制

该机制包含三部分内容:事件分发器、事件类型、事件监听器;

EventDispatcher

负责监听器的添加、删除、暂停、恢复,优先级的设置等;Node中有属性_eventDispacher指向该对象

EventListener

监听器类型:
   
   
enumclass Type { UNKNOWN, TOUCH_ONE_BY_ONE TOUCH_ALL_AT_ONCE KEYBOARD MOUSE ACCELERATION FOCUS GAME_CONTROLLER CUSTOM};
监听器类型较多,具体每一个类型都继承于EventListener,下面介绍几个常用的监听器用法:
  • EventListenerTouchOneByOne


 // 创建一个事件监听器类型为OneByOne的单点触摸auto listener1 = EventListenerTouchOneByOne::create();// 设置是否吞没事件,在onTouchBegan方法返回true时吞没 listener1->setSwallowTouches(true); //注册事件回调onTouchBegan  CC_CALLBACK_2(Test2onTouchBeganthisonTouchMoved onTouchMovedonTouchEnded onTouchEnded// 添加监听器 _eventDispatcheraddEventListenerWithSceneGraphPriority(listener1 pLayer1);

  • EventListenerTouchAllAtOnce
  • EventListenerMouse
  • EventListenerKeyBoard
  • EventListenerAcceleration
  • EventListenerCustom

Event

事件类型:
TOUCH};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读