Swift 2在3秒后执行功能
我试图在swift 2中3秒后执行一个函数。我尝试过很多事情,但都没有成功。这是swift 2中的一款精灵套装游戏,请告诉我怎么做 现在调用函数的方式如下所示Swift 2在3秒后执行功能,swift,sprite-kit,swift2,Swift,Sprite Kit,Swift2,我试图在swift 2中3秒后执行一个函数。我尝试过很多事情,但都没有成功。这是swift 2中的一款精灵套装游戏,请告诉我怎么做 现在调用函数的方式如下所示 self.adjustScore() 编辑这样解决,谢谢谷歌第4页 let triggerTime = (Int64(NSEC_PER_SEC) * 1) dispatch_after(dispatch_time(DISPATCH_TIME_NOW, triggerTime), dispatch_ge
self.adjustScore()
编辑这样解决,谢谢谷歌第4页
let triggerTime = (Int64(NSEC_PER_SEC) * 1)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, triggerTime), dispatch_get_main_queue(), { () -> Void in
self.adjustScore()
})
})
试试这个:
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(3.0 * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.adjustScore()
}
试试这个:
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(3.0 * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.adjustScore()
}
通常我会对上述答案投反对票,但OP没有在问题标题中指定它是
SpriteKit
。在SpriteKit
中,您不希望使用NSTimers
或调度计时器,因为如果暂停场景,则不会暂停这些计时器。相反,使用SKAction.waitForDuration
和SKAction.runBlock
的组合来实现所需的效果
self.runAction(SKAction.sequence([SKAction.waitForDuration(3),SKAction.runBlock({[[unowned self] in self.adjustScore()})])
通常我会对上述答案投反对票,但OP没有在问题标题中指定它是
SpriteKit
。在SpriteKit
中,您不希望使用NSTimers
或调度计时器,因为如果暂停场景,则不会暂停这些计时器。相反,使用SKAction.waitForDuration
和SKAction.runBlock
的组合来实现所需的效果
self.runAction(SKAction.sequence([SKAction.waitForDuration(3),SKAction.runBlock({[[unowned self] in self.adjustScore()})])
您可以由用户执行选择器或使用
NSTimer
。不要编辑问题以显示正确答案;您应该回答自己的问题。您可以使用Selector或UseNSTimer
。不要编辑问题以显示正确答案;你应该回答你自己的问题。