genannt wird Ich habe das Spiel mit den Noten in einer iOS-Anwendung zu erkennen, und ich habe diesen einfachen CodeTouches Ended nicht
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"%lu",(unsigned long)[touches count]);
[touches enumerateObjectsUsingBlock:^(id obj, BOOL *stop) {
UITouch *touch = obj;
CGPoint touchLocation = [touch locationInNode:self.scene];
NSLog(@"B x:%f - y:%f",touchLocation.x,touchLocation.y);
}];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[touches enumerateObjectsUsingBlock:^(id obj, BOOL *stop) {
UITouch *touch = obj;
CGPoint touchLocation = [touch locationInNode:self.scene];
NSLog(@"E x:%f - y:%f",touchLocation.x,touchLocation.y);
}];
}
Die touchesBegan fein aufgerufen wird, wenn ich von 1 Finger lege bis zu 5 Finger auf dem Bildschirm zur gleichen Zeit, ich sehe es mit der richtigen Information aufgerufen
Das gleiche passiert nicht mit touchesBegan
, viel Zeit, wenn ich 3 Finger auf dem Bildschirm habe und sie gleichzeitig entfernen, sehe ich nur Informationen über 2 Berührungen werden beendet (und manchmal sogar 1). Wenn ich die Finger nacheinander herausnehme, wird die Methode auch 2-mal aufgerufen (manchmal 1, obwohl es selten 3-mal richtig heißt). Wenn die Anzahl der Berührungen steigt, wird auch die Wahrscheinlichkeit einiger Informationen nicht mehr berücksichtigt in der touchesEnded
Methode
Methoden touchesMoved:withEvent:
und touchesCancelled:withEvent:
sind ebenfalls implementiert, mit der gleichen Logik wird
jemand dieses Verhalten erklären kann? Gibt es etwas, das mir fehlt?
Haben Sie dieses Problem beheben? – 0x141E
Gab es eine akzeptierte Antwort? – noobsmcgoobs