PDA

Просмотр полной версии : Почему работает один вариант кодаи не работает другой - мувиклипы


NeverSummer
05.07.2007, 15:53
Посоветуйте плиз - никак не могу понять. Разбираю один из сэмплов фотогалереи и никак не врублюсь зачем создавать переменную thumbLoader? По идее картинки (вернее thumbnails) могут грузится (и грузятся) в мувик thumbHolder (вариант 1 в комментариях) но обработчик события onRelease не вызывается. Если закомментировать вариант 1 и открыть вариант 2 все работает. Так вот зачем из одного мувика создавать внутри него другой что бы загрузить туда картинку? Ну никак не пойму. Но работет :)


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

gallery.onLoad = function( success ) {
//portfolioTag = this.firstChild;
num_img = this.firstChild.childNodes.length;

spacing = 70;
for (i = 0; i < num_img; i++) {
this.picHolder = this.firstChild.childNodes[i];
this.thumbHolder = thumb_pad_mc.createEmptyMovieClip("thumb" + i, i);
this.thumbHolder._x = i * spacing;
//1 variant begin
this.thumbHolder.loadMovie("img/" + this.picHolder.attributes.thumb_name);
//1 variant end

//2 variant begin
/*
this.thumbLoader = this.thumbHolder.createEmptyMovieClip("thumb_img", 0);
this.thumbLoader.loadMovie("img/" + this.picHolder.attributes.thumb_name);
*/
//2 variant end

this.thumbHolder.title = this.picHolder.attributes.title_eng;
this.thumbHolder.file_name = this.picHolder.attributes.file_name;
this.thumbHolder.onRelease = function() {
preview_pad_mc.loadMovie("img/" + this.file_name);
};
}
};

gallery.load("gallery2.xml");

iNils
05.07.2007, 16:03
Если создать мувиклип, прикрутить к нему событие, а потом в этот мувиклип что-либо загрузить, то событие слетит. Именно поэтому используют пустой клип-контейнер внутри первого клипа. Это нормальное явление. Инач придеться сначала дождаться загрузки, а уж потом присваивать событие.

NeverSummer
05.07.2007, 16:18
Сорри за тупость .. А почему оно слетит? .. ну или так - где описан данный механизм в хелпе/руководсве? Или один из "подводных камней"?