第5章
5.1.单点触摸的实现
效果:
常用的触摸事件有4个:
- onTouchBegan:触摸事件开始,也就是手指按下时
- onTouchMoveed:触摸移动事件,也就是手指在屏幕滑动的过程
- onTouchEnded:触摸事件结束,也就是手指松开时
- onTouchCancelled:打断触摸事件事件,一般是系统层级的消息,如手机来电,触摸事件就会被打断
t->getLocation():获取单击坐标,基于3D
t->getLocationInView():获取单击坐标,基于2D
Director::getInstance()->convertToGL(pt2):获取单击坐标,基于Cocos2d-x
_eventDispatcher是一个事件管理器,可以通过Director::getInstance()->getEventDispatcher()获得,是一个单例类
void EventDispatcher::addEventListenerWithSceneGraPHPriority(EventListener* listener,Node* node)
- EventListener*listener:事件监听对象,当触摸事件发生时通过它来回调
- Node*node:绑定的对象,当node对象被释放时,监听事件的注册也会被取消。当有多个触摸事件发生时(比如几个按钮叠加在一起),会根据node的层次优先回调(越在上面的对象越优先回调)
5.2.单点触摸-截断事件
效果:
点击重叠部分:
还有,在onTouchBegan函数中,return true表示将触摸事件截断,return false表示不截断。