![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
Сделал такое:
- из XML-файла получил количество фоток, - приаттачил в скроллер такое же количество мувиков, - в них подгружаю фотки. Все работает, если размеры фоток строго заданного размера. Цитата:
Подскажите, как по ходу загрузки фотографий техничнее отпозиционировать приаттаченные мувики по _x? Ведь ширину фоток НЕЛЬЗЯ узнать до их загрузки ((( |
|
|||||
|
Модрон-ветеринар
|
Не аттачте заранее. Аттачте по ходу загрузки.
Напишите функцию nextLoad(), которая бы управляла загрузкой очередной фотки. И в ней, если у вас используется стандартная scrollPane, в процессе загрузки узнавайте ширину вновь загруженной фотки и аттачите в общий конетйнер скроллера новый контейнер для очередной фотки уже с нужным сдвигом. Ну и redraw(true) в конце. |
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
не. так не пойдет. ))
зааттаченные мувики должны быть на сцене сразу ВСЕ, как только распарсен ХМЛ, до окончания загрузки фоток. NB. скроллер у меня свой |
|
|||||
|
Модрон-ветеринар
|
Ну или приаттачте конетйнеры сразу, в конце загрузки пересчитайте координаты и обновите скроллер.
|
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
одна под другую залазит - некрасиво визуально ))
видимо надо както двигать от текущего мувика все последующие |
|
|||||
|
Модрон-ветеринар
|
Свой, не свой, все равно, до загрузки фото вы ее размеры не узнаете.
Поскольку у вас свой скроллер, то вам лучше знать, как его обновить после загрузки всего-всего. Но по логике, сперва загружайте все, каждую фото делайте невидимой тут же, потом в конце пересчитайте геометрию по неведомому мне алгоритму и сделайте содержимое видимым. Либо другой вариант: Загружаете все и сразу, но тут же удаляете, перед этим с них отрисовав битмапу, используя уже известные размеры. Что-то вроде А потом создаете мувики уже для скроллера с нужными размерами и заполняете битмапой с помощью attachBitmap. Последний раз редактировалось mooncar; 05.11.2009 в 00:00. |
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
не хотелось бы нарушать юзабилити запретами, инвизами и тп
заатаченные мувики отображают еще и разный текст + ждут фоток. А если битмапу, то пока все 100 фоток загрузятся - никто про них может и не узнать ) наверное прийдется после каждой загруженной фотки делать реПозишн всем заатаченным мувикам Последний раз редактировалось Что такое хорошо?; 05.11.2009 в 00:09. |
|
|||||
|
Модрон-ветеринар
|
Что значит "нарушать юзабилити"?
То есть если вы хотите, чтобы процесс загрузки сопровождался постепенным появлением очередной фотки? Ну да, юзер должен видеть что-то. Тогда делайте пересчет положений всех контейнеров после загрузки каждой фотки, напишите функцию пересчета геометриии и вызывайте ее внутри onLoadInit на каждую загрузку. Кстати, я видел много горизонтальных галерей, где новый изображения, появляясь, двигают соседнние, как бы раздвигают их - это как раз то, что я написал выше. Только все же я бы сделал это с плавной анимацией раздвижки, чтобы мельтешения не было: 1. Загрузилась очередная фото - появилась поверх или под краями соседей, если они уже есть. 2. Вызывается функция, идет пересчет, высчитываются новые координаты. 3. Новые координаты передаются другой ф-ии, которая с помощью набора Tween двигает соседей и загруженную фото в новые места. Конечно, только еще нужно как-то предотвращать конфликты, если две фото практически одновременно загрузились. Какой-то таймаут перед их появлением делать. Последний раз редактировалось mooncar; 05.11.2009 в 00:13. |
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
ОК. Спасибо.
Хотя с Tween-ом я знаком слабо. Просто какое-то время был во флеш отпуске )) |
|
|||||
|
Модрон-ветеринар
|
Ну тогда через setInterval.
А с Tween все просто: |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|