joeeer... muchas thanks, me estaba volviendo loco :s o sea, que _alpha (y seguro tambi�n otras propiedades) solo puede tomar valores m�ltiplos de 0.390625 (100/256)...
y digo yo... esto no deber�a salir en la referencia de AS? marc -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Xavi Beumala Enviado el: lunes, 04 de agosto de 2003 16:05 Para: [EMAIL PROTECTED] Asunto: RE: [ASNativos] poltergeist con _alpha Hola marc, Tiempo atr�s me encontr� con lo mismo y Joseba me dio la explicaci�n que adjunto... > > Los valores del alpha de un movieClip utilizan un byte para > almacenar el valor asi que solamente tiene 256 posibles > valores (0-255) > > Lo puedes comprobar con el siguiente script: > > <code> > > var a = 0; > var contador=0; > var ultimopaso = 0; > this._alpha = 0; > while(this._alpha<100){ > //La resolucion es importante > // cuanto mas peque�o, mas preciso > a+=.01; > this._alpha = a; > if(this._alpha!=ultimopaso){ > contador++ > trace(this._alpha) > ultimopaso = this._alpha; > } > } > trace("Valores diferentes de _alpha: "+contador); > > </code> > > Como veras el valor minimo que puede coger es 0.390625 y el > total de pasos valores diferentes que toma son 256 > > > Realmente curioso XDDD. Realmente me da igual que coja un > valor decimal, > pero ya es curiosidad... > > No te creas que es un limite tan alto... imaginate esta > situacion. Tienes una pelicula a 30 fps y quieres hacer que > un objeto tarde 10 segundos en hacer un fade, por tanto, 300 > pasos por tanto escribes el siguiente script: > > <code> > clip._alpha = 0 > clip.onEnterFrame = function(){ > this._alpha += 0.3; > } > </code> > > el objeto nunca aparecera, lo maximo son 256 pasos. Claro que > se puede utilizar una variable para resolver el problema, > pero nunca vas a obtener mas de 256 niveles de transparencia: > > <code> > > clip._alpha = 0 > clip.onEnterFrame = function(){ > a += 0.3; > this._alpha = a; > } > > </code> > > curioso no? > > un saludo > > Joseba Alonso > www.sidedev.net > > > Me he tirado un buen rato intentando entender descifrar el > resultado de > lo siguiente: > > var aleatorio = > Math.ceil(Math.random() * 10) * 100; > > trace(aleatorio); > > miMC._alpha = aleatorio; > > trace(miMC._alpha); > > > > Si lo comprobais con cualquier MC vereis que los trace dan > valores > distintos �?�?�?�?�? > Aleatorio tiene que ser un > valor m�ltiplo de 10, entre 0 y 100... Al > hacer el trace > de aleatorio todo perfecto. > Ahora bien, asigno ese valor y > por arte de magia deja de ser un entero! > Si por ejemplo > aleatorio valia 10, La propiedad alpha pasa a valer 9.86. > > > Realmente curioso XDDD. Realmente me da igual que coja un > valor decimal, > pero ya es curiosidad... Alguien sabe por > qu� ocurre esto? > > <!------------------------------- Lista ASNativos: subscripciones/desubscripciones http://www.sidedev.net/asnativos --------------------------------> <!------------------------------- Lista ASNativos: subscripciones/desubscripciones http://www.sidedev.net/asnativos -------------------------------->
