Отправка переменной из fla в класс документа и последующий доступ к ней - PullRequest
0 голосов
/ 31 мая 2011

Я хочу узнать, был ли мой SWF загружен локально или с другого SWF. Для этого я объявил переменную parentType в моем fla. var parentType: String = String (parent); В классе документа есть функция, которая определяет, был ли SWF загружен локально или из другого SWF. Имя функции в классе документа - externalOrInternal. Переменный parentType передается в качестве параметра функции externalOrInternal. externalOrInternal (parentType); Имя класса документа - Main. В конструкторе Main у меня есть функция pollResize () (эта функция используется для прослушивания события изменения размера. Эта часть кода не показана в приведенном ниже фрагменте кода).

Мой флаг выглядит следующим образом.

var parentType:String = String(parent);
externalOrInternal(parentType);

Мои документы следующие.

package {

    import flash.display.MovieClip;


    public class Main extends MovieClip {

        private var swfParentType:String;

        public function Main1() {

            pollResize();
        }

        public function externalOrInternal(parentType:String) {



            swfParentType=parentType;

            trace("Inside externalOrInternal");
            trace(swfParentType);


        }

        private function pollResize():void {

            trace("Inside pollResize");
            trace(swfParentType);


        }
    }
}

Когда я бегу, вот что прослеживается

Inside pollResize

null

Inside externalOrInternal

[object Stage]

Я вижу, что swfParentType имеет значение insde для функции externalOrInternal. Я сомневаюсь, почему null отслеживается внутри функции pollResize. Почему это не [объектная стадия], как внутри externalOrInternal. В связи с этим я не могу продолжить работу с событием изменения размера этапа. Что необходимо сделать, чтобы в функции pollResize отслеживалось правильное значение.

1 Ответ

3 голосов
/ 31 мая 2011

Согласно вашей трассировке, pollResize вызывается перед externalOrInternal, где вы устанавливаете swfParentType, поэтому обычно сначала он отслеживает нулевое значение.Кроме того, ваш конструктор плохо вызван, он читает Main1, когда он должен быть Main, хотя это не решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...