【发布时间】:2017-05-17 06:04:26
【问题描述】:
我正在 Xcode 上创建这个游戏,我想以秒为单位跟踪总游戏时间作为分数。但是如何将总播放时间保持在变量中?谢谢!
【问题讨论】:
-
你用的是SpriteKit还是UIKit?
-
我正在使用 SpriteKit
标签: ios swift xcode time timer
我正在 Xcode 上创建这个游戏,我想以秒为单位跟踪总游戏时间作为分数。但是如何将总播放时间保持在变量中?谢谢!
【问题讨论】:
标签: ios swift xcode time timer
最简单的方法是使用 Date() 保存游戏开始的时间戳,并在游戏结束时调用如下代码:
let seconds = Date().timeIntervalSinse(startDate)
常量“秒”将包含 Double 格式的秒数。 如果您想检查用户在应用程序中花费了多少时间,保存 startDate 的最佳位置是 applicationDidBecomeActive(_ application: UIApplication) 是您的应用程序委托和完成日期 - applicationWillResignActive(_ application: UIApplication)
【讨论】:
您可以为此目的使用NSTimer。创建类变量totalTime
var totalTime = 0
创建一个计时器
let timer: NSTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(tick), userInfo: nil, repeats: true)
然后你可以定义你的 tick 方法为
func tick() {
totalTime += 1
}
完成后别忘了让计时器失效
【讨论】:
timer.invalidate()