设计用于在 SpriteKit
项目中使用。
创建一个 SKTimer
对象的实例
let timer = SKTimer()
在您的场景中调用新计时器的 start(_:)
方法,传入当前位置的时间。这是场景更新方法中的 currentTime
参数。通常您会希望在场景中创建一个属性来保存此值,以便在更新方法外部访问它
timer.start(currentTime)
在场景的更新方法中,确保调用计时器的 update(_:completion:)
方法,传入当前位置。这样计时器就能计算其计数
timer.update(currentTime, timeUp: nil)
您可以从中 time
属性获取计时器的当前时间
print(timer.time)
这是一个非常简单的示例场景,它在触摸时启动一个 SKTimer
import SpriteKit
import SKTimer
class GameScene: SKScene {
var currentTime = 0.0
var timer = SKTimer()
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
timer.start(currentTime)
}
override func update(currentTime: CFTimeInterval) {
self.currentTime = currentTime
if timer.on {
print(timer.time)
timer.update(currentTime, timeUp: nil)
}
}
}
您可以为您的时间设定可选时间限制,并在达到该限制时收到回调。创建一个限制为 10 秒的计时器,如下所示:
var timer = SKTimer(limit: 10)
乘数属性的默认值是 1.0。您可以通过增加或减少这个值来加快或减慢计数器的速度。例如,创建一个比实际时间快两倍的计时器
var timer = SKTimer(multiplier: 2.0)
SKTimer 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile
pod "SKTimer"
KyleGoslan
SKTimer 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。