![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 42
|
Доброе время суток. Вобщем вся суть проблемы отражена в названии вопроса. Необходимо определить момент, когда картинка загрузилась в movieclip. Есть пример на AS2.
clip.loadImage = function(file)
{
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function()
{
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
if (t>0 && l>=t) {
// загрузка закончилась
delete this.onEnterFrame;
}
};
};
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Loader в помощь.
|
|
|||||
|
Регистрация: May 2009
Сообщений: 63
|
Для меня первое знакомство с Loader'ом по справочнику оказалось не очень понятным, поэтому приведру пример загрузки картинки с помощью Loader'а (Код рассчитан на FLA файл).
//создаем переменную со ссылку на то, что загружаем. var url:URLRequest = new URLRequest("http://s49.***********/i124/0904/08/c4970982e94e.gif"); //создаем сам загрузчик var ldr:Loader = new Loader(); //загружаем url ldr.load(url); //чтобы узнать когда загрузка содржимого началась, идет, и закончилась //нужно слушать соответствующее события (Event.OPEN, ProgressEvent.PROGRESS // и Event.COMPLETE соответственно), для этого добавим необходимые слушатели //свойству contentLoaderInfo, нашего загрузчика (внимания сам Loader НЕ отправляет этих событий) //отравится один раз при начале загрузки... ldr.contentLoaderInfo.addEventListener(Event.OPEN, onStart); //будет отправляться постоянно, пока загрузка не завершилась //вот тут можно считать contentLoaderInfo.bytesTotal и //contentLoaderInfo.bytesLoaded; ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); //отправится один раз, когда загрузка будет завершена. ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); //создаем обработчики для всех событий... function onStart(e:Event){ trace("загрузка началась"); } function onProgress(e:Event){ trace("загружено "+Math.floor(ldr.contentLoaderInfo.bytesLoaded/1024) +" из "+Math.floor(ldr.contentLoaderInfo.bytesTotal/1024)+" КБ"); } function onComplete(e:Event){ trace("загрузка закончилась"); addChild(ldr); //отображение картинки когда загрузка заверншилась } Последний раз редактировалось Аллиас; 01.08.2009 в 13:37. |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 42
|
Большое спасибо за ответы, но вновь возникла трудность. Подскажите, а как можно проверить существование загружаемого файла? Я пробовал использовать блоки try catch, пробовал слушать события об ошибке, но у меня так и не получилось достичь желаемого результата! вот пример кода, который у меня в данный момент:
Заранее благодарю за помощь! |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
|
Регистрация: Jul 2008
Сообщений: 42
|
Я такой вариант тоже рассматривал, но он не рабочий.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не может быть.
|
|
|||||
|
Ilut, все работает, если делать как надо и вешать слушателей ДО вызова загрузки
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 42
|
Спасибо за помощь, разобрался в чем была проблема и почему слушатель не запускался.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 08:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|