![]() |
Allow smoothing для подгружаемых картинок через xml при помощи цикла
Здравствуйте.
Делаю скрол картинок. Гружу в него картинки через xml циклом. Но они при анимации коробятся, и плохо выглядят. Думаю allow smoothing исправит ситуацию. Но как это сделать пока немного не ясно. Вот пример: Код AS1/AS2:
|
Для начала перестаньте использовать метод из прошлого века loadMovie, и используйте нормальный АС2 MovieClipLoader. Возможно, тогда при отрисовке битмапдаты картинка в отрисовываемый клип уже будет загружена. Сейчас Вы рисуете в битмапдату пустоту.
|
Спасибо за совет. Я так понимаю отрисовывать при
Код AS1/AS2:
Вопрос. Создавать MovieClipLoader и слушателя к нему в цикле и там же удалять после загрузки? |
1. Я так понимаю отрисовывать при
Да 2. Создавать MovieClipLoader и слушателя к нему в цикле и там же удалять после загрузки? Создавать один раз. Вне цикла, естессно. Либо в этом цикле проверять, что ОНО уже создано (это накладнее). Удалять после загрузки всего интересующего контента. |
1. Да
2. Нет. Создавать перед запуском цикла один лоадер, а листенер вообще не надо создавать - их у Вас полно, можете любой объект использовать как листенер. Обычно используют this. По-хорошему вообще цикла быть не должно, а должна быть последовательная загрузка (поищите в поиске, тут много раз обсуждалось) - это когда вторая картинка ставится на загрузку только после того, как наступило онЛоадИнит первой картинки. (рекурсия). С этим правда очень важно разобраться и научиться раз и навсегда делать загрузку удобной, со всеми событиями слежения и тп. Посмотрите тут для примера (там не все гладко, но хоть суть уловите) : http://flasher.ru/forum/showpost.php...6&postcount=21 |
Wolsh, а в чем проблема грузить сразу по несколько (2-10) ресурсов одновременно? Простейший LoaderQueue справится с этой задачей. Другой вопрос, если внешних ресурсов очень много. Тогда, чтобы предотвратить "лаги" на клиенте, нужно ограничивать количество одновременно грузящихся ресурсов вышеназванным количеством.
Upd: А при чем здесь рекурсия? |
Wolsh Спасибо за наводку. Меня самого напрягает одновременная загрузка картинок циклом.
Добавлено через 11 минут Цитата:
|
dimarik - Я раньше делал циклом, причем и лоадеры с листенерами создавал для каждой картинки, и было все замечательно, пока смотришь дома на локале))) Но фишка в том, что браузеры по-разному поддерживают многопоточную загрузку - кто 10 потоков одновременно, кто только пять. Мало того, эту цифру обычно юзер может указать своему браузеру в настройках, и тут уж мы вообще бессильны. Поэтому теперь рекомендую последовательную загрузку, но не настаиваю, решайте сами. По мне так и появляющиеся по-очереди картинки выглядят эстетичнее))) и проще обеспечить упорядоченное расположение на странице, если важен порядок... В общем вот так. А замедление в скорости практически незаметно и даже скрашивается тем, что у Вас постоянно происходит появление нового изображения на сцене, некая динамика))) А не так что минуту ждете, а потом как из ведра полсотни картинок высыпалось, на сцене все прыгает-скачет, перестраиваясь (потому что загружается то третья в пятом ряду, то вторая в первом - в зависимости от веса). Не убедил?)))))
ps Рекурсия в смысле вызова функцией самой себя и в смысле прохода по XML или массиву без помощи цикла. А может и не в тему ляпнул)))) в действительности здесь функция не вызывает сама себя, а только процесс, который приведет к ее вызову))) Вы правы. Art_133 Код:
var myLoader:MovieClipLoader = new MovieClipLoader(); |
Спасибо! Теперь всё ясно.
Добавлено через 2 минуты Цитата:
|
а хмл выложить можно?
|
| Часовой пояс GMT +4, время: 09:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.