swift - 更新循环中的递增计数器?

标签 swift sprite-kit skaction

我想在 SKScene 更新(游戏循环)中大约每 2 秒递增一个计数器变量,我可以使用计时器变量并使用增量时间递增它。

self.incTimer = self.incTimer + self.deltaTime
if self.incTimer >= 2.0 {
    self.counter++
    self.incTimer = 0.0
}

我很好奇是否还有其他方法,我查看了使用 waitForDuration 运行多个 SKAction,但是(正如我已经知道的那样)它们都同时运行。我可能会错过更好/另一种方式吗?

最佳答案

您可以将 repeatActionForever 与序列 Action 一起使用来制作一个每 2 秒运行一个 block 的重复计时器:

SKAction.repeatActionForever(
    SKAction.sequence([SKAction.waitForDuration(2),
                       SKAction.runBlock({self.counter++})])
                            )

关于swift - 更新循环中的递增计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29017217/

相关文章:

Swift-Scale SKAction 不起作用

ios - 在运行时修改重复任务序列

ios - scopeButtonTitles 始终为零

ios - 在另一个 View 中禁用按钮

ios - 随机运动/湍流 - SWIFT

ios - Swift Spritekit 计数触摸

ios - 在 Sprite Kit 中确定一个点是否位于物理体的边界内

ios - 使用 block 的 Sprite-kit Action

ios - UISplitViewController 将详细 View 推送到表/主视图

swift - 如何在 Swift 中修复 UITextView 文本内容位置