Как мне сделать так, чтобы случайное число продолжало изменяться со временем в программе (то есть становиться новым в пределах диапазона каждый раз, когда я хочу его использовать)?
Я в тупике. Я прочитал более 20 различных сообщений и статей о том, как генерировать случайные числа на этом языке (в котором я новичок), и я просто не могу заставить его работать.
Я в основном пытаюсь получить случайный двойной от 1.0-3.0. Я могу сделать это довольно легко, но как только он выбрал этот номер, он не изменится. Это мой код, который я использую:
var randomNumber:Double = (Double(arc4random() % 3) + 1);
Затем я использую это как значение для строки:
SKAction.waitForDuration(randomNumber)
Каждый раз, когда я запускаю это, я хочу снова изменить номер, но как только программа запускается, она продолжает тот же номер (он меняется каждый раз, когда я сбрасываю программу)
Я понимаю, как сгенерировать номер, но не могу ничего найти по его обновлению!
я пытался добавить
randomNumber = (Double(arc4random() % 3) + 1);
в код в том месте, где он будет запускаться много раз, но все равно дает мне то же самое.
Я очень хорошо знаком с С++, поэтому, если вы пытаетесь что-то объяснить, вы можете сослаться на его стиль, и я, скорее всего, пойму.
randomNumber
— это переменная, а не указатель на функцию, поэтому, когда вы говоритеSKAction.waitForDuration(randomNumber)
, вы на самом деле каждый раз говорите varrandomNumber = 3; SKAction.waitForDuration(3)
. Вам нужно сначала создать новое случайное число, затем создать новый waifForDuration с этим новым случайным числом и добавить это новое действие в спрайт. - person Knight0fDragon   schedule 20.01.2016