我注意到有很多不同的处理输入触摸的方法。 (多点触控)
功能如
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
我应该直接使用touches(第一个参数)还是应该使用[event allTouches]
(第二个参数)
我注意到有些人甚至使用
UITouch *touch = [touches anyObject];
我从Apple文档检查,anyObject只是从NSSet返回一个对象,是不是有点随机?如果你正在进行多点触控,那么我认为没有任何用处,因为每次触摸的id都很重要。
我也知道[event allTouches]
实际上返回了所有窗口中的所有触摸,但是当我们在cocos2d中进行操作时,我认为大部分时间我们只处理一个窗口?
所以说我的游戏一次只有1个视图(openGL视图),所以我应该使用哪些视图?
第一个参数触及或[event allTouches]
?
希望有人可以解决这个问题:)
答案 0 :(得分:1)
如果您想使用多点触控,您应该使用此功能:
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
如果您想使用一次触摸,您应该使用此功能:
- (void)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
如果您使用多点触控并且需要第一次触摸,则应使用NSSet触摸的第一个参数,对于第二次触摸,您应该使用第二个参数等。