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

Fillini 10.03.2009 11:17

Загрузка swf с параметром
 
Драсьте. Имеем видео плейер в который грузиться flv по урл. Так вот есть сайт полностью на флеше, в него периодически нужно загружать этот плейер с разными параметрами урл. Возможно ли это?

CrazyFlasher 10.03.2009 11:24

да...

Fillini 10.03.2009 12:57

Каким образом? Подскажите пжалста?

Добавлено через 1 час 1 минуту
Проблему решил. Кому интересно вот код.
B.as
Код AS3:

package 
{
        import flash.display.MovieClip;
        import flash.events.Event;
 
        /**
        * ...
        * @author ...
        */

        public class B extends MovieClip
        {
 
                public function B()
                {
                        addEventListener(Event.ADDED_TO_STAGE, onAdd);
                }
 
                public function setB(param:String, main:MovieClip):void
                {
                        trace("Param = " + param);
                        trace("root = " + main);
                        main.Test();
                }
 
                public function onAdd(e:Event):void
                {
                        trace(root);
                }
 
        }
 
}

Компилиться в B.swf


Главный класс (Main):
Код AS3:

package 
{
        import br.com.stimuli.loading.BulkProgressEvent;
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.events.Event;
        import br.com.stimuli.loading.BulkLoader;
 
        /**
        * ...
        * @author ...
        */

        public class Main extends MovieClip
        {
 
                public var bulk:BulkLoader = new BulkLoader("myloader");
 
                public function Main():void
                {
                        if (stage) init();
                        else addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(e:Event = null):void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
                        // entry point
 
                        bulk.add("B.swf", { id:"swf" } );
                        bulk.addEventListener(BulkProgressEvent.COMPLETE, onAllComplete);
                        bulk.start();
 
                }
 
                private function onAllComplete(e:Event):void
                {
                        var mov:MovieClip = bulk.getMovieClip("swf");
                        addChild(mov);
                        mov.setB("My Param",this);
 
                }
 
                public function Test():void
                {
                        trace("Hello from B");
                }
 
        }
 
}


CrazyFlasher 11.03.2009 12:56

ужасный способ, т.к. swf-ки повязаны между собой, что не есть хорошо.
проще передавать прямо при загрузке:
Код:

loader.load(new URLRequest("B.swf?param=preved"));

Fillini 11.03.2009 14:08

а как потом считать этот пареметр

CrazyFlasher 11.03.2009 14:28

loaderInfo

Fillini 11.03.2009 14:37

ясно спасибо. А как из этой флешки добраться до рута

CrazyFlasher 11.03.2009 14:38

зачем вам root?

Fillini 11.03.2009 14:43

например эта флешка должна управлять через root другой такой же подгруженой флешкой

CrazyFlasher 11.03.2009 15:40

забудьте про root...читайте про runtime shared library, интерфейсы и т.д....воспользуйтесь поиском


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

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