Foros del Web » Creando para Internet » Flash y Actionscript »

Easing con color

Estas en el tema de Easing con color en el foro de Flash y Actionscript en Foros del Web. Hi, tengo un pequeño problema haciendo un easing de color Bajé un ejemplo del blog de kadazuro pero la verdad es muy avanzado ese codigo ...
  #1 (permalink)  
Antiguo 22/03/2005, 13:59
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 20 años, 6 meses
Puntos: 2
Easing con color

Hi, tengo un pequeño problema haciendo un easing de color

Bajé un ejemplo del blog de kadazuro pero la verdad es muy avanzado ese codigo para mí así que intenté hacer otro, y mas o menos me sale pero no del todo, voy calculando los valores RGB y se los voy poniendo con setTransform.

hice esta funcion

Código:
MovieClip.prototype.setColor = function(cambiar:Boolean,R:Number,G:Number,B:Number)
{
  this.onEnterFrame = function()
  {
    if(cambiar)
   {
    myCol = new Color(this);
    velocidad=5; //por ejemplo. A mayor valor menor velocidad.;
      var allColors:Object = myCol.getTransform();
   
     allColors.rb += (R-allColors.rb)/velocidad;
    allColors.gb += (G-allColors.gb)/velocidad;
    allColors.bb += (B-allColors.bb)/velocidad;

 
    myCol.setTransform(allColors);

    if(allColors.rb==R && allColors.gb==G && allColors.bb==B)
     {cambiar=false;}
   }
  };
};
donde los valores que se pasan en la funcion R,G,B son los valores a los que quermos llegar.

hago el esaing mediante la siguiente formula, la cual se aplica para los tres colores (Red,Gren,Blue).

Valoractual += (ValorFinal - ValorActual)/velocidad;

esta formula la he utilizado antes para easings de movimiento, pero para el color no funciona bien, llega un punto donde el valor deja de incrementarse o decrementarse y nunca alcanza el ValorFinal. Por ejemplo si el valor al que quiero llegar es 255 el valoractual llega a un valor cercano, pero nunca a 255.

¿hay algo malo en mi formula del easyng? ¿Existe alguna otra?

Gracias a todos los que me puedan ayudar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:08.