![]() |
|
||||||||||
|
|||||
|
Народ, у меня такая проблема:
я пишу движок flash+xml для презентаций и мне требуется загружать картинки из внешних файлов. С самой загрузкой проблем нет, но вот что плохо, что сам процесс загрузки картинки происходит, когда стек пуст. т.е. var mc:MovieClip = createEmptyMovieClip("container_mc", this.getNextHighestDepth());
var mcllist:Object = new Object();
mcllist.onLoadInit = function()
{
trace('loaded!');
}
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mcllist);
mcl.loadClip("1.jpg", mc);
trace('end of script');
другими словами картинка грузится асинхронно. хотя в других языках программирования (Object Pascal(Delphi), C++) загрузки картинок происходят синхронно со всей программой. может кто находил решения, как подождать, пока картинка заругиться? ![]()
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже! |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 221
|
А что за причина требующая такой синхронности?
|
|
|||||
|
Цитата:
Например, делаю я каталог товаров. Получается прикол... вся текстовая информация загрузилась, а картинка все еще грузится... конечно с винта этого почти не заметно.. но вот если с CD диска грузится (особенно после некоторого простоя), то очень неприятное мигание картинок происходит.. Так же, при загрузки скинов, иконок.. да и просто в любом месте где требуется что информация показывалась вся и сразу.. Конечно, можно было прелоадер на картинку повесить типа MovieClipLoader.OnLoadProgress, но он работает только, если файл качается из Инета, а с локальными не работате (пробовал уже).
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже! |
|
|||||
|
[+1 20.07.06]
[+1 04.08.2006] |
1. В поиск.
2. В аську. |
|
|||||
|
Цитата:
используй onLoadComplit - событие происходит при завершении загрузки, то есть самым последним в этой цепочке |
|
|||||
|
to St. Father: в поиске был - ничего не нашел.
to liquid lone: тоже самое...
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже! |
|
|||||
|
[+1 20.07.06]
[+1 04.08.2006] |
смысл такой
1. в локале можно обойтись без МКЛоадера. Если хоть один умный человек посмотрит тему "Разборы с prototype" т.к. есть enterFrame и onLoad, которых, в идеале должно хватить. 2. Если хочешь, чтобы код не выполнялся до загрузки картинки - структура должна быть такая: маяФукция () { стэйтменс... который не должен выполнятся до загрузки. } МКЛоадер_листнер.onLoadComplete = маяФукция; ______________ либо такая клипВКоторыйЯГружу.loadMovie ("клипКоторыйЯГружу"); onEnterFrame = function () { if(клипВКоторыйЯГружу.getBytesTotal () == клипВКоторыйЯГружу.getBytesLoaded) // или флаг какой-нить { delete onEnterFrame; стэйтменс... который не должен выполнятся до загрузки. } } в асю стукнись - поговорим... темя для мя интересная ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:47. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|