PDA

Просмотр полной версии : MovieClip.loadClip и XML


MelDiz
30.12.2006, 00:45
var news:XML = new XML();
news.ignoreWhite = true;
news.load("photo.xml");
news.onLoad = function(success) {
var cont:String = this.firstChild.childNodes[1].childNodes[0].childNodes[0];
ParClip["image_mcl"+l] = new MovieClipLoader();
ParClip["image_mcl"+l].addListener(mclListener);
//!!!!!
ParClip["image_mcl"+l].loadClip(cont, _root["image_mc" + i]);
};

дело в том, что функция loadClip совершенно отказывается загружать то изображение, название которого хранится в переменной cont, если оно вытаскивается из ХМЛ-документа. Проверил правильность указанного имени файла в cont:
_root.loader.contentPath = cont;//фотография в компоненте Loader отображается
далее задал переменную cont в коде программы:

var cont:String = "17s.jpg";
ParClip["image_mcl"+l].loadClip(cont, _root["image_mc" + i]);

и это изображение изображается в компонентах MovieClipLoader....
Вопрос: сужествуют ли какие-нибуть ограничения в функции loadClip относительно ХМЛ-данных(это же обычный стринговый формат переменной)? если нет то подскажите пожалуйста в чём может быть ошибка. Спасибо

miramax
30.12.2006, 00:52
А что выводит трейс cont , перед вызовом loadClip() ?
Можно поробовать:
var cont:String = this.firstChild.childNodes[1].childNodes[0].childNodes[0].nodeValue
Но я конкрентно не знаю что там у тебя.

Aziz Zaynutdinoff
30.12.2006, 01:35
а разве loadClip не есть метод класса MovieClipLoader?...

MelDiz
30.12.2006, 01:43
а разве loadClip не есть метод класса MovieClipLoader?...
да, очепятка получилась.

miramax, спасибо, так оно и есть:))
Спасибо всем, тема закрыта

ApCalypse
19.09.2007, 15:32
Очень прошу помощи..
Совсем запутался.. Прочитал все топики на эту тему и запутался еще больше..
Есть мувик, в который грузится XML.
Через loadMovie все грузится нормально, пытаюсь использовать loadClip - не работает.

var img:String = sites_xml.firstChild.childNodes[id].childNodes[4].childNodes[0];
photo_mc.createEmptyMovieClip(id, id);
var mb = photo_mc[id];
var photo:MovieClip = mb.createEmptyMovieClip("photo", this.getNextHighestDepth());

var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = 100;
target_mc._y = 100;
};

var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);
mcl.loadClip(img, mb.photo);


Но если указать URL напрямую все ок.

var img:String = sites_xml.firstChild.childNodes[id].childNodes[4].childNodes[0];
photo_mc.createEmptyMovieClip(id, id);
var mb = photo_mc[id];
var photo:MovieClip = mb.createEmptyMovieClip("photo", this.getNextHighestDepth());

var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = 100;
target_mc._y = 100;
};

var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);
mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", mb.photo);

Подскажите, где я ошибся?

etc
19.09.2007, 15:34
Трейс всем поможет.

ApCalypse
19.09.2007, 15:47
Если трейсить img выдает примерно следующее:

files/images/01.jpg

ApCalypse
19.09.2007, 16:28
Уф, наконец-то понял, в чем был косяк.

var img:String = sites_xml.firstChild.childNodes[id].childNodes[4].childNodes[0];


var img:String = sites_xml.firstChild.childNodes[id].childNodes[4].childNodes[0].nodeValue;