【发布时间】:2017-07-27 12:56:53
【问题描述】:
我有以下 Swift 代码,但是,当我在 Xcode Simulator 中运行它时,它会直接跳到“我不相信我们以前见过面”。如何让 Swift 等待“欢迎”首先执行?
import SpriteKit
import GameplayKit
class GameScene: SKScene {
override func didMove(to view: SKView) {
// Get label node from scene and store it for use later
let animateList = SKAction.sequence([SKAction.fadeIn(withDuration: 1.0), SKAction.wait(forDuration: 2.0), SKAction.fadeOut(withDuration: 1.0)])
let startScreen = SKLabelNode(fontNamed: "Helvetica Neue UltraLight")
startScreen.text = "Welcome"
startScreen.fontSize = 100.0
startScreen.fontColor = SKColor.white
startScreen.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
self.addChild(startScreen)
startScreen.alpha = 0.0
startScreen.run(animateList)
startScreen.text = "I don't belive we have met before"
startScreen.run(animateList)
}
}
【问题讨论】:
-
别听 J. Doe 的。使用 SpriteKit 开发游戏时应避免使用 Timer。只需将 SKAction.wait 与 SKAction.run 完成块一起使用即可。
-
为什么要运行两次动画列表?
-
啊,我想我明白发生了什么,您认为通过更改文本是您的操作序列的一部分,您想使用操作块将
startScreen.text = "I don't belive we have met before"放入您的序列并运行您的列出一次
标签: ios swift swift3 sprite-kit