![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
Идет процесс инициализации. Нужно в середине процесса подгрузить несколько XML файлов. Как мне сначала загрузить все что нужно, а потом запустить процесс далее. Я начинаю грузить несколько файлов. Событий на завершение загрузки тоже несколько. Кто закончит раньше знать не могу.
Первое, что пришло, это цепочка. Начинаю грузить первый файл. В событии окончания загрузки разбираю файл и начинаю грузить второй. В событии завершения загрузки второго файла разбираю файл и начинаю грузить третий. И так далее по всем файлам. В функции события окончания загрузки последнего файла продолжаю работу основной программы. И что-то с ходу нормальной альтернативы придумать не могу. |
|
|||||
|
strange mood
|
Для каждого файла заведите флаг загрузки. При завершении загрузки файла устанавливаете его флаг и проверяете все остальные - если все стоят, значит все файлы загружены.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
Хм... А если файлов много, то кучу флагов делать? Про флаги была идея, но не очень нравиться. Может есть еще какой метод?
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
я делаю либо флаги, либо цепочкой
![]() ИМХО флаги лучше, а что не нравится?
__________________
low + |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
Jewelz, и там и там не удобно изменять структуру. У меня файлов много. И на этапе разработки их перечень постоянно меняется. Да и сомнения берут, что это правильный подход. Потому то собственно и интересуюсь.
|
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
Можно сделать счетчик вместо флагов. Еще есть bulk-loader, готовая библиотека для таких дел, но я ее ни разу не использовал.
__________________
мой пустой блог |
|
|||||
|
[+1 16.08.10]
Регистрация: Jun 2009
Сообщений: 93
|
можно еще запомнить в начале кол-во файлов в переменную и при окончании загрузки минусовать, и тут-же проверять если ноль то все уже загрузились
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
iflamberg Спасибо за наводку. То что нужно.
import br.com.stimuli.loading.BulkLoader; /* * Грузить можно что угодно и как угодно. * Просто и удобно. */ var bulkLoader : BulkLoader = new BulkLoader("main loading"); bulkLoader.add("my_xml_file.xml"); bulkLoader.add("main.swf"); var backgroundURL : URLRequest = new URLRequest("background.jpg"); bulkLoader.add(backgroundURL); //Событие завершения загрузки. bulkLoader.addEventListener(BulkLoader.COMPLETE, onCompleteHandler); //Событие для прогрессбара bulkLoader.addEventListener(BulkLoader.PROGRESS, _onProgressHandler); //Собственно запустили загрузку. bulkLoader.start(); //Это прогрессбар, все понятно. function _onProgressHandler(evt : ProgressEvent) : void{ trace("Loaded" , evt.bytesLoaded," of ", evt.bytesTotal); } function onCompleteHandler(evt : ProgressEvent) : void{ //Вытаскиваем так. var mainMovie : MovieClip = bulkLoader.getMovieClip("main.swf"); var mXML : XML = bulkLoader.getXML("my_xml_file.xml"); var myBitmap : Bitmap = bulkLoader.getBitmap("background.jpg"); var myBitmap : Bitmap = bulkLoader.getBitmap(backgroundURL); } //Самый кайф! В любом классе вашего проекта можем по уникальному имени обратиться //к нашей загрузке и тащить из нее то что нам нужно. //Прям как библиотека флешовая. var mainLoader : BulkLoader = BulkLoader.getLoader("main loading"); var mXML : XML = mainLoader.getXML("my_xml_file.xml"); var mXML : XML = BulkLoader.getLoader("main loading").getXML("my_xml_file.xml"); Все, сам посмотрел внутри. Через статику сделано. Классно и не сильно большая библиотека. random13 Лоадеры в массив - понятно. Слушать когда закачаются - непонятно. Слушать как? Последний раз редактировалось proxiServer; 22.12.2009 в 18:09. |
|
|||||
|
Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
|
Цитата:
cоздаем лодер, кидаем ему ссыль, говорим загрузить, вешаем слушатель на лодер(по завершение загрузки выполнить то то), закидываем слушатель в массив. как ток выполнился колбек удаляем лодер из массива, стопим все снимаем слушатель и уничтожаем лодер
__________________
Коллекционирую чужие ActionScript Блоги |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|