Comunidad de diseño web y desarrollo en internet online

ERROR 1009 no se puede acceder a las propiedades de un objeto nulo.

Citar            
MensajeEscrito el 18 May 2014 03:21 pm
Buenas, tengo un problema al acceder desde mi clase main a otro swf con el SWFLoader de Green sock, pues dicho swf tiene su clase asociada y cuando accedo a ella me dice ERROR 1009 NO se puede acceder a las propiedades de un objeto nulo, me indica el número de línea y es donde esta stage.align=Stage align.... Ect Ect

El tema que si quito el stage align y el stage scalemode me carga sin problemas el swf pero claro sin la configuración visual que quiero.

Os agradezco vuestra atención un saludo.

Por Sancheloz

5 de clabLevel



 

opera
Citar            
MensajeEscrito el 19 May 2014 04:17 am
Eso es porque se inicializa antes de que le hagas el "addChild" en el swf que lo carga... y no tiene acceso al stage, por eso, casi siempre, es buena practica usar addEventListener(Event.ADDED_TO_STAGE) en el constructor de los objetos que extienden DisplayObject y tienen en su logica un acceso al stage.
En el swf cargado (child):

Código ActionScript :

class SubSWFMain extends Sprite
// constructor.
public function SubSWFMain():void {
// si this.stage existe (x ejemplo, cuando compilas o ejecutas este subswf), llama al metodo inicializador...
// sino (stage no disponible, como cuando lo cargas con un swf externo), agregas un listener para saber cuando se agrega al stage... llamando al mismo metodo, (que tiene como parametro opcion, el evento)
stage ? init(null) : addEventListener(Event.ADDED_TO_STAGE, init );
}

public function init( event:Event=null ):void {
removeEventListener(Event.ADDED_TO_STAGE, init );
// aca pone tu codigo, stage existe...
stage.align = StageAlign.TOP_LEFT ;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.showDefaultContextMenu = 
.... blablalba
} 

Por rodrigolopezpeker

61 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.