Comunidad de diseño web y desarrollo en internet online

Degradado gris a color

Citar            
MensajeEscrito el 17 Jun 2009 09:17 am
Hola,

Mi problema es el siguiente:
Tengo un reproductor de vídeo parametrizable. Los botones play / stop / mute tienen un efecto de relieve sencillo (degradado radial de gris casi blanco a gris oscuro)
El tema es que recibiendo un color (p.e. #881122) quiero cambiar los botones de tonalidad gris a la tonalidad de este color sin perder el degradado.

Estoy limitada a trabajar en AS2.
Por supuesto puedo acceder a los botones desde sus instancias movieclip.

Muchas gracias por adelantado

Por mistica

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jun 2009 01:06 pm
Edita el movieClip que quieres variar su degradado, selecciona el relleno después ve a la ventana "Color" SHIFT + F9, te saldrán todos los colores que usa el degradado, varía el que desees por el color que tienes.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Jun 2009 01:23 pm
Seria una solución, pero no para lo que a mi me hace falta.
La parte de la interficie está cerrada, por parámetros desde un html me llega el color.

El cambio tiene que ser por código, segun ese parámetro. Cambiarlo como un color plano es tan fácil como:

Código ActionScript :

var bgcolor = new Color(myMovieClipButton);
   bgcolor.setRGB(Number("0x"+colorRecieved));


pero esto se me come el degradado. Sería algo como cambiar el tono y la saturación, pero no se como hacerlo.

Por mistica

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jun 2009 04:01 pm
Mira, lo que se me ocurre es o que construyas los botones por AS utilizando un gradienFill o que dupliques el movie del botón y al duplicado le apliques un blendMode de "overlay".

Un método de crear un círuclo con degradado:

Código ActionScript :

*import flash.geom.Matrix;

//---Crear un círculo con degradado
var bola:MovieClip = this.createEmptyMovieClip("bola", this.getNextHighestDepth()); 
 
var colors:Array = [0x000000, 0xFF0000]; 
var fillType:String = "radial"; 
var spreadMethod:String = "pad"; 
var alphas:Array = [0, 0xFF];
var ratios:Array = [0x10, 0xFF];
var spreadMethod:String = "pad"; 
var interpolationMethod:String = "RGB"; 
var focalPointRatio:Number = 0; 
var matrix:Matrix = new Matrix(); 
matrix.createGradientBox(300, 300, 0, -80, -80); 
 
bola.beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio); 
drawCircle(bola, 100, 100, 100); 
brillo.endFill();

//---Función de hacer un círculo 
function drawCircle(movie:MovieClip, posX:Number, posY:Number, radio:Number):Void { 
 
   var c1:Number = (Math.SQRT2-1)*radio; 
   var c2:Number = Math.SQRT2/2*radio; 
 
   movie.moveTo(posX+radio,posY); 
   movie.curveTo(posX+radio,posY+c1,posX+c2,posY+c2); 
   movie.curveTo(posX+c1,posY+radio,posX,posY+radio); 
   movie.curveTo(posX-c1,posY+radio,posX-c2,posY+c2); 
   movie.curveTo(posX-radio,posY+c1,posX-radio,posY); 
   movie.curveTo(posX-radio,posY-c1,posX-c2,posY-c2); 
   movie.curveTo(posX-c1,posY-radio,posX,posY-radio); 
   movie.curveTo(posX+c1,posY-radio,posX+c2,posY-c2); 
   movie.curveTo(posX+radio,posY-c1,posX+radio,posY); 
 
}


Para el segundo método imagina que en la escena tengas un MovieClip con nombre de instancia "boton":
(esto funciona perfectamente si los colores son escalas de grises)

Código ActionScript :

import flash.geom.ColorTransform;

var copia:MovieClip = boton.duplicateMovieClip("copia", this.getNextHighestDepth());
var newColor:ColorTransform = new ColorTransform();
newColor.rgb = 0xFF0000;

copia.transform.colorTransform = newColor;
copia.blendMode = "overlay";

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 13 Jul 2010 03:58 pm
Hola mistica espero esto te sirve aun pero lo que nesecitas es usar settranform del mismo objeto color
ese actua respetando degradados lleva muchos parametros 6 de los cuales son el color rgb 3 los tipicos, y los otros 3 son los desplazamientos del color...

con esa instruccion tienes el equivalente cuando en el editor a un clip le das en efectos de color avanzado... busca informacion sobre ello creeme es lo que nescesitas espero no sea tarde

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 14 Jul 2010 10:35 am
Bueno, el post es de hace más de un año, pero sólo por referencia para futuras consultas, la clase Color de AS2 ha quedado desfasada, es recomendable usar en este caso la clase ColorTransform y aplicársela a la propiedad transform del MovieClip.

Código ActionScript :

import flash.geom.ColorTransform;

var myColorTrans:ColorTransform = new ColorTransform();
myColorTrans.rgb = 0x881122;
myColorTrans.redMultiplier = myColorTrans.greenMultiplier = myColorTrans.blueMultiplier = 1;

tuMovieClip.transform.colorTransform = myColorTrans;

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.