PDA

Просмотр полной версии : задержка итерации цикла в функции


mastergrom
23.05.2008, 03:02
Всегда хотел спросить:
Данные подгружаю методом SendAndLoad

дальше примерно такой код:

myWorks = new LoadVars ();
myWorks.onLoad = function (ok) {
if (ok) {
for (i=0;i<this.numRows; i++) {
newPic=attachMovie('thumb', 'thumb'+i, i);
newPic.thumb=this['thumb'+i];
// ну вобщем в этом цикле я получаю данные и обрабатываю их
// и мне нужно сделать задержку в пару сек. для каждой итерации}
}else {trace('error')}
}


Подскажите как реализовать?

iNils
23.05.2008, 03:16
1. Раз цикл запущен, значит данный уже получили, а не получаете.
2. Задержку внутри цикла реализовать нельзя. Весь код должен быть выполнен в пределах времени отведенного на фрейм.
Поэтому, нужно отказываться от цикла и используя setInterval запускать функцию каждый N миллисекунд, а внутри это функции делать итерацию счетчика и проверять, чтобы он не выходил за пределы numRows.

mastergrom
23.05.2008, 03:37
1. Раз цикл запущен, значит данный уже получили, а не получаете.
2. Задержку внутри цикла реализовать нельзя. Весь код должен быть выполнен в пределах времени отведенного на фрейм.
Поэтому, нужно отказываться от цикла и используя setInterval запускать функцию каждый N миллисекунд, а внутри это функции делать итерацию счетчика и проверять, чтобы он не выходил за пределы numRows.

ОК, попробую Ваш вариант,

а нелзя ли реализовать примерно так:
что-б для каждой newPic в цикле устанавливалось изначальное свойство _alpha=0-i*10, и потом если оно <100 то оно бы +=10 пока не будет 100?

iNils
23.05.2008, 03:41
Можно с помощью класса Tween, задавая начальное и конечное значение и время на выполнение.