iOS编程中的手势识别

时间:2011-01-05 08:09:13

标签: ios cocos2d-iphone gesture-recognition

如何使用cocos2d在iOS编程中进行简单的手势识别?当您滑动屏幕时,手势只是指手指的路径。

当用户触摸屏幕时,我想在游戏中使用一些简单的手势,例如线条(八个方向),圆圈,方块和其他手势,如“V”,“^”,“<”,“> ;”。有没有简单的方法可以快速识别用户输入?

2 个答案:

答案 0 :(得分:3)

iOS SDK 3.2引入了UIGestureRecognizer类,用于简单识别简单手势。

UIGestureRecognizer的具体子类如下:

UITapGestureRecognizer
UIPinchGestureRecognizer
UIRotationGestureRecognizer
UISwipeGestureRecognizer
UIPanGestureRecognizer
UILongPressGestureRecognizer

如果您需要识别其他手势,可以尝试对UIGestureRecognizer进行子类化,例如“复选标记”手势。请参阅Apple的参考文档中的子类化注释。

答案 1 :(得分:1)

尝试以下链接http://www.techotopia.com/index.php/An_iPhone_iOS_4_Gesture_Recognition_Tutorial_(Xcode_4) 它描述了手势识别。

并尝试它:

UISwipeGestureRecognizer *recognizer;

recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];

recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];

recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionDown)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];

recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];