La clase Color de ActionScript es una de las mas faciles y utiles cuando necesitamos cambiar el color a un link u objeto convertido en MovieClip.
Es tan simple como declararlo y aplicarlo. Veamos esta funcion de solo 3 lineas:
MovieClip.prototype.aplicarColorMC = function(colorMC:Number) {
var newColMC:Color = new Color(this);
newColMC.setRGB(colorMC);
};
Simple verdad ???. En ella declaro una variable denominada “newColMC” a la que le aplico la clase Color. Esta a su vez me exije que especifique cual MovieClip debe afectar y le digo “this”. Como esa funcion es un prototype (estos funcionan como subclases), el objeto al que se lo aplico se convierte en “este objeto” (this).
Luego le digo que le aplique el color detallado en el parametro “colorMC” a traves de la subclase “setRGB”.
Finalmente lo pueden aplicar de la siguiente forma en sus trabajos:
objetoMC.onRollOver = function() {
this.aplicarColorMC(0xFF0000);
};
objetoMC.onRollOut = function() {
this.aplicarColorMC(0x000000);
};
aplicar, color, setrgb, movieclip, flash
aplicar, color, setrgb, movieclip, flash










8 comments
Comments feed for this article
Mayo 18, 2007 en 8:16 am
peysy
te hace falta didactica para explicar
Mayo 18, 2007 en 12:31 pm
junihh
Hola Peysy.
Para eso hubiera escrito un tutorial donde explicara con mas detalles las cosas. Para este caso no era necesario dar muchos detalles, porque aqui doy la funcion completa.
Ademas, si deseas conocer mas sobre la clase Color, busca la ayuda de Flash, con la que aprendi el 70% de lo que conozco.
Ten un buen dia.
Mayo 26, 2007 en 2:00 am
Diego
Qué cambios se tendrían que hacer para que el cambio de color sea suave.
Mayo 28, 2007 en 12:20 am
JuniHH
Hola Diego y gracias por tu visita.
Flash no permite aplicar un efecto de suavizado para cambiar el color, asi que tendriamos que hacer un pequeño “truco de camara”.
Esto es, duplicar el objeto original para que ese duplicado se ponga encima del original, luego al original aplicarle el color y finalmente al duplicado hacer que desaparezca suavemente con un setInterval.
Este es el codigo que necesitas:
MovieClip.prototype.aplicarColorMC = function(colorMC:Number) {//
var dup:MovieClip = this.duplicateMovieClip("dup" + this._parent.getNextHighestDepth(), this._parent.getNextHighestDepth());
dup.fx = setInterval(function () {
dup._alpha -= 8;
if (dup._alpha < 0) {
clearInterval(dup.fx);
dup.removeMovieClip();
}
}, 30);
//
var newColMC:Color = new Color(this);
newColMC.setRGB(colorMC);
};
Junio 13, 2007 en 4:24 am
Nikkei-Girl
JuniHH, me caes del cielo…como diría mi madre. Precisamente estoy tomando clases sobre la aplicación de Macromedia Flash para la Creación de Páginas Web y estos pequeños apuntes me están siriviendo de maravillas. Definitivamente seré un cayo por aquí.
Te sigo..!
Junio 13, 2007 en 12:46 pm
JuniHH
Pues por aqui andare para ti….
Junio 19, 2007 en 3:54 pm
Nikkei-Girl
Gracias!!! POr ahora no questions, pero deja que me meta en lleno al asunto… no te librarás!
Octubre 21, 2007 en 11:52 pm
Diego
Tengo una pregunta con este nuevo ActionScript 3.0 si quiero cambiar el color de un MovieClip con un boton como se haria muchas gracias