Comunidad de diseño web y desarrollo en internet online

Vaciar un loader que se ha cargado con un xml

Citar            
MensajeEscrito el 23 Ene 2012 08:56 am
Hola, estoy intentando hacer que un mc carge unos thumbnails con varios xml. mi porblema es que cuando carga el sigiente xml, si este tiene menos miniaturas que el anterior, carga las del nuevo xml y el resto en vez de vaciarlas las deja. Estoy intentando vaciar el loader que carga las miniaturas con removeChild pero no me funciona. tengo esta funcion que carga los thumbnails:

Código ActionScript :

private function loadThumbNails():void{
         for(var i:Number=0; i<thumb_arr.length; i++){
            var thumb:Thumb = new Thumb();
            thumb.x = (i*THUMB_WIDTH)+(i*THUMB_DIFF);
            thumb.indx = i;
            var tloader:Loader = new Loader();
            thumb.holder.addChild(tloader);
            tloader.contentLoaderInfo.addEventListener(Event.COMPLETE, onThumbLoaded);
            tloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            tloader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            tloader.load(new URLRequest(thumb_arr[i]));
            thumb.addEventListener(MouseEvent.CLICK, onThumbClick);
            thumbHolder.addChild(thumb);
         }
      }


y luego en cada una de las funciones que cargan los diferentes xml le he agregado lo siguiente:

Código ActionScript :

private function cargaTodasespecies(e:MouseEvent):void{
         imgHolder0.removeChild(imgLoader0);
         imgHolder1.removeChild(imgLoader1);
         dataController.load1("todas.xml");
         }


si por ejemplo le pongo esta linea en la función:

Código ActionScript :

thumbHolder.removeChild(thumb);


me dice que la propiedad no está definida, porque la variable thumb esta dentro de la función loadThumbNails, pero si defino la variable thumb fuera de la función me da fallo de compilación... :?

¿Cómo podría arreglar esto?

Gracias.

Por plug

78 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Ene 2012 12:11 pm
Defínela fuera de la función para que tenga scope dentro de la clase, luego lo usas en los métodos, si te da error pon cual

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Ene 2012 01:25 pm
Me da este error:

Código :

TypeError: Error #2007: El valor del parámetro child debe ser distinto de null.

Por plug

78 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Ene 2012 01:43 pm
Sip, quiere decir que thumb no tiene valor ... pues lo dicho, ponlo como miembro de la clase y ya puedes acceder a el desde cualquier método

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Ene 2012 12:15 pm
Gracias. Ya lo he solucionado. Lo que he echo es vaciar siempre el cargador de thumbnails antes de que vuelva a cargar los siguientes:

Código ActionScript :

private function loadThumbNails():void{         
         for(i = thumbHolder.numChildren - 1; i >= 0; i--)
         {
            thumbHolder.removeChildAt(i);
         }
         
         for(var i:Number=0; i<thumb_arr.length; i++){
            var thumb:Thumb = new Thumb();
            thumb.x = (i*THUMB_WIDTH)+(i*THUMB_DIFF);
            thumb.indx = i;
            var tloader:Loader = new Loader();
            thumb.holder.addChild(tloader);
            tloader.contentLoaderInfo.addEventListener(Event.COMPLETE, onThumbLoaded);
            tloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            tloader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            tloader.load(new URLRequest(thumb_arr[i]));
            thumb.addEventListener(MouseEvent.CLICK, onThumbClick);
                      thumbHolder.addChild(thumb);                                    
         }
      }

Por plug

78 de clabLevel



Genero:Masculino  

firefox

 

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