nadie ha logrado obtener el reconocimiento de gestos que trabaja en cocos2d?cocos2d-IOS - Gesto reconocedores
He leído un post aquí que afirmó haber logrado, aquí: http://www.cocos2d-iphone.org/forum/topic/8929
remendé desde el cubo git aquí: https://github.com/xemus/cocos2d-GestureRecognizers/blob/master/README
hice una subclase de CCSprite
(que es una subclase de CCNode
):
-(id) initWithTexture:(CCTexture2D*)texture rect:(CGRect)rect {
if((self=[super initWithTexture:texture rect:rect]))
{
CCGestureRecognizer* recognizer;
recognizer = [CCGestureRecognizer
CCRecognizerWithRecognizerTargetAction:[[[UITapGestureRecognizer alloc]init] autorelease]
target:self
action:@selector(tap:node:)];
[self addGestureRecognizer:recognizer];
}
return self;
}
método Delegado:
- (void) swipe:(UIGestureRecognizer*)recognizer node:(CCNode*)node
{
NSLog(@" I never get called :(");
}
Mi evento tap nunca se llama.
Alguien tiene este trabajo? ¿Qué tan difícil es realizar el reconocimiento de gestos manualmente para la detección de deslizamiento?
+1 para la respuesta de cc anterior, este es el método correcto. Puede usar todas las subclases UIGestureRecognizer de esta forma para detectar gestos de panoramización, pellizco y toque. También puede usar UILongPressGestureRecognizer con el estado de caso UIGestureRecognizerStateChanged identificado para detectar el arrastre. – KomodoDave
Agradable y limpio, encantador. Dos pequeños problemas: 1. locationInView devuelve las coordenadas en el sistema de coordenadas UIKit, éstos deben ser convertidos a GL coordenadas antes de usar, por ejemplo: 'p = [[CCDirector sharedDirector] convertToGL: [reconocedor locationInView: [CCDirector sharedDirector] .Ver]] ; ' 2. openGLView está en desuso como de Cocos2D 2.0, se ha reemplazado por' [CCDirector sharedDirector] .view'. – Eliot
¡Eso fue genial! Gracias ... –