Estoy atascado con un pequeño problema. Cuando le doy al botón para cargar el swf externo, me salta el típico error deCannot access a property or method of a null object reference y bien, les voy a poner el código que es muy sencillo ya que lo hice para comprobar en que fallaba, pero no lo encuentro. Consta de 2 botones una escena donde coloco los swf externos y los dos swf contienen un cuadrado que lo coloco en pantalla por codigo, les coloco el código as de los tres swf. Espero haberme explicado lo mejor posible, como pueden comprobar he estado probando cosas haber que cual era el problema pero nada...
Código :
package { import flash.display.*; import flash.net.*; import flash.events.*; import flash.system.*; import flash.geom.Rectangle; public class Prueba extends MovieClip { private var mi_cargador:Loader = new Loader(); private var primero:URLRequest = new URLRequest("swf1.swf"); private var segundo:URLRequest = new URLRequest("swf2.swf"); private var contexth1:LoaderContext; private var contexth2:LoaderContext; private var appDomainh1:ApplicationDomain = ApplicationDomain.currentDomain; private var appDomainh2:ApplicationDomain = new ApplicationDomain(); private var C2:c2 = new c2; public function Prueba() { var Boton:boton = new boton; stage.addChild(Boton); Boton.x = 25; Boton.y = 364; var B2:b2 = new b2; stage.addChild(B2); B2.x = 280; B2.y = 339; stage.addChild(C2); C2.x = 5; C2.y = 5; mi_cargador.load(primero); mi_cargador.contentLoaderInfo.addEventListener(Event.COMPLETE, insertMovie); Boton.addEventListener(MouseEvent.CLICK, h1); B2.addEventListener(MouseEvent.CLICK, h2); } function insertMovie(evt:Event):void { trace("carga completa"); C2.addChild(mi_cargador); } private function h1(MouseEvent) { var contexth1 = new LoaderContext(false,appDomainh1); mi_cargador.unload(); mi_cargador.load(primero, contexth1); } private function h2 ( MouseEvent) { var contexth2 = new LoaderContext(false,appDomainh2); mi_cargador.unload(); mi_cargador.load(segundo, contexth2); } } }
Código :
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.system.ApplicationDomain; public class cswf1 extends MovieClip { public function cswf1() { var X1:x1 = new x1; stage.addChild(X1); X1.x = 25; X1.y = 25; } } }
Código :
package { import flash.display.MovieClip; public class swf2 extends MovieClip { public function swf2() { var C1:c1 = new c1; stage.addChild(C1); C1.x = 25; C1.y = 25; } } }