2016-05-16 12 views
0

Ich weiß, dass dies schon einmal gefragt wurde, aber nichts hat genau das, was ich brauche. Jetzt stell dir diese Situation vor, ich habe ein Spiel und in diesem Spiel gibt es einen SKSpriteNode namens Background in der Mitte des Bildschirms. Auf diesem Hintergrund Sprite gibt es ein Kind namens Button. Wie würde ich feststellen, ob eine Berührung auf dem Button beendet wurde? Wenn mir jemand mit dem Code für die TouchesEnded-Funktion helfen könnte, kann ich vielleicht auch genauer erklären, was gerade passiert. Danke, swift wäre ideal, aber ich denke, ich kann Objective-C lesen, wenn es nötig ist.Wie erkennt man eine Berührung eines Kindes Sprite

ADDED INFO

Hier ist meine zwei Sprites sind:

let buttonBackground = SKSpriteNode(imageNamed: "Button Background.png") //The parent node of button 
let soundOn = SKSpriteNode(imageNamed: "Sound On.png") //The button being pressed, which is a child of buttonBackground 

Hier ist meine touchesEnded Funktion:

override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    // Called when a touch begins 

    for touch in touches { 
     let location = touch.locationInNode(self) 
     let nodeAtTouch = self.nodeAtPoint(location) 
     let touchedSprite = nodeAtTouch as! SKSpriteNode 

     if touchedSprite == button { 
      print("YES") 
     } 
    } 
} 

Antwort

1

Wenn eine Berührungs endet, von diesem Punkt den Knoten erhalten

override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    for touch in touches { 
     let location = touch.locationInNode(self) 
     let something = self.nodeAtPoint(location) 
     let skNode = something as! SKSpriteNode 
     //Do something with skNode 
    } 
} 
+0

skNode ist der SKSpriteNode, den Sie beim Berühren gefunden haben. Bitte zeigen Sie einen Code, wie Ihre Kollision funktioniert. Wenn Sie nicht damit vertraut sind, überprüfen Sie diese: http://www.techotopia.com/index.php/A_Swift_iOS_8_Sprite_Kit_Collision_Handling_Tutorial – penatheboss

+0

mein Schlechter ich meinte eine Aussage zu zeigen, wenn der SkNode berührt wird – grahamcracker1234

+0

Der SkNode ist der Knoten, der wird berührt ... Wann immer eine Berührung auftritt skNode ist der Knoten, der berührt wurde – penatheboss