Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.05.2012, 15:12
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 1  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
Question Загрузка картинок и ApplicationComplete

Здравствуйте!

Подскажите, пожалуйста, такую вещь.

Есть флекс-проект, в котором на сцене находится множество различных компонентов - вьюшек. Вьюшки грузят в себя различные картинки. Есть псевдо прелоадер, который должен висеть, пока все объекты на сцене не прогрузились. Как отследить, что все картинки загрузились и сцена готова? Все ивенты типа creationComplete, applicationComplete главной mxml выстреливают гораздо раньше.

Спасибо за ответы.

Старый 21.05.2012, 20:30
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А как вы их грузите?
__________________
Hell is the possibility of sanity

Старый 22.05.2012, 11:35
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 3  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
обычным <s:Image/>

Старый 22.05.2012, 14:05
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Попробуйте вешать creationComplete на каждую картинку. В нем плюсуйте переменную. Когда переменная станет равна кол-ву картинок - загрузились все
__________________
In Code We Trust

Старый 22.05.2012, 14:21
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 5  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
Ну, во-первых, когда картинок штук 80 - это очень долго, много лишнего кода, да и вообще не изящно.
Во-вторых, финальное количество картинок еще не известно, и при каждом добавлении картинки плюсовать максимальное значение - точно где-то провтыкаешь (еще и над проектом работает несколько человек).
И кстати, по-моему, creationComplete сработает просто когда компонент <s:Image/> создастся, а не прогрузится картинка.

Старый 22.05.2012, 14:58
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 6  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Грузите лоадером, вешайте событие Event.COMPLETE. Как вы грузите картинки? У вас XML или что?
__________________
Кодинг, багинг, алгоритминг. me @

Старый 22.05.2012, 15:41
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 7  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
C сервера приходят адреса картинок.
Лоадером не вариант, это то же, что и на каждый Image вешать обработчик события. Я думал, есть какой-то флексовый ивент в родительском контейнере, который говорил бы, что все внутринние элементы готовы. Или еще как-то, без навешивания обработчиков на каждый элемент.

Старый 22.05.2012, 16:19
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 8  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
creationComplete сработает просто когда компонент <s:Image/> создастся, а не прогрузится картинка.
извиняюсь, не creationComplete, а просто complete.
Цитата:
Во-вторых, финальное количество картинок еще не известно, и при каждом добавлении картинки плюсовать максимальное значение - точно где-то провтыкаешь (еще и над проектом работает несколько человек).
Добавляйте картинки в Group например и считайте в ней кол-во элементов программно, чтобы не провтыкать.
Цитата:
Ну, во-первых, когда картинок штук 80 - это очень долго, много лишнего кода, да и вообще не изящно.
Не изящно, это возможно, для кого как. А если 7-8 строк - это много лишнего кода, то тогда предложенный вариант однозначно не подходит
__________________
In Code We Trust

Старый 22.05.2012, 17:00
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
80 Image? Я бы застрелился (из водяного пистолета, других нету). Как оно вообще работает? Я не ожидал бы, если честно
Ну а по сути - нет, никаких автоматических возможностей отследить загрузку произвольного количества картинок нет в самих картинках или во фреймворке вообще, т.как это практически не возможно (кто знает, а может вы их каждую минуту новых десять штук добавляете?)
Я обычно не использую Image сразу по нескольким причинам - он не просто очень тяжелый, он монументально тяжелый, т.е. по сравнению с обычным спрайтом или битмапом он в несколько сот раз больше, он даже по сравнениюс UIComponent большущий. Но не смотря на размеры, кешировать картинки он не умеет. Так вот, я обычно создаю один загрузчик картинок, который занимается кешированием, и компоненты, которые заменяют Image - если есть возможность, то не использующие UIComponent, ну а если нет - то уж ничего не поделаешь. Эти компоненты сами ничего не загружают, а получают в свое распоряжение битмапдату картинки. Случайным образом имея контроль над загрузчиком можно было бы посчитать когда и сколько картинок уже загрузилось и как-то на это отреагировать, но практически такой необходимости у меня никогда не было.
__________________
Hell is the possibility of sanity

Старый 23.05.2012, 11:05
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 10  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
Ок, спасибо за ответы, будем как-то извращаться (((

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.