我在网上发现了这个非常有用的代码,但是我无法使其运行。变量名都是正确的,并且我使用了print语句来确保它确实适用于此功能。它似乎似乎没有在Label节点上运行序列。谢谢
func fadeOutInfoText(){
infoLabel1.removeAllActions()
infoLabel2.removeAllActions()
speechIcon.removeAllActions()
let wait:SKAction = SKAction.wait(forDuration: 0.5)
let fade:SKAction = SKAction.fadeAlpha(to: 0, duration: 0.5)
let run:SKAction = SKAction.run {
self.infoLabel1.text = ""
self.infoLabel2.text = ""
self.infoLabel1.alpha = 1
self.infoLabel2.alpha = 1
self.speechIcon.alpha = 1
self.speechIcon.isHidden = true
}
let seq:SKAction = SKAction.sequence([wait,fade,run])
let seq2:SKAction = SKAction.sequence([wait,fade])
infoLabel1.run(seq)
infoLabel2.run(seq2)
speechIcon.run(seq2)
}
let sprite = SKSpriteNode(imageNamed:"Spaceship")
let scale = SKAction.scale(to: 0.1, duration: 0.5)
let fade = SKAction.fadeOut(withDuration: 0.5)
let sequence = SKAction.sequence([scale, fade])
sprite.run(sequence)
让我知道它是否有用。
update(_:)
方法中调用此函数,因为这会阻止标签和语音图标执行任何操作,因为在场景执行操作之前已删除了这些操作(请参见here)。在这组动作可以在其他地方完成之前,请确保您没有删除所有动作并更改标签的alpha。