ios - 运行 SKAction x 次

标签 ios for-loop swift3 sprite-kit skaction

我有一个 SKAction,它本质上充当我在 sprite 工具包中的游戏的倒数计时器。为了让它成为一个计时器,我把它放在一个运行了 50 次的 for 循环中。这个 Action 的实际延迟是有效的,但是 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]))
    }

最佳答案

你不能为此使用 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)

关于ios - 运行 SKAction x 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42777556/

相关文章:

iphone - 无法更改字幕中 UILabel 的框架

javascript - 是否可以在 for 循环中有条件的第三个表达式?

ios - Realm 在更新时为嵌套对象创建多个条目

ios - 如何为 iphone 4 和 iphone 4s 开发设置 Xcode 9?

ios - 如何制作像Notes应用程序一样的删除动画

java - for 循环程序的建议

for-loop - 如何在 fish shell 中使用限制序列迭代for循环

ios - 使用谓词的字典过滤器数组 - swift3

ios - 获取在 VNDetectTextRectanglesRequest 完成处理程序上的 VNImageRequestHandler 中使用的 cvPixelBuffer

ios - 如何在应用程序中打开 youtube 视频?