Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/04/2008, 12:06
julian16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 21
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Solo se ve el final PRECARGA

Cita:
Iniciado por yoseman Ver Mensaje
Esto es porque cuando la película se queda en la cache del navegador tarda menos tiempo en cargar que lo que dura tu animación.

Si quieres solucionarlo tienes que usar una variable intermedia que se incremente cuando transcurran X pasadas de la función del intervalo, pero que se incremente si el porcentage de carga es menor que el fotograma actual del intervalo.

Supongo que tu clip de barra_mc tiene 100 fotogramas.

Código PHP:
function cargando() {
    
    if(
entrada==undefined)
    {
        
fotograma_preloader=1;
        
tiempo_fotograma=10;
        
cuenta_tiempo=0;
        
entrada=true;
    }
    var 
totalcargadosporcentaje;
    
total _root.getBytesTotal();
    
cargados _root.getBytesLoaded();
    
porcentaje Math.ceil((cargados*100)/total);
    
porcentaje_txt.text fotograma_preloader+" %";
    if(
fotograma_preloader<porcentaje)
    {
        
trace(fotograma_preloader);
        
cuenta_tiempo++;
    }
    if(
cuenta_tiempo==tiempo_fotograma)
    {
        
fotograma_preloader++;
        
barra_mc.gotoAndStop(fotograma_preloader);
        
cuenta_tiempo=0;         
    }    
    if ((
cargados == total) && fotograma_preloader==100
    { 
        
clearInterval(hiloPrecarga);    
        
play();
    }
}

var 
hiloPrecarga setInterval(cargando1);
stop(); 
Lo que hace es:

a la entrada la funcion definimos:

//actual fotograma de la barra
fotograma_preloader=1;

//tiempo que ha de transcurrir para mostrar otro fotograma
// cuanto menor sea más rápido va (mínimo 2 para que esto tenga sentido)
tiempo_fotograma=10;

//contador de tiempo, vuelve a 0 al llegar a tiempo_fotograma
cuenta_tiempo=0;

//el txt muestra el fotograma de la barra
porcentaje_txt.text = fotograma_preloader+" %";


if(fotograma_preloader<porcentaje)
{
// si el porcentage de carga es mayor que el fotograma actual incrementamos
cuenta_tiempo++;
}


if(cuenta_tiempo==tiempo_fotograma)
{
// si el tiempo para incrementar un fotograma ha transcurrido lo incrementamos
fotograma_preloader++;
//vamos al fotograma que corresponda
barra_mc.gotoAndStop(fotograma_preloader);
//reiniciamos contador
cuenta_tiempo=0;
}

Lo mismo te parece un poco complicado :S



Un saludo.
Hola yoseman, tengo el mismo problema que este muchacho, mi preloader no aparece hasta que está al 80% aprximadamente, y después de laaaargos segundos, y quería probar tu código php, pero no sé dónde aplicar el código (si al MC o al frame) y dónde vá el código de la función. Si pudieras aclarame estos puntos te agradeceré muchísimo! Saludos