NSTimer.scheduledTimerWithTimeInterval() 可变延迟
NSTimer.scheduledTimerWithTimeInterval() with variable delay
我有一个函数需要每隔 x 秒调用一次。开始时 x = 5 但每次调用此函数时 x 都需要递减一定数量。如果 x 是常数,我知道该怎么做:
override func didMoveToView(view: SKView) {
NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: Selector("function"), userInfo: nil, repeats: true)
}
func function(){
println("TEST")
}
如何减少每次函数调用之间的延迟?
我会像这样更改您的代码:
var timeDuration: NSTimeInterval = 5
override func didMoveToView(view: SKView) {
NSTimer.scheduledTimerWithTimeInterval(timeDuration, target: self, selector: Selector("function"), userInfo: nil, repeats: false)
}
func function(){
println("TEST")
timeDuration -= 1
if timeDuration > 0{
NSTimer.scheduledTimerWithTimeInterval(timeDuration, target: self, selector: Selector("function"), userInfo: nil, repeats: false)
}
}
这应该可以,还没有测试过。
我有一个函数需要每隔 x 秒调用一次。开始时 x = 5 但每次调用此函数时 x 都需要递减一定数量。如果 x 是常数,我知道该怎么做:
override func didMoveToView(view: SKView) {
NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: Selector("function"), userInfo: nil, repeats: true)
}
func function(){
println("TEST")
}
如何减少每次函数调用之间的延迟?
我会像这样更改您的代码:
var timeDuration: NSTimeInterval = 5
override func didMoveToView(view: SKView) {
NSTimer.scheduledTimerWithTimeInterval(timeDuration, target: self, selector: Selector("function"), userInfo: nil, repeats: false)
}
func function(){
println("TEST")
timeDuration -= 1
if timeDuration > 0{
NSTimer.scheduledTimerWithTimeInterval(timeDuration, target: self, selector: Selector("function"), userInfo: nil, repeats: false)
}
}
这应该可以,还没有测试过。