2010-07-04 3 views
7

J'essaie d'obtenir l'emplacement de l'événement tactile sur l'écran deObtenir l'emplacement tactile de touchesBegan? (Et d'autres questions de jeu)

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event.

Quel code puis-je utiliser pour lire les coordonnées tactiles? Je suis allé si loin jusqu'à présent:

NSLog(@"Touch data: %@", [NSString stringWithFormat:@"NSSet: %@",[touches description]]); 

J'essaye de faire un jeu en utilisant une application de modèle OpenGL. Les touches ne seront enregistrées que dans le fichier EAGLView et non dans le fichier ESRenderer1. Je suppose que je devrais utiliser le EAGlView pour définir des variables et ensuite lire les variables à partir de là dans l'ESRenderer pour effectuer des calculs de jeu. Est-ce une bonne approche?

Répondre

15

Le code suivant le fait:

NSArray *touchesArray = [touches allObjects]; 
for(int i=0; i<[touchesArray count]; i++) 
{ 
    UITouch *touch = (UITouch *)[touchesArray objectAtIndex:i]; 
    CGPoint point = [touch locationInView:nil]; 

    // do something with 'point' 
} 
+5

Je choisis d'utiliser 'pour (UITouch * touche en touche) {/*...*/}' la place. (Énumération rapide!) – bddckr

+0

Et si je voulais juste la dernière touche, aucune des autres informations? Comment cela fonctionnerait-il? – Moshe

+0

Je pense que ce tableau est une liste des "dernières" touches en ce qu'il représente où doigt (s) sont actuellement sur l'écran. La plupart du temps, le tableau n'aura qu'un seul élément pour la plupart des applications. –

Questions connexes