Почему компиляция в Flash IDE я не могу получить доступ к стадии в конструкторе спрайта перед Addchild, пока я компилируюсь в Flex, работает?

StackOverflow https://stackoverflow.com/questions/2743172

  •  02-10-2019
  •  | 
  •  

Вопрос

Я создал этот простой класс (упущенная директива и импорт пакета)

public class Viewer extends Sprite {
    public function Viewer():void {
         trace(stage);
    }
}

Затем в Flash IDE I импортирую в первый кадр это как:

import Viewer
var viewer = new Viewer();
stage.addChild(viewer);
trace(viewer.stage);

И это работает, как я ожидал: первый след, называемый в конструкторе, говорят, что этап - «NULL», потому что я еще не добавил Viewer к DisplayObjectContainer. Второй вывод вывод сценического объекта.

Таким образом, я создал проект, используя Plugin axdt Eclipse, я воссоздал и собрал только первый класс (разбил сценарий init init, используемый в Flash IDE, потому что не требуется) и на первом следах ... WoW ... Этап заполнены на этапе объекта.

Мне кажется, что компилятор, используемый AXDT (с открытым исходным кодом FLEX4 SDK), добавляют класс ... перед построить его (!?) .. до DisplayObjectContainer уже подключен к стадии.

Я хочу понять, как может воспроизвести это поведение с помощью компилятора в Flash IDE, чтобы я мог направлять стадию доступа в строительстве.

Это было полезно?

Решение

stage определяется в классе документа до того, как конструктор вызывается. Так как вы компилируете Viewer В качестве класса документа это происходит.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top