スプライトに触れたときにタッチを検出して反応したいのですが、独自のクラスを使用して覆いたくはありません(touchesBeganメソッドで処理されます)。私はそれをシーン上の別のスプライトとみなしたいだけです。 self.HangupButonとself.AnswerButton子スプライト上のタッチにアクセスするために、より簡単な方法があるかどうか、私は疑問に思う、Spritekitでは、一時的に作成されたSKSpriteNode変数でタッチイベントを処理する方法はありますか?
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;
}
しかし:私は現在、このようにそれをやっていますか?
ビューとノードはあなたができる、2つの異なるものであれば第二に、他の追加ですスプライトに直接レコグナイザを追加すると、ビューに追加する必要があります。レコグナイザデリゲートをシーンに追加し、シーン内のどの場所で彼が既に使用しているコードをタッチしたのかを判断します – Knight0fDragon