virtual void ccTouchesBegan(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
virtual void ccTouchesMoved(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
virtual void ccTouchesMoved(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
virtual void ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
为什么没被调用,因为没有做:
this->setTouchEnabled(true);
那为什么ccTouchBegan(3.0中是onTouchBegin)这些单点触摸没调用呢?因为以前同时支持单点和多点触摸,现在3.0只能支持其中一种:
//设置为单点响应
setTouchMode(Touch::DispatchMode::ONE_BY_ONE);
//设置为多点响应(默认)
setTouchMode(Touch::DispatchMode::ALL_AT_ONCE);
参考:
本文深入探讨了在使用Cocos2d-x框架时,为何单点触摸事件未被调用的问题,并提供了解决方法。通过设置touch模式,可以解决在Cocos2d-x 3.0版本中遇到的单点触摸未响应的问题。

1万+

被折叠的 条评论
为什么被折叠?



