Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了《cocos2d-x游戏开发之旅》学习笔记(二)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

第5章

5.1.单点触摸的实现

效果:


常用的触摸事件有4个:

  • onTouchBegan:触摸事件开始,也就是手指按下时
  • onTouchMoveed:触摸移动事件,也就是手指在屏幕滑动的过程
  • onTouchEnded:触摸事件结束,也就是手指松开时
  • onTouchCancelled:打断触摸事件事件,一般是系统层级的消息,如手机来电,触摸事件就会被打断
t->getLOCATIOn():获取单击坐标,基于3D
t->getLOCATIOnInView():获取单击坐标,基于2D
Director::geTinstance()->convertToGL(pt2):获取单击坐标,基于Cocos2d-x

_eventDispatcher是一个事件管理器,可以通过Director::geTinstance()->getEventDispatcher()获得,是一个单例类

addEventListenerWithSceneGraphpriority函数的声明为:
void EventDispatcher::addEventListenerWithSceneGraphpriority(EventListener* listener,Node* nodE)
  • EventListener*listener:事件监听对象,当触摸事件发生时通过它来回调
  • Node*node:绑定的对象,当node对象被释放时,监听事件的注册也会被取消。当有多个触摸事件发生时(比如几个按钮叠加在一起),会根据node的层次优先回调(越在上面的对象越优先回调)
也可以用addEventListenerWithFixedPriority函数来注册监听事件,但需要手动指定触摸事件回调的优先级,并且需要手动取消监听事件。



5.2.单点触摸-截断事件

效果:

点击重叠部分:


关键的函数是setSwallowTouches,给它传递参数true,表示启动截断功能,也就是说可以决定是否要将触摸事件向下传递。
另外要注意的一点是注册监听事件时一个事件监听对象只能与一个目标对象绑定,否则运行会出错,可以使用clone函数来产生另一个事件监听对象。
还有,在onTouchBegan函数中,return true表示将触摸事件截断,return false表示不截断。


5.3.多点触摸

效果:

大佬总结

以上是大佬教程为你收集整理的《cocos2d-x游戏开发之旅》学习笔记(二)全部内容,希望文章能够帮你解决《cocos2d-x游戏开发之旅》学习笔记(二)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。