愚蠢的问题,但对我来说澄清非常有用。
我正在开发一款游戏,我想识别一系列连续两次滑动(水平和垂直)以触发特殊拍摄。
这就是问题所在。当我处理ccTouchesEnded时,ccTouchesMoved ccTouchesBegan方法在多点触控事件的情况下存在一些并发问题。
问题在于,如果我正在评估一系列触摸(touchBegan在位置(0,0),touchMoved在pos(1,0),touchMoved在pos(2,0),touchEnded at pos(3,0) ))和用户按照新的触摸系列(比如位置(10,40))然后很难区分这两个系列。
有什么建议吗?
Cocos2d提供的功能中的NSSet触摸是否有用?
例如:
-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
如何区分各种触摸?我的意思是,什么时候
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
答案 0 :(得分:2)
您可以存储传入的触摸,然后检查它们是否在touches
/ ccTouchesMoved
/ ccTouchesEnded
的{{1}}参数中,并相应地处理它们。不要忘记在ccTouchesCancelled
/ ccTouchesEnded
时删除存储的动画。