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

Cambio de color

Estas en el tema de Cambio de color en el foro de Flash y Actionscript en Foros del Web. Buenas... engo una pequeña duda, a ver si me la podeis solucionar... tengo un Movie clip MCamion, que contioene otro llamado camion, que contiene a ...
  #1 (permalink)  
Antiguo 13/07/2004, 05:35
 
Fecha de Ingreso: junio-2004
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Cambio de color

Buenas... engo una pequeña duda, a ver si me la podeis solucionar... tengo un Movie clip MCamion, que contioene otro llamado camion, que contiene a su vez otro llamado CajaCamion.

La idea es que al yo pulsar un botón, o dependiendo de un valor al crearse, CajaCamion pueda cambiar de color (es únicamente un rectángulo de un color sólido).

ya he probado con la clase Color, pero no me da resultado... ¿alguien tiene alguna idea?.. gracias.
  #2 (permalink)  
Antiguo 13/07/2004, 11:15
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
estas funciones las hice una vez que tenia que cambiarle de color a una animacion que era naranja, te puede servir es solo que le cambies los valores rgb de los arrays de cada color

Código:
//creas un nuevo objeto al que le asignas los valores rgb
color_trans=new Object();
color_trans.ra=100;
color_trans.ga=100;
color_trans.ba=100;
color_trans.aa=100;
color_trans.ab=0;//para iniciar, dejamos los colores originales
//creo el nuevo color
canim_color=new Color(laanim);//aqui mi movieClip que voy a modificar
//se llama 'laanim',


//creo 3 clips vacios para manejar el .onEnterFrame independiente
//para cada valor del rgb

for(eclip=1;eclip<4;eclip++){
	createEmptyMovieClip("c"+eclip,10+eclip);
	trace("creando c"+eclip);
}

//esta funcion guarda la ultima transformacion de color
//para que al cambiar otra vez, empieze por el ultimo
//color
record_value=function(gamacolor,quevalor){
	if(gamacolor==1){recrb=quevalor;}
	if(gamacolor==2){recgb=quevalor;}
	if(gamacolor==3){recbb=quevalor;}	
}



//esta es la funcion que suma o resta a x velocidad/fps para llegar al color

MovieClip.prototype.trans_ft=function(cualclip,cualgama,vfrom,vto){
	//trace("transformando color "+cualclip+" gama="+cualgama+" de "+vfrom+" a "+vto);
	if(vfrom>vto){
	this.current=vfrom;
	this.onEnterFrame=function(){
		if(this.current>vto){
		this.current-=vel;
		//trace("transformando gama="+cualgama+" de "+vfrom+" a "+vto+" progress="+this.current);
		if(cualgama eq 1){color_trans.rb=this.current;}
		if(cualgama eq 2){color_trans.gb=this.current;}	
		if(cualgama eq 3){color_trans.bb=this.current;}
		cualclip.setTransform(color_trans);
		}else{
		this.current=vto;
		//trace("transformado gama="+cualgama+", this.current="+this.current);
		delete this.onEnterFrame;
		record_value(cualgama,this.current);
		cualclip.setTransform(color_trans);
		}
	}
	}
	
	
	if(vfrom<vto){
	this.current=vfrom;
	this.onEnterFrame=function(){
		if(this.current<vto){
		this.current+=vel;
		//trace("transformando gama="+cualgama+" de "+vfrom+" a "+vto+" progress="+this.current);
		if(cualgama eq 1){color_trans.rb=this.current;}
		if(cualgama eq 2){color_trans.gb=this.current;}	
		if(cualgama eq 3){color_trans.bb=this.current;}
		cualclip.setTransform(color_trans);
		}else{
		this.current=vto;
		//trace("transformado gama="+cualgama+", this.current="+this.current);
		delete this.onEnterFrame;
		record_value(cualgama,this.current);
		cualclip.setTransform(color_trans);
		}
	}
	}
}

//el movieClip laanim, tenia un color naranja, y lo transformaba
//a celeste verde y otros, esta es la funcion que use para
//aplicarle la transformacion de color:
color_verde=function(){
	ccolor=new Array(-140,100,-5);//los colores en orden R G B
//como ves llamo la funcion prototipo para cada movieClip creado al inicio
	c1.trans_ft(canim_color,1,recrb,ccolor[0]);
	c2.trans_ft(canim_color,2,recgb,ccolor[1]);
	c3.trans_ft(canim_color,3,recbb,ccolor[2]);
}
ahora al boton que hace la transformacion:
Código:
on(release){
color_verde();
}
__________________
'_'

...
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 09:10.