3分钟学会 cocos2d 触摸事件响应

第1步:创建一个触摸监听器

auto listener = EventListenerTouchOneByOne::create();

创建一个单点触碰监听器

第2步:配置触摸监听器的属性

listener->setSwallowTouches(true);

设置监听是否吞并事件

listener->onTouchBegan = CC_CALLBACK_2(MyUIDrama::TouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(MyUIDrama::TouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(MyUIDrama::TouchesEnded, this);

设置监听器的回调函数,其中:

  • onTouchBegan:触碰按下时的回调
  • onTouchMoved:触碰移动时的回调
  • onTouchEnded:触碰弹起时的回调

第3步:添加触摸监听器

添加触摸监听器有两种方法

  • 方法1:addEventListenerWithFixedPriority
Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(listener, 1);

addEventListenerWithFixedPriority有两个参数:
参数1:Listenter 监听器
参数2:fixedPriority 固定优先级,其中0是系统占有,不能设置为0

  • 方法2:addEventListenerWithSceneGraphPriority
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);

addEventListenerWithSceneGraphPriority有两个参数:
参数1:Listenter 监听器
参数2:node 根据node来确定监听器的优先级

简单来说两种方法的区别就是一个是自己手动指定Listenter的优先级,一个是根据node来决定。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 好奇触摸事件是如何从屏幕转移到APP内的?困惑于Cell怎么突然不能点击了?纠结于如何实现这个奇葩响应需求?亦或是...
    Lotheve阅读 58,956评论 51 604
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 11,311评论 4 26
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,519评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,819评论 19 139
  • 周末收到好友小新寄来的一套笑傲江湖,静静有些不解。 “你不是在机关工作么,笑傲江湖算是初级读物了!”微信里传来朋友...
    桃乐丝_阅读 3,860评论 0 0

友情链接更多精彩内容