如何在Cocos2d CCLayer中添加Shake Gesture?

时间:2012-08-23 13:02:52

标签: iphone cocos2d-iphone gesture shake

我尝试使用shake Gesture Recognition wrapper来检测摇晃手势。 我还试图实现Geeky Lemon中建议的代码。 但我无法处理摇晃手势。有没有办法让震动手势得到认可?

谢谢!

编辑1:

代码是在摇动手势识别包装演示的帮助下完成的。

在init方法

ShakeDispatcher * dispatcher = [ShakeDispatcher sharedInstance];
[dispatcher addShakeListener:self];    
[[[CCDirector sharedDirector]view] addGestureRecognizer:dispatcher];

-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {  
    if ( event.subtype == UIEventSubtypeMotionShake ){      
        NSLog(@"Shake detected");   
    } 
}

2 个答案:

答案 0 :(得分:1)

以正常方式创建手势识别器,然后像这样添加

[[[CCDirector sharedDirector] view] addGestureRecognizer:shakeGesture];

答案 1 :(得分:0)

您必须使用ShakeEnabledUIWindow代替UIWindow。在AppDelegate中,您需要导入文件,并且需要为该窗口创建实例,例如

#import "ShakeEnabledUIWindow.h"

然后为ShakeEnabledUIWindow

创建实例
@property (strong, nonatomic) ShakeEnabledUIWindow *window;

现在它会起作用。试试这些link来实施Shake Gesture