【问题标题】:Run SKAction x number of times运行 SKAction x 次数
【发布时间】:2017-08-04 06:59:03
【问题描述】:

我有一个 SKAction,它本质上是我在 sprite kit 中的游戏的倒数计时器。为了让它成为一个计时器,尽管我把它放在一个运行 50 次的 for 循环中。这个动作的实际延迟有效,但是 for 循环似乎把一切都搞砸了。 Spritekit 中倒数计时器的任何其他选项也可以。提前感谢您的帮助。

    let wait = SKAction.wait(forDuration:0.1)
    let action = SKAction.run {
        time = time - 1
    }
    for _ in 1...50 {
        self.run(SKAction.sequence([wait,action]))
    }

【问题讨论】:

  • 等待 0.1s 50 次而不是仅仅等待 5s 的原因是什么?
  • 我想通过这样的倒计时来增加游戏的强度。

标签: ios for-loop swift3 sprite-kit skaction


【解决方案1】:

您不能为此使用 for 循环,您需要使用 SKAction.repeat。原因是循环将执行self.run(SKAction.sequence([wait,action])) 50 次而不等待SKAction.sequence([wait,action]) 完成。我假设您真正想要的是一次执行一次self.run 和一次执行SKAction.sequence([wait,action]) 50 次。

这是我为您制作的示例。

    let wait = SKAction.wait(forDuration:0.1)
    let action = SKAction.run {
        time = time - 1
    }
    let repeatAction = SKAction.repeat(SKAction.sequence([wait,action]), count: 50)

    self.run(repeatAction)

【讨论】:

    猜你喜欢
    • 2013-11-15
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    相关资源
    最近更新 更多