Форум 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=171068)

mamap 08.11.2011 07:01

Передать данные в импортированный swf
 
Допустим я импортирую swf файл через UrlLoader.
Возможно ли и как реагировать на события импортированного файла программно? Например, выполнить gotoAndPlay(n)? Или возможно ли получить данные ИЗ импортированного клипа? Например, получить переменную n, или узнать, когда закончилась анимация?

BuKT 08.11.2011 07:49

Импортированный SWF написан на каком языке? И вообще - вами ли он написан, т.е. имеете ли вы возможность его редактирования?

mamap 08.11.2011 07:52

написан на as3 в adobe flash, написан мной.
Дело в том, что мне нужно сделать идеализированный интерфейс, с возможностью динамически подгружать новую анимацию не меняя основного файла.

BuKT 08.11.2011 08:36

Если будете грузить с того же домена, что и основную swf, как мне кажется, тут будет достаточно обращения к public-свойствам (и методам) загруженного SWF. Можно упростить работу, на main-класс подгружаемой флешки навесив методы вроде следующего:
Код AS3:

package {
        import animation.FootAnimation;
        import animation.HeadAnimation;
        public class SomeAnimation extends Sprite {
                public function SomeAnimation ():void {
                }
                public function getFootAnimation():MovieClip {
                        return new FootAnimation();
                }
                public function getHeadAnimation():MovieClip {
                        return new HeadAnimation();
                }
                <...>
        }
}


mamap 08.11.2011 09:46

BuKT, у меня идет именно импорт swf (через UrlLoader), а не класса или части проекта. Т.е. уже скомпилированный файл.
Цитата:

обращения к public-свойствам (и методам) загруженного SWF
и как это сделать? можно ссылку?

Inet_PC 08.11.2011 09:51

Код AS3:

loader.content.myVar = 15;
loader.content.doIt();

Ествественно нужно дождаться полной загрузки. Правильнее в этом случае нужно сделать интерфейс, который загружаемая флешка будет реализовывать, а затем откастить loader.content к этому интерфейсу, и вызывать нужные методы.

carrotoff 08.11.2011 10:33

Цитата:

Допустим я импортирую swf файл через UrlLoader.
Цитата:

BuKT, у меня идет именно импорт swf (через UrlLoader)
Может все-таки через Loader?


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

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