我有两个按钮,我希望淡出。运行以下操作时没有任何反应。
.....
//Both buttons are SKSpriteNodes
gameOverRestart = SKSpriteNode(imageNamed: "restart.png")
gameOverMainMenu = SKSpriteNode(imageNamed: "harambe.jpg")
gameOverRestart.position = CGPoint(x: self.frame.midX - 80, y: self.frame.midY + 50)
gameOverMainMenu.position = CGPoint(x: self.frame.midX + 80, y: self.frame.midY + 50)
gameOverRestart.size = CGSize(width: 80, height: 80)
gameOverMainMenu.size = CGSize(width: 80, height: 80)
addChild(gameOverRestart)
addChild(gameOverMainMenu)
let fade = SKAction.fadeAlpha(to: 0, duration: 1)
gameOverMainMenu.run(fade)
gameOverRestart.run(fade)
答案 0 :(得分:3)
确保您的节点及其所有父节点未暂停。暂停的节点不会对操作做出反应,并且有效暂停(真的吗?我不知道...... :))。你可以像这样取消暂停节点:
node.paused = false
其中“node”是要取消暂停的节点的声明名称。
同时确保您的视图未暂停:
view.paused = false
至于评论中的其他问题,试试这个(可能效率不高但效果不错):
代码看起来像这样:
var running = false
...
let fade = SKAction.fadeAlpha(to: 0, duration: 1)
if running == false {
running = true
gameOverRestart.run(fade, completion: { running = false })
}