Bueno el motivo de abrir este topic es porque estoy trabajando con un objeto URLLoader, explico rápidamente la situación.
Tengo 2 archivos FLA
1) home
2) tema1
El archivo tema1 contiene en escenario(root1 o MainTimeline como lo conozcan) 2 MC boton1 y boton2, ambos tienen script dentro de para realizar ciertas operaciones. Y en el MainTimeLine en la única capa que tengo y en el único fotograma, tengo el siguiente script
Código ActionScript :
boton1.addEventListener(MouseEvent.MOUSE_OVER,funcion1);
function funcion1(e:MouseEvent):void{
trace("Desde arriba");
}
boton2.addEventListener(MouseEvent.MOUSE_OVER,funcion2);
function funcion2(e:MouseEvent):void{
trace("Arriba uoo");
miClip.width+=100;
}
stop();
El archivo home contiene en escenario (MainTimeline) un MovieClip llamado miVisor, este MC contiene varios objetos dentro y contiene script para la manipulación de los mismos (estoy manejando este MC como un boton), para manipular por completo el MC manejo el this.addEventListener(MouseEvent.TipoEvento...)
Todo bien hasta ahí hace todo lo que quiero, también tengo esta función.
Código ActionScript :
function cargarMiContenido(direccion:String):void{
var temporizador:Timer=new Timer(50);
var estadoAnimacion:Boolean;
var dirURL:URLRequest=new URLRequest(direccion);
var miLoader:Loader=new Loader();
var urlCarga:URLLoader=new URLLoader();
urlCarga.load(dirURL);
estadoAnimacion=true;
barraDeCarga.visible=true;
barraDeCarga.alpha=0;
temporizador.addEventListener(TimerEvent.TIMER,animacion);
barraDeCarga.addEventListener(ProgressEvent.PROGRESS,cargando);
barraDeCarga.addEventListener(Event.COMPLETE,continuar);
miLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,mostrarContenido);
temporizador.start();
barraDeCarga.source=urlCarga;
function animacion(e:TimerEvent):void{
if(estadoAnimacion){
if(barraDeCarga.alpha<1){
barraDeCarga.alpha+=0.2;
}else{
barraDeCarga.alpha=1;
temporizador.stop();
}
}else{
if(barraDeCarga.alpha>0){
barraDeCarga.alpha-=0.2;
}else{
barraDeCarga.alpha=0;
barraDeCarga.visible=false;
temporizador.stop();
}
}
}
function cargando(e:ProgressEvent):void{
cuadroTexto.visible=true;
cuadroTexto["etiqueta"].text=etiqueta+" "+int(barraDeCarga.percentComplete)+"%";
}
function continuar(e:Event):void{
cuadroTexto.visible=false;
barraDeCarga.removeEventListener(ProgressEvent.PROGRESS,cargando);
barraDeCarga.removeEventListener(Event.COMPLETE,continuar);
estadoAnimacion=false;
temporizador.start();
miLoader.load(dirURL);
}
function mostrarContenido(e:Event):void{
miLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE,mostrarContenido);
miLoader.width=cajaDeContenido.width;
miLoader.height=cajaDeContenido.height;
miLoader.x=-1*(miLoader.width/2);
miLoader.y=-1*(miLoader.height/2);
cajaDeContenido.addChild(miLoader);
cajaDeContenido.enabled=false;
}
}
Esta función me carga un swf (tema1.swf) dentro de un MC llamado cajaContenido (Este MC esta dentro de miVisor), no hay problema al cargarlo lo carga bien, mi duda es porque cuando paso el mouse sobre el el mc boton1 del swf cargado me marca el siguiente error.
Código :
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo. at Contenedor/sobreBoton()
se que miVisor es una instancia de Contenedor y que sobreBoton es una funcion que esta dentro del MC miVisor y funciona bien.
Y cuando paso el mouse sobre el boton2 (que igual es del swf cargado) no me marca ningun error hace lo que tiene que hacer.
Y otra pregunta, como puedo deshabilitar el swf cargado, o como puedo acceder a los objetos, funciones del mismo.
Creo que es todo lo que tengo de dudas, de antemano Clabers muchas gracias ,jep y que Viva Clab!!
