Comunidad de diseño web y desarrollo en internet online

Duda existencial: 100 - 10 = ¿89.84375?

Citar            
MensajeEscrito el 05 Nov 2008 08:08 pm
A ver... Me encontré con algo que me resulta bastante extraño...

Código :

createEmptyMovieClip("cargador",1)
cargador.loadMovie("foto.jpg")
trace(cargador._alpha)
onEnterFrame=function(){
   cargador._alpha -= 10
   trace(cargador._alpha)
}


Y el trace que me devuelve es...

100
89.84375
79.6875
69.53125
59.375
49.21875
39.0625
28.90625
18.75
8.59375
-1.171875
-10.9375
-20.703125
-30.46875
-40.234375
-50
etc...

¿No debería ir bajando de a 10? Digo, si arranca en 100 y le resto 10... debería ir a 90... no a 89.84375 ¿No? :shock:

¿Estoy haciendo algo mal? Ya estoy quemado...

Por Damoc E. Prad

4 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Nov 2008 08:58 pm
prueba haceidnoe sto
trace(Math.round(cargador._alpha));
te va a dar un numero entero

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 06 Nov 2008 11:32 am
La explicación es simple:
Alpha es una propiedad porcentual ( de 0 a 100 en decimal) de un valor 0x00 a 0xFF ( de 0 a 255 en decimal) luego la relación será ( vista en decimal): 256/100
El valor que se representa en el trace es el valor decimal de alpha. Solo hay que pasarlo a hexadecimal y tendremos el valor real del alpha.
En el caso anterior : 89.84375 *256/100 = 230 (230 (entero) es el valor "real" de alpha en ese supuesto (0xE6) y considerado entre 0 y 255)
y ese valor decimal presentado 89.84375 es el valor decimal que da un entero en hexadecimal y más próximo a 90(decimal).

Explicaría el desplazamiento de bits en código máquina, pero no creo que tengamos que meternos en profundidades asi que dicho de otro modo:
Es simplemente la presentación decimal de un redondeo en hexadecimal.

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 06 Nov 2008 05:34 pm
Muchas gracias!! Ahora todo tiene sentido!!

Necesitaba que alguien me explique eso.

Por Damoc E. Prad

4 de clabLevel



 

msie7

 

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