![]() |
|
||||||||||
|
|||||
|
Делаю прелоадер. В связи с этим необходимо загрузить большое количество файлов *.jpg. Имена будут отличаться не только индексом в конце.
Необходимо загрузить их последовательно (порядок не важен) для корректного отображения процента загрузки. Заранее спасибо
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Проблема в том, что при этом происходит загрузка сразу нескольких файлов. А вот какой код написать что б было последовательно, один за другим?..
ЗЫ. Как вариант определять количество загруженной информации одновременно для всех файлов, но это ИМХО еще сложнее и не рационально, если вообще осуществимо
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
var my_mcl:MovieClipLoader = new MovieClipLoader();
var loadEvents:Object = {};
my_mcl.addListener(loadEvents);
this.createEmptyMovieClip("first_mc",1);
this.createEmptyMovieClip("second_mc",0);
loadEvents.onLoadProgress = function(mc:MovieClip, bl:Number, bt:Number) {
var loadedProcent:Number = Math.round(bl/bt*100);
trace(loadedProcent+" %");
}
loadEvent.onLoadInit = function (mc:MovieClip) {
mc._lockroot = true;
var my_mcl:MovieClipLoader = new MovieClipLoader();
var loadEvents:Object = {};
my_mcl.addListener(loadEvents);
my_mcl.loadClip("2.jpg",second_mc);
}
my_mcl.loadClip("1.jpg",first_mc);
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Поскольку данная тема стала весьма часто встречаться, то написал общий код с примером последовательной загрузки файлов, имена которых имеют числовую последовательность и общее число файлов неизвестно.
//// загрузчик
var mcl:MovieClipLoader = new MovieClipLoader ();
mcl.addListener (this);
//// итеретор
var i:Number = 0;
//// корень имени файла
var rootName:String = "image";
//// оконечание имени файла
var endName:String = ".gif";
//// переменная для хранения ссылки на передыдущий контейнер загрузки (нужно для позиционирования клипов относительно друг друга)
var mcOld:MovieClip = null;
//// событие при удачной загрузки / а также инициализирующая функция загрузки
this.onLoadInit = function () {
var mc:MovieClip = this.createEmptyMovieClip ("mc" + i, i);
mc._x = ((mcOld._x + mcOld._width) || 0) + 10;
mc._y = 10;
mcl.loadClip (rootName + i + endName, mc);
mcOld = mc;
i++;
};
//// событие при неудачной загрузки
this.onLoadError = function () {
trace ("Загрузка завершена");
};
this.onLoadInit ();
|
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
этот вариант на классах, может тоже пригодится:
http://www.flasher.ru/forum/showthre...t=99030&page=3 |
|
|||||
|
iNils, спасибо за пример, очень помогает.
Но задача у меня несколько отличается. Вот пишу: var my_mcl:MovieClipLoader = new MovieClipLoader();
var loadEvents:Object = {};
my_mcl.addListener(loadEvents);
var i:Number=0;
_root.onLoadInit=function(){
_root.createEmptyMovieClip("n"+i+"_mc",i);
my_mcl.loadClip("image"+i+".jpg","n"+i+"_mc");
i++;
}
_root.onLoadInit();
_root.onLoadProgress=function(bytesLoaded:Number){
trace("Загрузка продолжается");
trace(bytesLoaded);
}
_root.onLoadError = function () {
trace ("Загрузка завершена");
};
Что у меня не так в коде?
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.addListener(this);
var i:Number=0;
onLoadInit=function(){
_root.createEmptyMovieClip("n"+i+"_mc",i);
my_mcl.loadClip("image"+i+".jpg","n"+i+"_mc");
i++;
}
onLoadInit();
onLoadProgress=function(bytesLoaded:Number){
trace("Загрузка продолжается");
trace(bytesLoaded);
}
onLoadError = function () {
trace ("Загрузка завершена");
};
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|