PDA

Просмотр полной версии : обращения в подгруженных клипах


goodgun
30.04.2008, 04:32
Здравствуйте. Сразу оговорюсь что во флеше совсем новичек... У меня такая проблема... Допустим существует основная сцена. На определенном кадре в сцену подгружается файл со своей сценой и вложенным в нее мувиком. В этом вложенном мувике находится кнопка позволяющая перейти к определенному кадру основной сцены вложенного файла. Соответственно я прописываю
on (release) {
_root.gotoAndPlay (5);
}
но попадаю в основную сцену того файла, в который вложен мой файл, в котором я работаю с кнопкой. Тоесть если я работаю с этим вложенным файлом - всё ок, но стоит перейти к файлу в который он вложен, то корнем становится сцена основного файла... Соответственно прошу помоч мне с обращением в корень вложенного файла... ибо я понятия не имею как в него попасть в моём случае :o

ЗЫ. Гружу файл так... Просто добавляю loader в ключевой кадр на таймлайн.

alecsisk
30.04.2008, 11:34
проще написать код для кнопки в основном файле:

my_mc.my_button.onPress = function() {
my_mc.gotoAndPlay(1);
}

только путь будет длиннее, но суть должна быть понятна.

goodgun
30.04.2008, 16:11
Нельзя ли поподробнее? Я не пойму как обращаться к клипу в другом файле... Я же не могу ему назначить инстанс из основного файла... В основном файле только лоадер к которому не обратиться, а в подгружаемом файле сцена, которую не проименовать (. Или, возможно, вы имеете в виду, что достаточно иметь имя клипа в сцене подгружаемого файла (my_mc)? Я еще толком не разобрался с системой обращений. попробую ваш вариант


Возможно сцены загружаемого файла и корневого объяденяются при загрузке... Тогда можно обратиться и к мувику в подгруженном файле из основного, как будто он в основном??? Это объясняет мой первый промах...

alexcon314
30.04.2008, 17:04
в подгружаемом клипе в первом кадре основной монтажной линейки напишите

var my_mc = this;
var my_parent = this._parent;

это и будут ссылки на рут загруженного клипа и на рут основного клипа соответственно.
из основного клипа обратиться к подгруженному можно по имени как обычно. вы ведь при загрузке даете имя клипу?

var mcl:MovieClipLoader = new MovieClipLoader();
this.createEmptyMovieClip('container', 0);
onLoadInit = function (tmc) {
trace(tmc._name);
};
mcl.addListener(this);
mcl.loadClip('url...',container);