PDA

Просмотр полной версии : передача параметров из swf файл в другой swf файл


lelik_mal
05.03.2009, 17:50
Вопрос от начинающего изучать могучий ActionScript:)
Необходимо в один (главный) swf файл загрузить 3 других swf файла, так чтоб они распологались в определенных местах. Подскажите, пожалуйста, как можно передать координаты расположения этим загружаемым флэшкам. И вообще: как можно им передавать какую-либо переменную (для каждого загружаемого swf своя).
Заранее спасибо.

Волгоградец
05.03.2009, 18:51
1. Грузить с помощью MovieClipLoader() в пустой клип, напр. mc1.
2. Потом манипулировать этим клипом mc1.
3. В подгружаемой флэшке можно создать какую-нибудь переменную, напр. a. Потом после загрузки присваиваешь этой переменной mc1.a нужное значение.

Котяра
05.03.2009, 22:31
главный клип управляет загрузкой и расположением. дочерние клипы знают своё местоположение: это this._x и this._y ( в контексте дочернего клипа)

lelik_mal
06.03.2009, 02:53
Спасибо, конечно, за помощь. Но все таки хотелось бы узнать, как можно из основной флешки передать числовой параметр другой загружаемой в неё флешке

Цветкофф
06.03.2009, 03:19
_root.mc1.parametr1.text = 45;
,где
mc1 - это мувик в который грузится дополнительная флешка
parametr1 - это параметр передаваемый доп флешке
45 - значение передаваемого параметра

Котяра
06.03.2009, 09:51
Спасибо, конечно, за помощь. Но все таки хотелось бы узнать, как можно из основной флешки передать числовой параметр другой загружаемой в неё флешке

Начните с терминологии:
Основная флэшка это _root - основной мувиклип сцены.
Вы можете грузить сразу в неё либо в контейнер (любой контейнер - мувиклип )
После того как вы загрузите внешний клип в контейнер (ключевые слова для поиска в хелпе: MoveClipLoader) - общайтесь с контейнером.
пример на 95% из хелпа:
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("child.swf", container);

function onLoadInit(mc:MovieClip) {
//mc - это подгруженный клип
trace("onLoadInit: " + mc);
// устанавливаем переменную newValue в подгруженной swf
mc.newValue = 10;
// вызываем функцию chidlFunction для подгруженной swf
mc.chidlFunction();
}



Добавлено через 3 минуты
_root.mc1.parametr1.text = 45;
,где
mc1 - это мувик в который грузится дополнительная флешка
parametr1 - это параметр передаваемый доп флешке
45 - значение передаваемого параметра
Не вводите в заблуждение.
text здесь лишний, только если parametr1, не является динамическим текстовым полем на главной сцене подгруженной флэшки.

MaskiShow
06.03.2009, 10:12
А как можно узнать высоту и ширину уже загруженной(или загружаемой) флешки? Это необходимо, чтобы задать размеры контейнера и установить в нем маску, т.к загруженные флешки в контейнер отоброжаются как они есть с выступающими за пределы сцены объектами... И флешки не могут передавать никаких параметров из себя.

Габариты контейнера при воспр. флешки меняются из-за движения в ней объектов, а на первом фрейме они также не соответсвуют действительным размерам сцены... :/

Котяра
06.03.2009, 10:40
в
onLoadInit (mc)
{
trace(mc._width);
trace(mc._height);
}

MaskiShow
06.03.2009, 11:19
Это все не то.

lelik_mal
06.03.2009, 12:46
Спасибо, буду пробовать.