Comunidad de diseño web y desarrollo en internet online

Cargar imágenes aleatorias

Citar            
MensajeEscrito el 16 Feb 2007 01:13 pm
Quiero hacer un flash en el que se muestre cada 2 segundos una imagen que está en un directorio. El flash que he hecho tiene sólo 1 frame.
Para ello, he echo el siguiente código al inicio:

Código :

var intervalo:Number = 20000;
var nclip:Number = 0;

function Cargar_siguiente(){
   nclip++;
   foto = random(2027)+1;
   if ((foto >= 1) && (foto <= 9)){
      txt = "000";
   }else if ((foto >= 10) && (foto <= 99)){
      txt = "00";
   }else if ((foto >= 100) && (foto <= 999)){
      txt = "0";
   }else{
      txt = "";
   }
   this.createEmptyMovieClip("Clip"+nclip, 0);
   _root["Clip"+nclip].loadMovie("./Fotos/Peques/" + txt + foto + ".jpg");
   removeMovieClip(_root["Clip"+nclip-2]);
}

Cargar_siguiente();
stop();


y en un objeto que utilizo para hacer Timer, hago lo siguiente:

Código :

onClipEvent(load){
   var time:Number = 0;
}

onClipEvent(enterFrame){
   //En este timer, se da la orden de volver a cargar el siguiente clip
   if ((getTimer() - time) >= _root.intervalo){
      actBytes = _root["Clip"+_root.nclip].getBytesLoaded() || 0;
      totBytes = _root["Clip"+_root.nclip].getBytesTotal() || 100;
      percent  = Math.round(actBytes * 100 / totBytes);
      if (percent == 100){
         _root.Cargar_siguiente();
      }
      time = getTimer();
   }
}


El caso es que el problema que tengo que insertar el Flash en una página web, y las imágnenes pesan unos 30 kbs. Así que no da tiempo en 2 segundos a la mayoría de las conexiones a cargar las imágenes. He probado en crear N movieClips, incrementando una variable global, haciendo que cuando uno se cargue, se muestre el siguiente.

Pero siempre tengo el mismo resultado: tarda en cargar las imágnees. Así que me he quedado sin recursos, ¿alguien me da otra manera de hacer algo parecido?

Por ^kAnKy^

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Feb 2007 02:43 pm
Hola, carga las imágenes con MovieClipLoader. Para el setInterval haz que cada vez que se ejecute la acción elimine el intervalo (osea que solo se ejecute una vez). Luego en el onLoadInit() (que es cuando la imágen se a cargado del todo) vuelves a crear el intervalo.
De esta manera los dos segundos del intervalo se reproduciran una vez la imágen este cargada.

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 16 Feb 2007 08:30 pm
Ok perfecto muchas gracias, voy a utilizar ese objeto, no lo conocía. Cada día AS me cae mejor :D

Por ^kAnKy^

5 de clabLevel



Genero:Masculino  

firefox

 

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