我希望能够在Cocos2d v3中检测到以下内容:
启动并保持触摸,然后在屏幕上的其他位置发生第二次触摸。想想用一根手指握住,然后用一根手指敲击。
我尝试使用- (void)touchMoved:(UITouch *)touch withEvent:(UIEvent *)event
,但这仅在第二次触摸时发生,而不是随后发生。
要清楚,如果我在屏幕上触摸然后点击其他地方,则会调用上述方法。但是,如果我继续按住第一次触摸然后再次点击,则不会调用上述方法。
此外,touchBegan:
仅在第一次触摸发生时调用(即初始保持触摸),touchEnded:
仅在删除所有触摸时调用,包括初始保持触摸。
我想知道:
1)如何在Cocos2d v3中识别上述手势?
2)如果1)不可能,有没有办法用我自己的手势识别器来做,我将如何在Cocos2d v3中实现我自己的手势识别器?
答案 0 :(得分:1)
默认情况下,Cocos2d V3仅响应单次触摸。
解决方案:
self.multipleTouchEnabled = TRUE;
这意味着现在每次触摸都会调用:
-(void) touchBegan:(UITouch *)touch withEvent:(UIEvent *)event
每次手指从屏幕上抬起时,它都会调用:
-(void) touchEnded:(UITouch *)touch withEvent:(UIEvent *)event
即使还有其他接触也在继续。
答案 1 :(得分:0)
如果您使用void HelloWorld::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent)
,则可以使用pTouches->count();