Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/03/2005, 08:15
Avatar de nodream
nodream
 
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 20 años, 7 meses
Puntos: 2
He resuelto el probelma

Resolví el problema, el problema era en el getTransform, ya que este siempre devolviá valores enteros entonces, nunca me contaba los decimales, lo que hice fue pedirlos solo una vez y almacenarlos en otras tres variables, es un poco mas de codigo, pero ni modo que por tres variable se vaya a acabar la memoria, corregí lo del if, y lo de los tres colores que mencionas es necesario, tiene que hacerce por separado, ya que no siempre son iguales los valores a los que tienen que llegar la funcion prototipo quedo así, libre para todo aquel que quiera usarla, creo que esta menos complicada que la de kadazuro, al menos para usuarios novatos como yo.

Código:
MovieClip.prototype.setColor = function(R:Number,G:Number,B:Number)
{
  
  myCol = new Color(this);
  allColors = new Object();
  allColors = myCol.getTransform();
  red = allColors.rb;
  green = allColors.gb;
  blue = allColors.bb;
  
  this.onEnterFrame = function()
  {
 	 velocidad=6; //por ejemplo. A mayor valor menor velocidad.;
  	 red+=(R-red)/velocidad;
 	 green+=(G-green)/velocidad;
 	 blue+=(B-blue)/velocidad;
	 
	 var myObj:Object = { ra: 0, rb: red, ga: 0, gb: green, ba: 0, bb: blue, aa: 100, ab: 0};
	 
	 myCol.setTransform(myObj);
	 if(myObj.rb==R && myObj.gb==G && myObj.bb==B)
	  {delete this.onEnterFrame;}
	
  };
};
para usarilo solo se manda llamar con:

mi_mc.setColor(255,12,200);

este code no es perfecto, tiene un pequeño detalle; hay que inicializar las propiedades ADVANCED de los colores del movieclip primero, esto puede hacerce con otra linea supongo aunque yo lo hago desde tiempo de diseño y me evito problemas.

Última edición por nodream; 23/03/2005 a las 08:17