Comunidad de diseño web y desarrollo en internet online

Problema con LoadClip

Citar            
MensajeEscrito el 30 Jul 2008 04:00 pm
Que tal:
Estoy trabajando con varios proyectos, y para el preloader estoy usando la clase LoadClip, mi problema es que cuando va cargando, y muestro el porcentaje, aveces cuando va en 78% por ejemplo, se pasa otra vez a 34%, y asi, hasta que al azar llega a 100%.
En varios proyectos me ha pasadao, solo en firefox funciona bien.
El código es el siguiente:

Código :

var ldr:MovieClipLoader = new MovieClipLoader();
var ldrO:Object = new Object();
ldrO.onLoadProgress = function(tar:MovieClip, bytesLoaded:Number, bytesTotal:Number){
         showPercentTx.text = Math.floor((bytesLoaded/bytesTotal)*100)+"%";
}
ldr.addListener(ldrO);

A cualquiera que le haya pasado le agradezco su ayuda! (si lo solucionó).

Feliz día.

Por cralph

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Jul 2008 11:00 pm

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 01 Ago 2008 01:30 pm
El problema no esta en el redondeo ya que si veo la precarga en una barra, me sucede igual y no uso redondeador.

Código :

ldrO.onLoadProgress = function(tar:MovieClip, bytesLoaded:Number, bytesTotal:Number){
        barrita._xscale = (bytesLoaded/bytesTotal)*100;
}

Gracias por contestar.

Por cralph

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Ago 2008 07:46 pm
No es de redondeo por lo cual te puse el post, disculpa mi forma de espresar, no se si viste el problema que le ocurria al chico, tenia una variable que le daba 1.7 y otra que le daba 1.7 y cuando las comparaba le decía que una era mayor que la otra y no se viste los ejemplo que le puse, pruébalos, ejecutalos en tu flash para que veas a que me refiero y quizás encuentres una solución.

Código :

var num:Number = 0;

for(var n=0; n<10; n++){
   
   num += 0.1;
   
   trace('El valor de num es '+ num);
   
}

trace("ahora mira esta condición:");

if(num == 1){
   
   trace('El valor de num si es 1');
   
}else{
   
   trace('El valor de num no es 1');
   
}


El otro ejemplo y el más sencillo, pero desconcertante

Código :

trace(10.1 - 10);


Quizás tu división cree un número con decimales que le cueste trabajo procesar, es por eso que le puse una función al chico que convertía los números a enteros hacía la operación y después dividía por la misma cantidad de decimales que se utilizó para convertir el número en entero.

Utiliza la función que le puse al chico y si te da el mismo resultado, entonces si no tengo explicación, debe ser algo así:

Código :

var decimals:Number = givemeMaxDecimal(bytesLoaded / bytesTotal, 100);

var pCent:Number = (bytesLoaded / bytesTotal) * decimals;
var 100div:Number = 100 * decimals;

barrita._xscale = pCent / 100div;

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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