Comunidad de diseño web y desarrollo en internet online

Problemas con Event.COMPLETE.

Citar            
MensajeEscrito el 05 Abr 2012 06:37 pm
Saludos:
Tengo el problema con el Event.COMPLETE en una carga que hago luego de duplicar varios clips para una galeria de miniaturas de imagenes. El problema concreto es que cuando llega el momento de mostrar las imagenes dentro del Event.COMPLETE, estas no aparecen. Sin embargo, si coloco un trace puedo ver el mensaje porque si entra en la funcion correspondiente. Adjunto el codigo para ver si pueden ayudarme:

Código ActionScript :

public class CargaXML extends Sprite
   {
      private var tb:MovieClip;
      private var dirX:Number = 0;
      private var dirY:Number = 0;
      private var i:Number;
      private var ldr:Loader;
      private var req:URLRequest;
      private var uldr:URLLoader;
      private var xml:XML;
      private var larXml:Number;
      private static const url:String = "./xml/images.xml";
      private var RecMc;
      private var num:Number;
      private var col:Number;
      
      public function CargaXML(num, col):void
      {
         req = new URLRequest(url);
         uldr = new URLLoader(req);
         uldr.addEventListener(Event.COMPLETE, alCompletar);
      
      }
      
      private function alCompletar(e:Event):void
      {
         //trace(num);
         
         xml = new XML(e.currentTarget.data);
         xml.ignoreWhite = true;
         larXml = xml.pic.length();
         
         for (i = 0; i < larXml; i++)
         {
            tb = new MovieClip();
            //tb.alpha = 0;
            tb.x = 79 * dirX + 50;
            tb.y = 60 * dirY + 120;
            
            addChild(tb);
            ldr = new Loader();
            dirX++;
            if ((dirX == col))
            {
               dirX = 0;
               dirY++;
            }

            CargarThumbs(tb);
            
         }
      
      }
      
      
      private function CargarThumbs(tb:MovieClip):void
      {
         ldr.load(new URLRequest(xml.pic[i].Galeria[0].attributes()));
         
         ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, Prog);
         
         ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, Listo);
         function Prog(e:ProgressEvent):void
         {
            var por:Number = Math.round(e.bytesLoaded * 100 / e.bytesTotal);
         
            //trace(por);
         }
         function Listo(e:Event):void
         {
            tb.addChild(ldr);
            
            trace("Llegue");
            Tweener.addTween(tb, {alpha: 1, time: 2, transition: "easeOutQuad"});
         
         }
      }
   
   
   }

}
;



Veran que la definicion de la clase recibe dos parametros que no los uso en el codigo que adjunto. Esto es porque tampoco me funciona. Las variables del parametro se pierden. Entonces lo que quiero es solucionar un problema a la vez.
Necesito que se puedan mostrar las imagenes cuando se ingrese a la funcion llamada en Event.COMPLETE. No entiendo porque no me funciona.
Mil disculpas por la desprolijidad del post. Les estare agradecido cualquier tipo de consejo.
Muchas gracias
STARLANCER :wink:

Por starlancer

59 de clabLevel



 

msie
Citar            
MensajeEscrito el 05 Abr 2012 10:25 pm
mira, no soy de trabajar con clases pero el error comun si fuera actionscript metido en flash, es que pusiste la funcion a parte del event listener, osea, en mi caso meteria la funcion alCompletar() abajo de donde esta el evento, saludos.

Por skaterseba

Claber

170 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Abr 2012 04:26 pm
proba asi:

Código ActionScript :

private function CargarThumbs(tb:MovieClip):void
      {
          tb.addChild(ldr);
         ldr.load(new URLRequest(xml.pic[i].Galeria[0].attributes()));
         
         ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, Prog);
         
         ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, Listo);
         function Prog(e:ProgressEvent):void
         {
            var por:Number = Math.round(e.bytesLoaded * 100 / e.bytesTotal);
         
            //trace(por);
         }
         function Listo(e:Event):void
         {  
            trace("Llegue");
            Tweener.addTween(e.target.loader.parent, {alpha: 1, time: 2, transition: "easeOutQuad"});
         
         }
      }




Saludos



eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

chrome
Citar            
MensajeEscrito el 06 Abr 2012 05:15 pm
Si, ahi si me funciono.
Ahora me queda solo un problema que me parece a mi que es muy similar.
No se si notaron que la clase CargaXML() recibe dos parametros. Estos son num y col. El num lo tendria que utilizar en el for.. que crea los clips y col para definir las columnas. Bueno, el problema que tengo es que la variable no me pasa. Es decir, no llega al for. Se que tiene que ser un problema de ambitos, pero sinceramente no se como puedo hacer, porque en el evento COMPLETE de carga del XML no puedo pasar parametros.

Muchisimas gracias
STARLANCER :wink:

Por starlancer

59 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Abr 2012 03:28 am
proba asi:

Código ActionScript :

      ...
      private var num:Number;
      private var col:Number;
      
      public function CargaXML(numero:Number, columna:Number):void
      {
         num = numero;
         col = columna;         
         req = new URLRequest(url);
         uldr = new URLLoader(req);
         uldr.addEventListener(Event.COMPLETE, alCompletar);
      
      }
      ...




Saludos



eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

chrome
Citar            
MensajeEscrito el 09 Abr 2012 12:46 am
Esto es porque tampoco Gafas Carrera Baratasme funciona. Las variables del parametro se pierden. Entonces lo que quiero es solucionar un problema a la vez.
Necesito que se puedan Gafas Armanimostrar las imagenes cuando se ingrese a la funcion llamada en Event.COMPLETE. No entiendo porque no me funciona.

Por cvdsdfsdhg

1 de clabLevel



 

chrome

 

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