Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обращение к объектам родительского SWF (http://www.flasher.ru/forum/showthread.php?t=183259)

lun3 16.08.2012 17:10

Обращение к объектам родительского SWF
 
Вложений: 1
Всем привет! У меня есть swf который подгружает 2-ой swf. Как мне в ActionScript'e подгружаемого SWF обратиться к объектам (по instance name) главного SWF?

Проект во вложении.

В main.swf мне нужно обратиться к index.swf

GBee 16.08.2012 18:16

для этого существуют события.
ну или отдавайте ссылку на родителям детям.
или список объектов.

lun3 16.08.2012 18:31

Цитата:

Сообщение от GBee (Сообщение 1092527)
для этого существуют события.
ну или отдавайте ссылку на родителям детям.
или список объектов.

можно ,пожалуйста, конкретный код?

tsarapkabel 16.08.2012 19:58

Поменяйте навешивание слушателей, так нельзя. Все мувиклипы можно обойти в цикле:
Код AS3:

for (var i:uint = 1; i <= 5; i++) {
        this["k" + i].addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
        this["k" + i].addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
}

а потом в обработчике вытягивать их по цели события (event.target):
Код AS3:

private function onMouseOver(event:MouseEvent):void {
        TweenLite.to(event.target, 0.5, {scaleX:1.2, scaleY:1.2, ease:Back.easeOut});
}
private function onMouseOut(event:MouseEvent):void {
        TweenLite.to(event.target, 0.5, {scaleX:1.0, scaleY:1.0, ease:Back.easeOut});
}

Обращаться после загрузки можно, например, передав себя (this) в функцию:
Код AS3:

currentSWF.runMainFuntion(this);

А в подгружаемой:
Код AS3:

private var upperClass:DisplayObjectContainer;
private function runMainFuntion(any:DisplayObjectContainer) {
        upperClass = any;                // ссылка на загружающий класс
}



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

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