我正在使用Swift制作一个测验应用程序。我想添加一个从60秒(1分钟)倒计时的计时器,这样当它达到0时,游戏就结束了。我该如何添加计时器?
答案 0 :(得分:0)
这可以帮助您,将适当的游戏逻辑放在updateTimer函数和stopCountDownTimer函数上。
class TimerTestViewController: UIViewController {
var totalSecondsCountDown = 60 // 60 seconds
// timer
var timer : NSTimer!
override func viewDidLoad() {
super.viewDidLoad()
self.startCountDownTimer()
}
func updateTimer() {
if self.totalSecondsCountDown > 0 {
self.totalSecondsCountDown = self.totalSecondsCountDown - 1
println("timer countdown : \(self.totalSecondsCountDown)")
}
else {
self.stopCountDownTimer();
println("timer stops ...")
}
}
func startCountDownTimer() {
if self.timer != nil {
self.timer.invalidate()
self.timer = nil
}
if self.totalSecondsCountDown > 0 {
self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "updateTimer:", userInfo: nil, repeats: true)
NSRunLoop.currentRunLoop().addTimer(self.timer, forMode: NSRunLoopCommonModes)
self.timer.fire()
}
}
func stopCountDownTimer() {
if self.timer != nil {
self.timer.invalidate()
self.timer = nil
}
}
}