PDA

Просмотр полной версии : xml функции на роловер и ролаут работают а на релиз нет((( помогите!!!


khorokhorya
20.03.2008, 16:09
функции на роловер и ролаут работают а на релиз нет((( помогите!!!


вот функция , которая должна работать на релиз
_root.deva0 = function() {

trace("nnnnn");
};
в xml записано так
<image title ="платье001" main="images/foto_001.jpg" wi ="_root.deva0();" thmb="thumbnails/foto_natur.gif"> <![CDATA[Фотография для наружной рекламы.]]></image>

вот так парсится xml

myPhoto = new XML();
myPhoto.ignoreWhite = true;

myPhoto.onLoad = function(success) {

//если xml загрузился, то присваиваем переменной numimages значение количества узлов(фоток галереи)
numimages = this.firstChild.childNodes.length;

//ширина иконки + расстояние между иконками в мувике thumbnails
spacing = 13;

// проходим циклом по массиву
for (i=0; i<numimages; i++) {



// берём первый узел
this.picHolder = this.firstChild.childNodes[i];

//создаём в мувке thumbnails пустой мувиклип с названием thumbnail1 и глубиной 1
this.thumbHolder = thumbnails.createEmptyMovieClip("thumbnail"+i, i);

// его координата по x относительно thumbnails равна числу номера узла умноженному на spacing
this.thumbHolder._y = i*spacing;
//spacing = this.thumbnails.thumbHolder._height
//this.thumbHolder._y = i * spacing ;

//создание ещё одного пустого клипа в пустом клипе
this.thumbLoader = this.thumbHolder.createEmptyMovieClip("thumbnail_image", 0);


//загрузка linkage клипа во внутреннй пустой мувиклип
this.pic = this.thumbLoader.attachMovie("btn_menu", "btn_menu_01", i);


//загрузка картинки во внутреннй пустой мувиклип
this.pic.pic_menu.loadMovie(this.picHolder.attributes.thmb);

this.thumbHolder.main = this.picHolder.attributes.main;
this.thumbHolder.wi = this.picHolder.attributes.wi;

//реакция на релиз
this.thumbLoader.onRelease = this.thumbHolder.wi;



this.thumbLoader.onRollOver = function() {
this.btn_menu_01.gotoAndPlay(2);

};


this.thumbLoader.onRollOut = function() {
this.btn_menu_01.gotoAndPlay(16);
};


}
};
myPhoto.load("xml_photo.xml");

iNils
20.03.2008, 19:04
this.thumbHolder.wi - это строка, а не функция.
Этот код тоже работать не будет
str = "_root.deva0();";
_root.deva0 = function () {
trace ("nnnnn");
};
this.onMouseDown = str;
А этот будет
str = "_root.deva0";
_root.deva0 = function () {
trace ("nnnnn");
};
this.onMouseDown = eval(str);

khorokhorya
20.03.2008, 19:22
спасибо, заработало!!!