如何让 SKAction 在随机时间后重复自身
How do I get a SKAction to repeat itself after a random period of time
我目前有下面的代码,每 2 秒愉快地重复一个动作,但我希望它发生在一个完全随机的时间段,例如 1 到 10 秒之间的某个时间,我尝试了几行不同的代码使用 none 有效的 arch4random。我希望它是一个简单的修复,非常感谢任何建议。
谢谢runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(callBird), SKAction.waitForDuration(2.0)])))
如果您尝试随机化持续时间参数,
+ waitForDuration:withRange: 会完成这项工作。
runAction(
SKAction.repeatActionForever(
SKAction.sequence([SKAction.runBlock({/*do your stuff*/}),
SKAction.waitForDuration(2, withRange: 3) ])))
来自文档:
Each time the action is executed, the action computes a new random
value for the duration. The duration may vary in either direction by
up to half of the value of the durationRange parameter.
意味着如果将持续时间设置为 2 并将范围参数设置为 3,则可能的持续时间值将在 0.5 和 3.5 之间变化。
我目前有下面的代码,每 2 秒愉快地重复一个动作,但我希望它发生在一个完全随机的时间段,例如 1 到 10 秒之间的某个时间,我尝试了几行不同的代码使用 none 有效的 arch4random。我希望它是一个简单的修复,非常感谢任何建议。
谢谢runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(callBird), SKAction.waitForDuration(2.0)])))
如果您尝试随机化持续时间参数, + waitForDuration:withRange: 会完成这项工作。
runAction(
SKAction.repeatActionForever(
SKAction.sequence([SKAction.runBlock({/*do your stuff*/}),
SKAction.waitForDuration(2, withRange: 3) ])))
来自文档:
Each time the action is executed, the action computes a new random value for the duration. The duration may vary in either direction by up to half of the value of the durationRange parameter.
意味着如果将持续时间设置为 2 并将范围参数设置为 3,则可能的持续时间值将在 0.5 和 3.5 之间变化。