如何在 Swift 中使用 deltaTime 正确计算 1 秒

2024-05-23

我正在尝试计算经过的秒数deltaTime但我不知道该怎么做,因为我的deltaTime不断打印 0.0166 或 0.0167。

这是我的代码:

override func update(_ currentTime: CFTimeInterval) {
    /* Called before each frame is rendered */

    deltaTime = currentTime - lastTime
    lastTime = currentTime

我该如何做到这一点,以便我可以在这里压缩一些逻辑来每秒运行?

编辑:我能够想出以下内容,但是有更好的方法吗?

            deltaTimeTemp += deltaTime
            if (deltaTimeTemp >= 1.0) {
                print(deltaTimeTemp)
                deltaTimeTemp = 0
            }

我总是使用 SKActions 来处理此类事情:(用 swift 3 编写)

let wait = SKAction.wait(forDuration: 1.0)
let spawnSomething = SKAction.run {
   //code to spawn whatever you need
}

let repeatSpawnAction = SKAction.repeatForever(SKAction.sequence([wait, spawnSomething]))

self.run(repeatSpawnAction)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Swift 中使用 deltaTime 正确计算 1 秒 的相关文章

随机推荐