Ich möchte Berührung erkennen und darauf reagieren, wenn ein Sprite berührt wird, aber ich möchte nicht, dass es mit einer eigenen Klasse abgedeckt wird (und daher in der touchBegan-Methode behandelt wird). Ich möchte nur, dass es als ein weiterer Sprite in der Szene betrachtet wird. Ich tue es derzeit so aus:Gibt es im Spritekit eine Möglichkeit, das Berührungsereignis auf einer temporär erstellten SKSpriteNode-Variablen zu behandeln?
UITouch * touch = [touches anyObject];
CGPoint location = [touch locationInNode:self];
SKSpriteNode *touchedNode = (SKSpriteNode *)[self nodeAtPoint:location];
if(touchedNode == self.AnswerButton) {
NSLog(@"ANSWER button pressed.");
return;
}
if(touchedNode == self.HangupButton) {
NSLog(@"HANGUP button pressed.");
[self hangUp];
return;
}
Aber, frage ich mich, wenn es ein einfacher Weg, um die Berührung auf self.HangupButon und self.AnswerButton Kind Sprites zugreifen?
Ansichten und Knoten sind zwei verschiedene Dinge, können Sie Füge den Erkenner nicht direkt zum Sprite hinzu, er müsste ihn zur Ansicht hinzufügen. Fügen Sie dann den Erkennerdelegierten zur Szene hinzu und bestimmen Sie dann, wo in der Szene er mit dem Code berührt wurde, den er bereits verwendet – Knight0fDragon