¿Por qué la compilación de Flash IDE no puedo etapa de acceso en un constructor Sprite antes addChild mientras que si puedo compilar dentro de Flex funciona?

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

  •  02-10-2019
  •  | 
  •  

Pregunta

He creado esta clase simple (omissing Directiva paquete y las importaciones)

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

A continuación, Flash IDE que la importación en el primer marco de este AS:

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

y esto funciona como yo esperaba: la primera traza llamada en la etapa constructor decir es "nula" porque todavía no he añadir espectador a un DisplayObjectContainer. La segunda salida de un objeto etapa.

Así que creó un proyecto utilizando AXDT Eclipse plug-in, he recreado y compilado sólo la primera clase (destrozado el guión de inicio como utilizada en Flash IDE, ya no se necesita) y en la primera huella ... wow ... la etapa se llena con la etapa de objetos.

Me parece a mí que el compilador utilizado por AXDT (Flex4 SDK de código abierto) añadir la clase ... antes de construirlo (!?) .. a un DisplayObjectContainer ya está fijado en un escenario.

Quiero entender cómo puede reproducir este comportamiento usando el compilador Flash IDE para que pueda acceder directrly etapa en la construcción.

¿Fue útil?

Solución

stage se definen en la clase de documento antes de invocar el constructor. Dado que se compila Viewer como la clase de documento que esto suceda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top