Получение FlashVars из класса - PullRequest
0 голосов
/ 20 января 2012

У меня настроен класс, и он выглядит так:

package scripts
{
    import flash.display.MovieClip;
    import flash.display.Stage;

    public dynamic class Upload
    {
        public function Upload()
        {

        }

        public function getPostURL():String
        {
            return "test";
        }
    }
}

И я создаю экземпляр класса, выполняя:

var upload = new Upload();
var url:String = upload.getPostURL();

Это прекрасно работает, и я могу получить строку, но как бы я изменил класс, чтобы иметь возможность возвращать FlashVars? Я искал часы и не смог найти ответ.

Я устанавливаю FlashVars, используя это:

<param name=FlashVars value="var=test" />

Ответы [ 2 ]

1 голос
/ 20 января 2012

Не забудьте включить ваши FlashVars в параметр src для <embed>, а также в тег * <param>, который вы использовали, например:

<embed src="file.swf?var=test" />

Эти переменные доступны через root.loaderInfo.parameters.

Вы можете узнать больше об объекте LoadInfo здесь .

1 голос
/ 20 января 2012

Для любого экземпляра, добавленного на сцену, вы можете использовать этот код: root.loaderInfo.parameters.var

UPDATE

package scripts
{
import flash.display.Shape;
import flash.events.Event;

    // If you want to use an Uplaod class like a container, 
    // then you should extend it from Sprite.
    public dynamic class Upload extends Shape
    {
        protected var _url:String = "";

        public function Upload()
        {
            super();
            addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
        }

        protected function addedToStageHandler(event:Event):void
        {
            _url = root.loaderInfo.parameters.var;
        }

        public function getPostURL():String
        {
            return _url;
        }
    }
}

В Main.as:

var upload = new Upload();
addChild(upload);
var url:String = upload.getPostURL();

Или другой вариант без Upload класса. В Main.as:

var url:String = loaderInfo.parameters.var;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...