SKLabelNode
Xcode 6 を実行して、SpriteKit と Swift を使用してゲームを作成していmyLabelNode
ます。呼び出すmyLabelNode.removeFromParent()
と、必要に応じてノードがシーンから削除されます。ノード数が 1 減り、画面のどこにも表示されなくなります。ただし、以前の場所をクリックすると、私のプログラムは、タッチmyLabelNode
されたときにのみ発生するはずの関数を呼び出します。myLabelNode
との組み合わせも試してみましたmyLabelNode.removeFromParent()
がmyLabelNode.hidden = true
、それでもタッチ可能であり、そうすべきではないにもかかわらず関数を呼び出します。これを修正するにはどうすればよいですか? 私が使用すべき別の方法はありますか?これは起こるはずですか?
編集:
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*/
}
}