运行SKAction x次

时间:2017-03-14 04:00:37

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

我有一个SKAction,它基本上可以作为我在精灵套件中的游戏的倒数计时器。为了让它成为一个计时器,我把它放在一个运行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]))
    }

1 个答案:

答案 0 :(得分:4)

您无法使用for循环,您需要使用SKAction.repeat。原因是循环将执行self.run(SKAction.sequence([wait,action])) 50次而不等待SKAction.sequence([wait,action])完成。我假设你真正想要的是一次又一次地执行self.runSKAction.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)