Ich habe Probleme mit einem der Knoten in meiner Szene.Swift + SpriteKit - Button ist anklickbar, auch wenn nicht sichtbar
Ich habe eine Schaltfläche:
func createAttackButton() {
attackButton.zPosition = 1
attackButton.anchorPoint = CGPointZero
attackButton.position = CGPointMake(20, 20)
attackButton.size = CGSize(width: 150, height: 40)
addChild(attackButton)
}
Diese Funktion wird aufgerufen, wenn der Kontakt mit dem Feind gemacht wird.
Um eine Funktion aus dieser Taste verwende ich die touchesBegan() Func laufen:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
if attackButton.containsPoint(location) {
print("Attack Button Clicked")
}
}
}
Sobald der Feind ich den Angriff Button-Knoten entfernen zerstört wurde:
attackButton.removeFromParent()
jedoch in der Bereich, in dem der Angriffsknopf erscheint, nachdem er entfernt wurde, kann dieser Bereich noch angeklickt werden.
Irgendwelche Ideen?
Ja, containsPoint ist ein einfacher Punkt zum direkten Vergleich, es wird kein Elternteil benötigt, damit es funktioniert. 'Enthält die Grenze des Knotens diesen Punkt?' Ist im Grunde, was die Funktion tut. Da die Position nicht optional ist, können Sie containsPoint immer passierbar haben, es sei denn, es ist eine Breite und Höhe von Null möglich, nicht sicher, ob dies zulässig ist. – Knight0fDragon