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

cambiar color y después resetearlo

Estas en el tema de cambiar color y después resetearlo en el foro de Flash y Actionscript en Foros del Web. Quiero cambiar el color de un mc, hasta ahí bien. myColor = new Color(myClip); myColor.setRGB(0xFF0000); Pero si después quiero resetearlo, es decir, eliminar cualquier transformación ...
  #1 (permalink)  
Antiguo 05/09/2005, 04:27
Avatar de rgr ptr  
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 188
Antigüedad: 22 años
Puntos: 0
cambiar color y después resetearlo

Quiero cambiar el color de un mc, hasta ahí bien.

myColor = new Color(myClip);
myColor.setRGB(0xFF0000);

Pero si después quiero resetearlo, es decir, eliminar cualquier transformación de color ¿cómo lo hago?
  #2 (permalink)  
Antiguo 05/09/2005, 05:23
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 20 años, 3 meses
Puntos: 13
Hola! Lo que podes hacer es almacenar el valor original en una variable global (que se puede acceder desde cualquier lado del swf) y luego asignarselo al objeto color, o sea:

_global.ColorOriginal = new String()

ColorOriginal = "FFFFFF" // O el color original que tenga tu mc

.....
.....

myColor = new Color(myClip);
myColor.setRGB(0xFF0000);

.....
.....

//Aca volverías al color original

myColor = new Color(myClip);
myColor.setRGB("0x" + ColorOriginal);

Bueno, espero que se haya entendido algo y que sirva...
Saludos. Lucas
  #3 (permalink)  
Antiguo 05/09/2005, 09:42
Avatar de rgr ptr  
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 188
Antigüedad: 22 años
Puntos: 0
Gracias, pero no se trata de eso. El Clip tiene más de un color y si le doy un valor de color me los cambia todos.

Lo que busco es algun script que elimine el cambio de color y me deje el MC como estaba antes.
  #4 (permalink)  
Antiguo 05/09/2005, 10:11
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 20 años, 3 meses
Puntos: 13
Aaaah, entiendo... Sinceramente no conozco ningun código que "elimine la información de color", sí existe el que has citado, declarar un objeto color y asignarlo mediante el código hexadecimal... ¿Se dificultaría armar tantas variables como objetos compongan el movieclip o se haría mucho lío?

Saludos. Lucas
  #5 (permalink)  
Antiguo 05/09/2005, 10:17
Avatar de rgr ptr  
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 188
Antigüedad: 22 años
Puntos: 0
bueno, lo he hecho otras veces... la cuestion es encontrar si existe algo
  #6 (permalink)  
Antiguo 05/09/2005, 11:43
Avatar de rgr ptr  
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 188
Antigüedad: 22 años
Puntos: 0
¿Alguien conoce algun script que lo haga?

Ya empieza a ser cuestión de testarudez...
  #7 (permalink)  
Antiguo 06/09/2005, 09:29
Avatar de etmoreno  
Fecha de Ingreso: diciembre-2002
Ubicación: near fireplace
Mensajes: 404
Antigüedad: 21 años, 11 meses
Puntos: 1
Estimado rgr ptr, me tomé unos minutos para ver si te puedo solucionar el problema, vamos a ver.

1) Primero crea un MC llamado film
Pon algunas formas con distintos colores en el MC film.

2) Ponlo en el escenario
No olvides ingresar en el nombre en el cuadro de Nombre de Instancia: film

3) Luego copia el siguiente script en acciones de fotograma.

Cita:
AntFilm = new Color(film)
Antcolor = new Object();
Antcolor= {rb:red, gb:green, bb:blue, aa: '100'};

Mifilm= new Color(film);
Micolortransform = new Object();

rojo=0
verde=128
azul=255

Micolortransform = {rb:rojo, gb:verde, bb:azul, aa: '100'};
Mifilm.setTransform( Micolortransform );
//Mifilm.setTransform( Antcolor);
Dale control-Enter.
El resultado debería ser del color que le has aplicado con rojo=0, verde=128 y azul=255 (puedes cambiar estos valores para probar)

Luego en la última instrucción elimina las barras //

Dale nuevamente control-Enter.

Espero que te haya funcionado (ojo usé la sintaxis de Flash MX, si usas MX 2004 cambia la misma)

Un abrazo ;)

etmoreno
  #8 (permalink)  
Antiguo 06/09/2005, 10:08
Avatar de rgr ptr  
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 188
Antigüedad: 22 años
Puntos: 0
Siempre tú... ¡¡¡Qué nivelazo!!!

En MX 2004 Pro también me ha funcionado.

Oye, muchas gracias por la lección y por tu tiempo.
  #9 (permalink)  
Antiguo 06/09/2005, 10:53
Avatar de etmoreno  
Fecha de Ingreso: diciembre-2002
Ubicación: near fireplace
Mensajes: 404
Antigüedad: 21 años, 11 meses
Puntos: 1
Gracias rgr ptr, mira si quieres simplificarlo puedes usar UN SOLO OBJETO.


Cita:
Mifilm= new Color(film);
Micolortransform = new Object();

rojo=0
verde=128
azul=255

Micolortransform = {rb:rojo, gb:verde, bb:azul, aa: '100'};
Mifilm.setTransform( Micolortransform );
// red green blue deben ser variables undefined
//Micolortransform = {rb:red, gb:green, bb:blue, aa: '100'};
//Mifilm.setTransform( Micolortransform );
Es decir lo único que debes hacer en el objeto es "undefinir" (en español no se si existe un término apropiado) las variables de cada uno de los colores.

Esto te simplifica no tener que usar un objeto sólo para cargar el anterior.

Cada vez que quieras "resetearlo" sólo tienes que aplicar las dos últimas líneas en una función "limpiadora"

Hasta la próxima

etmoreno
  #10 (permalink)  
Antiguo 06/09/2005, 10:57
Avatar de rgr ptr  
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 188
Antigüedad: 22 años
Puntos: 0
muy agudo
voy a probarlo
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 00:01.