Comunidad de diseño web y desarrollo en internet online

Problema con transición en galería de imágenes CS3

Citar            
MensajeEscrito el 04 Dic 2009 12:23 pm
Buenas a todos, como verán soy novato en flash y sobre todo en AS 3.0. Estoy desarrollando una galería con transición de imagenes en la página de presentación de un proyecto con Flash CS3. Básicamente se cargan fotos desde un XML y a intervalos de tiempo van cambiando estas imágenes con el efecto PixelDissolve. Ahora bien cuando subo el proyecto al servidor web obviamente el tiempo de carga de las fotos varía, y por ende se me descompagina el efecto al cambiar la foto del MC. Una solución que se me ocurrió fue cargar todas las imágenes primero para luego empezar con la transición. Pero bien esto es lo que no logro hacer jejeje. Traté de crear varios loader dinámicamente según la cantidad de fotos pero no salió. :(
Si alguién me puede dar una mano lo agradeceré.
Este es el codigo q utilizo:

Código :


var loaded:Number;
var vieneva:Number=0;
var loader:URLLoader = new URLLoader();
var mov1 = new Loader();
var XmlExterno:XML;
var i:Number=0;
var lista:XMLList;
var total:Number;

loader.load(new URLRequest("Galeria.xml"));

loader.addEventListener(Event.COMPLETE, cargar_foto);

function cargar_foto(event:Event):void
{
   
   XmlExterno = new XML(loader.data);
   lista=XmlExterno.children();
   total=lista.length();
               
   mov1.load(new URLRequest(lista[i].attribute("imagen")));
   mov1.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, foto_progreso);
   mov1.contentLoaderInfo.addEventListener(Event.COMPLETE, foto_cargada);
         
}

function foto_progreso(e:ProgressEvent):void
{
   var porcentaje:Number = Math.round(e.bytesLoaded / e.bytesTotal * 100);
   loading_info.text = "Loading... " + porcentaje + "%";
}

function foto_cargada(e:Event):void
{
   loading_info.text = "";
   contenedorImagenes.addChild( Bitmap(e.target.content) );
   TransitionManager.start(contenedorImagenes, {type:PixelDissolve, direction:Transition.IN, duration:2, easing:Regular.easeIn, xSections:50, ySections:50});
   descripcion.text=lista[i].attribute("descripcion");
   vieneva=1;
}

var intervalo:Timer = new Timer(4000, 100);

intervalo.addEventListener(TimerEvent.TIMER, tiempo);

intervalo.start();

function tiempo(event:TimerEvent):void {

   if (vieneva==0) {
      if (i<total-1) {
         i++;
      }
      
      this.cargar_foto(event);
      intervalo.delay=4000;
      TransitionManager.start(contenedorImagenes, {type:PixelDissolve, direction:Transition.IN, duration:2, easing:Regular.easeIn, xSections:50, ySections:50});
      vieneva=1;
      if (i==(total-1)) {
         i=-1;
      }
   } else {
      intervalo.delay=1000;
      TransitionManager.start(contenedorImagenes, {type:PixelDissolve, direction:Transition.OUT, duration:1, easing:Regular.easeOut, xSections:50, ySections:50});
      vieneva=0;
   }
}





Muchas gracias a todos
Diego

Por cccholo

1 de clabLevel



 

msie7
Citar            
MensajeEscrito el 04 Dic 2009 02:09 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Dic 2009 12:02 am
Ok gracias por tu respuesta voy a estudiar de q se trata esa biblioteca.
Saludos

Por cccholo

1 de clabLevel



 

msie7

 

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