如何在随机的一段时间后让SKAction重复自己

时间:2015-11-25 21:51:10

标签: swift random sprite-kit repeat skaction

我目前有以下代码,每2秒钟愉快地重复一次动作,但我希望它发生在一个完全随机的时间段,例如1到10秒之间,我尝试使用arch4random进行几行不同的代码其中没有效果。我希望这是一个简单的解决方案,非常感谢任何建议。

感谢runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(callBird), SKAction.waitForDuration(2.0)])))

1 个答案:

答案 0 :(得分:4)

如果您尝试随机化持续时间参数,a + waitForDuration:withRange:将完成这项工作。

runAction(
            SKAction.repeatActionForever(
                SKAction.sequence([SKAction.runBlock({/*do your stuff*/}),
                   SKAction.waitForDuration(2, withRange: 3) ])))

来自文档:

  

每次执行操作时,操作都会计算新的随机数   持续时间的价值。持续时间可以在任何方向上变化   最多为durationRange参数值的一半。

表示如果持续时间设置为2且范围参数设置为3,则可能的持续时间值将在0.5和3.5之间变化。