|
|
|||||
Функция, аналогичная delay
Всем доброго дня!
Как известно, все строчки скрипта выполняются мгновенно друг за другом. Вот в языке Delphi есть замечательная функция delay, которая может в определенном месте сделать задержку в выполении скрипта (на указанное количество мс) А есть ли в AS2 аналог такой функции или каким способом можно добиться такого же результата? |
|
|||||
Модрон-ветеринар
|
Первый аргумент - ссылка на нужную функцию, второй - время в мс, и далее может идти список передаваемых аргументов, через запятую.
setTimeout(myDelayedFunction, 500, 'hello, world!'); function myDelayedFunction(arg1) { trace(arg1); //hello, world! - через 0,5 сек }
__________________
Идите первым! Последний раз редактировалось mooncar; 26.02.2014 в 13:12. |
|
|||||
Насчет первого кода я понял примерно, а вот со вторым, честно говоря, разобраться не могу.
|
|
|||||
Модрон-ветеринар
|
Задается отложенное исполнение функции.
Потом по логике приложения, игры и т.п. вдруг оказывается, что его нужно отменить. Отменяем: Бывает такое нужно, я вот заодно и привел вам.
__________________
Идите первым! |
|
|||||
>>сделать задержку в выполении скрипта
только это не бездействие как в делфи, а работа в холостую |
|
|||||
mooncar
Спасибо за разъяснение! silin Этот вариант скрипта вызывает легкое зависание при создании SWF. И trace происходит мгновенно, выводя два числа. Так и положено? |
|
|||||
Ага )))
Господин Silin слегка лажанулси )))))) Это не Паскаль, да )))))) |
|
|||||
а чего вдруг лажанулся та ?
этот цикл вызывает задержку в выполнении, чего дословно спрашивал ТС будучи помещенным в первый кадр задержит этот кадр(это задержка не при создании SWF, а уже при выполнении) , поместим на клик будет задерживать там, но в любом случае за счет приостановки всего процесса, включая и следующий enterFrame, в паскале нет такой фрагментации кода по кадрам, поэтому там этого просто негде увидеть, а по сути такой же delay.. |
|
|||||
То есть при вызове по клику он будет задерживать ход вообще всего SWF?
|
|
|||||
будет задерживать, у флеша один поток вычислений, т.е. пока такой цикл не выполнится, ничего другое происходить не будет
поэтому, никто такое не использует, а используют асинхронный setTimeout я только из буквоедства ('задержку в выполении', 'AS2 аналог' ) привел, а предупредить не догадался, сори |
Часовой пояс GMT +4, время: 15:34. |
|
« Предыдущая тема | Следующая тема » |
|
|