Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   передача параметров из swf файл в другой swf файл (http://www.flasher.ru/forum/showthread.php?t=122249)

lelik_mal 05.03.2009 17:50

передача параметров из swf файл в другой swf файл
 
Вопрос от начинающего изучать могучий 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

Код AS1/AS2:

_root.mc1.parametr1.text = 45;

,где
mc1 - это мувик в который грузится дополнительная флешка
parametr1 - это параметр передаваемый доп флешке
45 - значение передаваемого параметра

Котяра 06.03.2009 09:51

Цитата:

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

Начните с терминологии:
Основная флэшка это _root - основной мувиклип сцены.
Вы можете грузить сразу в неё либо в контейнер (любой контейнер - мувиклип )
После того как вы загрузите внешний клип в контейнер (ключевые слова для поиска в хелпе: MoveClipLoader) - общайтесь с контейнером.
пример на 95% из хелпа:
Код AS1/AS2:

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 минуты
Цитата:

Сообщение от Цветкофф (Сообщение 803430)
Код AS1/AS2:

_root.mc1.parametr1.text = 45;

,где
mc1 - это мувик в который грузится дополнительная флешка
parametr1 - это параметр передаваемый доп флешке
45 - значение передаваемого параметра

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

MaskiShow 06.03.2009 10:12

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

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

Котяра 06.03.2009 10:40

в
Код AS1/AS2:

onLoadInit (mc)
{
 trace(mc._width);
trace(mc._height);
}


MaskiShow 06.03.2009 11:19

Это все не то.

lelik_mal 06.03.2009 12:46

Спасибо, буду пробовать.


Часовой пояс GMT +4, время: 11:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.