您好我每次重复操作时都会尝试生成随机时间间隔,但只有在vied加载时才会随机生成时间间隔。
这是我的代码:
let moveBucketLeft = SKAction.moveByX(400, y: 0, duration: NSTimeInterval(grabRandomTime()))
let moveBucketRight = SKAction.moveByX(-400, y: 0, duration: NSTimeInterval(grabRandomTime()))
moveBucketLeftAndRight = SKAction.sequence([moveBucketLeft,moveBucketRight])
let repeatMovement = SKAction.repeatActionForever(moveBucketLeftAndRight)
bucket.runAction(repeatMovement)
方法grabRandomTime只生成1到5之间的随机持续时间。
我需要所有帮助。谢谢!
这是我的生成随机值方法:
func grabRandomTime() ->UInt32{
var time = arc4random_uniform(6) + 1
return time
}
该动作在viewdidload中运行一次。我想也许为什么它只取一次随机值。我不确定如何每次运行该方法。我无法在脑海中处理:/
答案 0 :(得分:3)
在代码中使用let wait = SKAction.waitForDuration(sec, **withRange**: dur)
代替duration: NSTimeInterval(grabRandomTime()
。带有withRange参数的SKAction.waitForDuration将计算随机时间间隔,其中average = sec且可能的范围= dur