Cómo utilizar reconocedor gesto en una aplicación de iPhone OpenGLES?
Pregunta
Aunque sé cómo utilizar reconocedor gesto en una aplicación basada en la vista, pero cuando se aplican las mismas ideas en una aplicación basada en OpenGLSE: por ejemplo, Añado un TapGestureRecognizer, y cuando me toque en el EAGLView, se bloquea. Entonces, ¿puede alguien me muestran un uso estándar de UITapGestureRecognizer en una aplicación basada en OpenGLES?
mejores deseos.
Solución
A continuación, algunos ejemplos de código de uno de mis juegos OpenGLES con soporte de gestos. (No se estrella y espero que ayude)
- (void)viewDidLoad {
[super viewDidLoad];
CGRect rect = [[UIScreen mainScreen] bounds];
rect.size.height = 320;
rect.size.width = 480;
rect.origin.x = 0;
rect.origin.y = 0;
glView = [[EAGLView alloc] initWithFrame:rect pixelFormat:GL_RGB565_OES depthFormat:GL_DEPTH_COMPONENT16_OES preserveBackbuffer:NO];
[self.view addSubview: glView];
[glView addSubview: minimapView];
if(!shell->InitApplication())
printf("InitApplication error\n");
[NSTimer scheduledTimerWithTimeInterval:(1.0 / kFPS) target:self selector:@selector(update) userInfo:nil repeats:YES];
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(Panned:)];
[glView addGestureRecognizer:[pan autorelease]];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Tapped:)];
[glView addGestureRecognizer:[tap autorelease]];
UITapGestureRecognizer *dbltap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(DoubleTapped:)];
[dbltap setNumberOfTapsRequired:2];
[glView addGestureRecognizer:[dbltap autorelease]];
UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPressed:)];
[glView addGestureRecognizer:[longpress autorelease]];
}
Y la función de selección
- (void) LongPressed:(UILongPressGestureRecognizer*)sender{
NSLog(@"Long Pressed");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow