Как добавить жест встряхивания в Cocos2d CCLayer?

Я попытался использовать оболочку распознавания жестов встряхивания, чтобы обнаружить жест встряхивания. Я также попытался реализовать код, предложенный в Geeky Lemon. Но я не могу справиться с жестом встряхивания. Есть ли способ распознать жест встряхивания?

Спасибо!

ИЗМЕНИТЬ 1:

Код делается с помощью демо-оболочки Shake Gesture Recognition.

в методе инициализации

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");   
    } 
}

person Marine    schedule 23.08.2012    source источник


Ответы (2)


Создайте свой распознаватель жестов обычным способом, а затем добавьте его так

[[[CCDirector sharedDirector] view] addGestureRecognizer:shakeGesture];
person Ben Trengrove    schedule 23.08.2012

Вы должны использовать ShakeEnabledUIWindow вместо UIWindow. В вашем AppDelegate вам нужно импортировать файл, и вам нужно создать экземпляр для этого окна, например

#import "ShakeEnabledUIWindow.h"

Затем создайте экземпляр для ShakeEnabledUIWindow

@property (strong, nonatomic) ShakeEnabledUIWindow *window;

Теперь это сработает. Попробуйте эти ссылка для реализации вашего Shake Gesture.

person arthankamal    schedule 19.12.2012