SKLabelNode desaparecerá pero aún se puede hacer clic
Estoy haciendo un juego usando SpriteKit y Swift, ejecutando Xcode 6. Tengo unSKLabelNode
vamos a llamarlomyLabelNode
para este ejemplo Cuando llamomyLabelNode.removeFromParent()
elimina el nodo de la escena, como debería. El recuento de nodos se reduce en 1 y no es visible en ninguna parte de la pantalla. Sin embargo, cuando hago clic en el lugar dondemyLabelNode
anteriormente era, mi programa aún llamará a la función que solo debería suceder cuandomyLabelNode
es tocado También intenté combinarmyLabelNode.removeFromParent()
conmyLabelNode.hidden = true
, pero aún se puede tocar y llama a la función aunque no debería. ¿Cómo debo arreglar esto? ¿Hay un método diferente que debería estar usando? Se supone que pase esto?
Editar:
let lemonadeLabel = SKLabelNode(fontNamed: "Optima-ExtraBlack")
override func didMoveToView(view: SKView) {
lemonadeLabel.text = "Lemonade Stand"
lemonadeLabel.fontSize = 24
lemonadeLabel.fontColor = SKColor.yellowColor()
lemonadeLabel.position = CGPoint(x: size.width/2, y: size.height*0.66)
lemonadeLabel.zPosition = 2.0
addChild(lemonadeLabel)
}
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
let touch = touches.anyObject() as UITouch
let location = touch.locationInNode(self)
if lemonadeLabel.containsPoint(location) {
println("lemonadeLabel pressed")
lemonadeLabel.removeFromParent()
/*lemonadeLabel is now be removed,
however if I click the area where it
used to be, "lemonadeLabel pressed"
will print to the console*/
}
}