![]() |
updateAfterEvent (перерисовка) из цикла (for each)
Как заставить плеер перерисовывать сцену во время бегущего скрипта в цикле for each?
Уже перепробовал все комбинации с: 1) Созданием таймера и вызовом его e.updateAfterEvent(); 2) stage.addEventListener(Event.RENDER, handler); 3) stage.invalidate(); Ничего не помогает. Флэшка намертво цепенеет, пока цикл не отработает. Какие идеи/советы будут? |
Бить скрипт на части и выполнять по интервалу (в моем случае это было сжатие энкодером большого количества картинок: сжимала - вызывала по интервалу сохранение следующий).
Пока не выполнится скрипт экран не отрисуется. |
Ясно. Значит, по старинке: onEnterFrame и всё такое?
|
Вам же ясно сказали
Цитата:
|
Ariel попробуйте изменить принцип перед циклом, приведите анимацию к некой статичной кратинке и далее запускайте цикл, это будет незаметно, я например блюрю фон и вывожу окошко, мол бла бла бла, идет крутой расчет, потом опять запускаете анимацию.
|
Цитата:
|
Да в том-то все и дело, что иногда эти мощные вложенные циклы фигачат дольше 15 секунд... Это никуда не годится ... С этим надо нещадно бороться..
|
попробуйте что-то в этом роде: http://www.flasher.ru/forum/showthread.php?t=143906
|
Ariel, от всей души сделал Вам пример.
Этот пример выводит на экран количество посчитанных чисел Фибоначчи. За правильность подсчета этих чисел я не ручаюсь, однако пример отлично иллюстрирует обновление экрана между вычислениями. Код AS3:
|
| Часовой пояс GMT +4, время: 02:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.