我在隐藏和显示SKSpriteNode
方面遇到了麻烦。
但是,我确信使用hidden = true
会隐藏可见性。我想要做的是在按下标题时显示图像按钮,并在按下标题以外的其他位置时隐藏图像按钮。我有以下示例代码。我很乐意听取您的意见。
startSprite.position = CGPoint(x: self.size.width * 0.5, y: self.size.height * 0.5+startSprite.size.height)
self.addChild(startSprite)
startSprite.zPosition = 3
startSprite.hidden = true
startSprite.name = "start"
//When the title is pressed show the startSprite
//clicking a image
if touchNode.name == "normal" {
startSprite.hidden = false
if touchNode.name == "start" {
//start the game when the startSprite is pressed
} else {
startSprite.hidden = true
}
}
答案 0 :(得分:3)
如果我理解了您的意思,您希望在按下标题时显示startSprite
(name
为normal
,并在其他地方隐藏startSprite
标题被按下了。我建议你先给每个节点一个name
,然后再添加到场景中。通过这种方式,你可以更容易地知道你触摸了哪一个。希望这会有所帮助:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
let location = touch.locationInNode(self)
let touchNode = self.nodeAtPoint(location)
if touchNode.name == "normal" {
startSprite.hidden = false
} else {
startSprite.hidden = true
}
}
}