Comunidad de diseño web y desarrollo en internet online

refrescar carga externa peliculas dentro de un Movieclip

Citar            
MensajeEscrito el 10 Mar 2009 04:53 pm
En mi area de trabajo tengo:

- siete botones (uno_btn, dos_btn, tres_btn ....... siete_btn)
- un preloader (preloader_mc)
- y un MovieClip (ventana_mc) vacio.

La idea es que al dar click a cualquiera de los botones me cargue una pelicula externa; logro que todos carguen una pelicula diferente dentro de "ventana_mc", pero el problema es que si doy click a uno y luego al otro, las peliculas se van montando una sobre otra. Entonces ¿Como puedo hacer para que el MovieClip borre su contenido cada vez que de click a uno de los botones?. Aqui les pongo mi codigo, he provado con removeChild e incluso encotre una pista para lo que quiero hacer, pero esta última solo me funciona dando click directamente al movieclip. Ahora, si alguien tiene una forma más practica y sencilla de hacerlo mucho que mejor. Gracias.

Código :

//////////***************BOTONES
uno_btn.addEventListener(MouseEvent.CLICK, uno);
function uno(e:MouseEvent):void{
   hace("Movie1.swf");
}
dos_btn.addEventListener(MouseEvent.CLICK, dos);
function dos(event:MouseEvent):void{
   hace("Movie2.swf");
}

.
.
.
.

siete_btn.addEventListener(MouseEvent.CLICK, siete);
function siete(event:MouseEvent):void{
   hace("Movie7.swf");
}

/////////****PARA QUE COMIENCE OCULTO EL PRELOADER

preloader_mc.visible=false;

/////////*********** LA FUNCION

function hace(a):void{   
var cargador:Loader = new Loader();
cargador.contentLoaderInfo.addEventListener(Event.OPEN, onOpen);
cargador.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
cargador.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);

cargador.load(new URLRequest(a));

function onOpen(e:Event):void{
preloader_mc.visible=true;   
}

function onProgress(e:ProgressEvent):void{
   var porc:Number=Math.round((e.bytesLoaded * 100)/e.bytesTotal);
   preloader_mc.porc_txt.text=porc + "%";
   preloader_mc.gotoAndStop(porc);
}

function onComplete(event:Event):void{
preloader_mc.visible = false;      
ventana_mc.addChild(cargador);
cargador.removeEventListener(Event.COMPLETE, onComplete);
}
}

/////////************AQUI LA PISTA

ventana_mc.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    ventana_mc.removeChild(DisplayObject(event.target)); 
}

Por Scarecrow

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 Mar 2009 11:24 pm
Te recomiendo que cargues las cosas dentro de un Sprite. Cada vez que cargas una nueva, vacias el Sprite:

Código ActionScript :

while(micontenedor.numChildren > 0){
     micontenedor.removeChildAt(0);
}

Por esedeerre

132 de clabLevel



 

MadRid

opera
Citar            
MensajeEscrito el 11 Mar 2009 07:58 am
Fijaté que estás tratando de hacer un removeChild de ventana, cuando menos debería ser

Código ActionScript :

function clicked(event:MouseEvent):void {
    ventana_mc.removeChild(ventana_mc.getChildAt(0)); //<--si queremos eliminar el "hijo" de la ventana
    ventana_mc.parent.removeChild(ventana_mc) //<--si queremos eliminar "ventana"
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Mar 2009 08:22 pm
Gracias por sus comentarios esedeerre y Eliseo2. Vere que tal me va con sus sugerencias. GRACIAS.

Por Scarecrow

7 de clabLevel



 

firefox

 

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