PDA

Просмотр полной версии : Загрузка нескольких картинок используя MovieClipLoader


NeMeN
21.09.2007, 01:48
Доброго времени суток.
У меня вопрос по поводу загрузки нескольких фалов из xml используя MovieClipLoader.

loadimage = function() {
xml_length = my_xml.childNodes[0].childNodes.length-1;
for (i=0; i<=xml_length; i++){
image_mc.createEmptyMovieClip("mc"+i,0);
image_mc["mc"+i]._y = 0+(100*i);
trace(image_mc["mc"+i]);
}
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = (Stage.width-image_mc._width)/2;
}
for (z = 0; z<=xml_length; z++) {
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
var link:XMLNode = my_xml.firstChild.childNodes[z].childNodes[0];
image_mcl.loadClip(link.firstChild.nodeValue, image_mc["mc"+z]);
trace(image_mc["mc"+z]);
}
}


проблема в том, что загружается только последняя картинка. при трэйсе контейнеров предыдуших картинок - пишет "undefined".

Kikasso
21.09.2007, 02:04
Это вообще не рабочий код. Фигурные скобки посчитайте.

etc
21.09.2007, 02:09
Не код, а сплошное месиво. Что помешало сделать нормальные ссылки на нужный объект, а не копипастить длиннющий путь к нему раз n-цать?

NeMeN
21.09.2007, 02:18
да, забыл скобку } перед for (z = 0; z<=my_xml.childNodes[0].childNodes.length-1; z++) скопировать.
а длинный путь можно и заменить, но это суть вопроса не меняет. :rolleyes:

Kikasso
21.09.2007, 02:47
а вы клипы создаете на одной и той же глубине.
Вот так не лучше ли? //просто принцип
var link:XMLNode = my_xml.firstChild.firstChild;
var i = 1;

mcl.adListener(this);
loadNext();

function onLoadInit(mc){
link = link.nextSibling;
if(link != null )loadNext();
}

function loadNext(){
var mc:MovieClip = image_mc.createEmptyMovieClip("mc"+i, i++);
mcl.loadClip( link.attributes.src, mc );
}

NeMeN
21.09.2007, 02:54
вот балда, точно :) Kikasso спасибо, проблема решена!

Kikasso
21.09.2007, 03:01
Клипы лучше грузить по одному, чем пачкой.