PDA

Просмотр полной версии : Случайное число в setInterval


Ринсвинд
30.07.2007, 22:40
Как сделать, чтобы функция запускалась каждый раз через разное количество секунд?

Ведь

setInterval(mc1, 'myfunc', random(6000)+1000);
рандомизатор сработает только один раз, и с этой жесткой периодичностью функция и будет запускаться до нового запуска всего ролика.

etc
30.07.2007, 22:44
f = function() {
trace('hello');
clearInterval(id);
id = setInteval(this, 'f', Math.floor(Math.rabdom()*6000)+1000);
}
id = setInteval(this, 'f', Math.floor(Math.rabdom()*6000)+1000);

DarkLight
30.07.2007, 22:59
если Flash 8, то удобнее setTimeout

f = function() {
trace('hello');
setTimeout(f, Math.floor(Math.random()*6000)+1000);
}
setTimeout(f, Math.floor(Math.random()*6000)+1000);

etc
30.07.2007, 23:03
Угу. Только надо писать _global.setTimeout.
А так, я сделал скидку на версию…

CrazyFlasher
30.07.2007, 23:52
ну если пишешь на АС1, то глобал необязателен

etc
31.07.2007, 00:07
На AS2 тоже нужно. Ибо в intrinsic нет этого метода.