Вход

Просмотр полной версии : Проблема с доп. лоадером.


true11
03.10.2009, 03:42
Ситуация банальная.
Загружаю в цикле фотографии методом loadMovie.
пробовал по разному, но не получается.. к примеру:


for(i=0;i<10;i++){
this["photo"+i].imageloader.loadMovie(photos[i]);
}


Как сюда можно подвесить обработчик события onload для фотографии?

mooncar
03.10.2009, 03:56
Используйте MovieClipLoader. Примеров на форуме огромное количество, в том числе и использование его методов в цикле.

true11
03.10.2009, 12:28
возникла проблема такого плана.. изображения грузятся. Но пропадают все эффекты галереи.

Вот код
function generatePhotosTable(trs, tds){
var mcLoader:MovieClipLoader = new MovieClipLoader(); // Новый загрузчик
var mcListener:Object = new Object(); // Новый слушатель
mcLoader.addListener(mcListener);
mcListener.onLoadComplete = function(){
Как тут можно определить какой именно из клипов завершил загрузку изображения?
}
ph_count=0;
mc_count=0;
for(i=0;i<trs;i++){
ypos=(90+5)*i+8;
for(j=0;j < tds;j++){
xpos = (90+5)*j+8;

this.attachMovie("photo_mc", "photo"+mc_count, this.getNextHighestDepth(), {_x:xpos, _y:ypos});
mcLoader.loadClip(photos[ph_count], this["photo"+mc_count]);
this["photo"+mc_count].imageloader._alpha=70; // работало при loadMovie
this["photo"+mc_count].i = mc_count;
this["photo"+mc_count].activ = 0;
this["photo"+mc_count].onRollOver = function(){mOver(this.i);} // работало при loadMovie
this["photo"+mc_count].onRollOut = function(){mOut(this.i);} // работало при loadMovie
this["photo"+mc_count].onRelease = function(){mRelease(this.i);} // работало при loadMovie


mc_count++;
if(photos[(ph_count+1)]){ph_count++;}else{ph_count=0;}
//trace(ph_count);
}
}

}


И как можно протрейсить чтоли.. какое именно изображение какого клипа загрузилось.. не понимаю :(:(

mooncar
03.10.2009, 16:28
Вы невнимательно смотрели примеры (имею ввиду тут, на форуме). На самом деле у вас все не так в приведенном коде, нужно все переписывать.
Все события, которые нужно выполнить после загрузки, нужно записать внутри обработчика onLoadInit, то есть тогда, когда программа узнает, что загрузка завершена:
mcLoader.onLoadInit = function(target_mc:MovieClip) {
//тут действия, которые нужно выполнить с target_mc после загрузки
}
И организовать эту запись нужно вне цикла, как общую функцию. Значение счетчиков при этом извлекать прямо из аргумента traget_mc.
Внутри цикла оставьте только те действия, которые действительно нужно выполнять периодично - то есть аттач, коррекцию координат и загрузку. Все остальное пишите внутри обработчика.