SKLabelNode desaparecerá, mas ainda pode ser clicado
Estou fazendo um jogo usando SpriteKit e Swift, executando o Xcode 6. Eu tenho umSKLabelNode
vamos chamá-lomyLabelNode
para este exemplo. Quando eu ligomyLabelNode.removeFromParent()
remove o nó da cena, como deveria. A contagem de nós cai em 1 e não é visível em nenhum lugar da tela. No entanto, quando clico no local em quemyLabelNode
anteriormente, meu programa ainda chamará a função que só deve acontecer quandomyLabelNode
é tocado. Eu também tentei combinarmyLabelNode.removeFromParent()
commyLabelNode.hidden = true
, mas ainda pode ser tocado e chama a função mesmo que não deva. Como devo corrigir isso? Existe um método diferente que eu deveria estar usando? Isso deveria acontecer?
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*/
}
}