Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Рассудите меня. Концепция флеша. (http://www.flasher.ru/forum/showthread.php?t=120213)

petav 14.01.2009 19:19

Рассудите меня. Концепция флеша.
 
Мне здесь не однократно указывали на мои ошибки в плане использования флеша, оформления кода (строчные, заглавные)....

Сделать что бы работало могу, но как правильнее. (К стате благодарен всем за критику)

Вообщем...
Есть Flash ролик (1) внедренный в HTML.
В сам Flash ролик добавлен еще один клип(2) (addChild();)
Использую ExternalInterface или loaderInfo или еще что-нибудь в 1 ролике все работает, во 2 естественно нет.

Как я уже сказал могу сделать что бы работало, но хочется грамотно это оформить. Стоит ли использовать Singleton или есть другие может быть "естественные подходы" к этому?

С уважением, Александр.

Obi 14.01.2009 19:24

Т.е. вы хотите вызывать методы загруженой флешки из главной?

petav 14.01.2009 19:40

Obi, так в этом проблем нет. Из главной можно вызвать что угодно. А вот наоборот из добавленной (addChild) метод главной сложновато

mre 14.01.2009 19:43

Нужно слать события.

petav 14.01.2009 19:45

Цитата:

Нужно слать события.
а можно примерчик, косательно ExternalInterface например

mre 14.01.2009 19:51

А что мешает использовать ExternalInterface непосредственно в подгруженном swf?

petav 14.01.2009 19:56

Все перепробывал не используется ни как.

Добавлено через 5 часов 9 минут
Вообщем методом научного тыка нашел

код 2-ой флешки:
Код AS3:

package apetrov        {
        import flash.display.MovieClip;
        import flash.external.ExternalInterface;
        import flash.events.Event;
 
 
        public class A extends MovieClip        {
                public function A()        {
                        //Сработает когда объект полностью добавиться на сцену,
                        //как я понимаю в stage появиться
                        this.addEventListener(Event.ADDED_TO_STAGE, addedToStage);
                }
 
                function addedToStage(event:Event)        {
                        //Вызываем внешний код в данном случае JS
                        ExternalInterface.call('Ajax.Informer.add("qwerty")');
                }
  }
}



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

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