Генерация случайного времени для субакций внутри repeatActionforever в последовательности для SWIFT
Привет я пытаюсь генерировать случайные интервалы времени каждый раз, когда действие повторяется, но он генерирует интервал времени случайным образом только тогда, когда 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. Я думаю, что, возможно, поэтому случайное значение принимается только один раз. Я не уверен, как запустить метод каждый раз. Я не могу обработать это в моей голове:/
1 ответ
Использование let wait = SKAction.waitForDuration(sec, **withRange**: dur)
вместо duration: NSTimeInterval(grabRandomTime()
в вашем коде. SKAction.waitForDuration с параметром withRange вычислит случайный интервал времени со средним значением = сек и возможным диапазоном = время