2010-07-04 6 views
7

Ich versuche, den Ort des Berührungsereignisses auf dem Bildschirm vonHolen Sie sich Berührung von BerührungenBegan? (Und andere Spielfragen)

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

Welchen Code kann ich zum Lesen der Touch-Koordinaten verwenden? Ich bin soweit so weit gekommen:

Ich versuche, ein Spiel mit einer OpenGL-Vorlage-Anwendung zu machen. Die Berührungen werden nur in der Datei EAGLView registriert, nicht in der Datei ESRenderer1. Ich nehme an, dass ich die EAGlView verwenden sollte, um Variablen festzulegen und dann die Variablen von dort in den ESRenderer einzulesen, um Spielberechnungen durchzuführen. Ist das ein guter Ansatz?

Antwort

15

Der folgende Code funktioniert es:

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

Ich würde wählen 'verwenden für (UITouch * Note in berührt) {}' /*...*/ statt. (Schnelle Aufzählung!) – bddckr

+0

Was ist, wenn ich nur die letzte Berührung möchte, keine der anderen Informationen? Wie würde das funktionieren? – Moshe

+0

Ich denke, das Array ist eine Liste der "neuesten" Berührungen, in denen es darstellt, wo sich gerade Finger auf dem Bildschirm befinden. Meistens wird das Array nur ein Element für die meisten Anwendungen haben. –

Verwandte Themen