Comenzando desde un proyecto nuevo en COCOS2D y eliminando el contenido del hello world (como ya hicimos en el tutoria acelerómetro) tenemos que añadir las siguientes líneas de código:
// on "init" you need to initialize your instance -(id) init { // always call "super" init // Apple recommends to re-assign "self" with the "super" return value if( (self=[super init])) { //Habilitamos la pantalla táctil self.isTouchEnabled = YES; //Creamos un label para mostrar información etiqueta = [CCLabelTTF labelWithString:@"No se detecta ningún dedo" fontName:@"Papyrus" fontSize:34]; etiqueta.position = ccp(240,160); [self addChild:etiqueta]; } return self; } -(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { } -(void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { } -(void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { }
Con esto hemos creado la etiqueta (label) que nos indicará cuantos dedos tenemos en la pantalla, y además hemos habilitado la pantalla para "poder tocarla" y reconocer los "toques". Justo después he creado los 3 procedimientos necesarios (deben tener el mismo nombre que yo os pongo). Como el nombre indica, cada uno es lanzado cuando se produce un inicio, un movimiento, y un fin en cada detección.
Por otro lado, queremos que detecte MULTIPLES dedos, por lo que debemos ir nuestro AppDelegate.m y añadir la siguiente linea, justo después de inicializar el glview
<[glView setMultipleTouchEnabled:YES];Por último sólo queda "rellenar" los procedimientos de ccTouches:
-(void)actualizaEtiquetaConTexto:(NSString *) txt Dedos:(int) dedos{ [etiqueta setString:[NSString stringWithFormat:@"%d dedo(s) detectado(s): %@",dedos, txt]]; } -(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self actualizaEtiquetaConTexto:@"Inicio" Dedos:[touches count]]; } -(void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { [self actualizaEtiquetaConTexto:@"Movimiento" Dedos:[touches count]]; } -(void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [self actualizaEtiquetaConTexto:@"Fin" Dedos:[touches count]]; }
Y eso es todo por hoy, otro tutorial simple. Poco a poco iré profundizando e incluso haré un pequeño juego
No hay comentarios:
Publicar un comentario