ActionScript: Enchendo uma forma com um gradient


  Share  
|


Use o beginGradientFill() e métodos do endFill() iniciar e feche uma forma extraída no runtime.

Em uma suficiência do gradient, há uma mudança classificada nas cores. O flash suporta os gradients lineares, em que uma cor se desvanece no seguinte da esquerda para a direita. O flash suporta também os gradients radiais, em que as cores radiate para fora de um ponto center. Você pode iniciar uma forma gradient-enchida usando o beginGradientFill() na mesma maneira que você inicía uma forma contínuo-enchida com beginFill(). A diferença é que a chamada ao beginGradientFill() requer um jogo mais complexo dos parâmetros:

gradientType
"linear" para um gradient linear, ou o "radial" para um gradient radial.

cores
Uma disposição de valores do RGB para que as cores usem-se no gradient. São indicados no gradient da esquerda para a direita em um gradient linear, ou do centro para fora em um gradient radial.

alfas
Uma disposição dos valores do alfa que correspondem às cores na disposição do parâmetro das cores.

relações
Uma disposição cujos os elementos sejam números que correspondem às cores e aos elementos dos alfas. Os valores na disposição das relações indicam o ponto dentro do gradient em que cada cor é pura. A escala dos valores para as relações deve ser de 0 (ponto leftmost em uma suficiência linear, ou ponto innermost em uma suficiência radial) a 255 (rightmost ou outermost).

matriz
Um objeto com as seguintes propriedades:

matrixType
Este valor deve sempre ser "caixa".

x
A coordenada de x do canto fundo-esquerdo do gradient.

y
A coordenada de y do canto fundo-esquerdo do gradient.

largura
A largura do gradient nos pixels.

altura
A altura do gradient nos pixels.

r
A rotação do gradient nos radianos (não graus).

Está aqui um exemplo que use um gradient linear encher um retângulo:

//inclua os métodos extraindo, que são needed para o 
método do drawRectangle() # incluem "DrawingMethods.as"
//defina a largura e a altura do retângulo para 
ser rectWidth drawn e enchido = 100; rectHeight = 200;
//críe um grampo vazio em que nós extrairemos a forma _ 
root.createEmptyMovieClip("shape_mc", 1); shape_mc.lineStyle(3, 
0, 100);
//críe uma disposição das cores com os valores do RGB 
para cores azuis, verdes, e vermelhas = [ 0x0000FF, 0x00FF00, 0xFF0000
];
//críe uma disposição dos alfas em que as cores são 
alfas opacos de 100% = [ 100, 100, 100 ];
//críe uma disposição das relações onde o azul puro 
esteja na borda esquerda do gradient,/puro/verde está no centro, e o 
vermelho puro nas relações direitas da borda = [ 0, 127.5, 255 ];
//críe o objeto da matriz. Ajuste as coordenadas de
x e de y de modo que/fundo-esquerdo/canto do gradient alinhe acima com
o canto fundo-esquerdo do retângulo. Jogo// a largura e altura 
do gradient para combinar a matriz do retângulo = {matrixType: 
"caixa", x: - rectWidth/2, y: - rectHeight/2, w: 
rectWidth, h: rectHeight, r:0};
//beginGradientFill(da chamada) de modo que o retângulo 
seja// enchido com um gradient. linear 
shape_mc.beginGradientFill("linear", cores, alfas, relações, 
matriz);
//tração o retângulo com cantos arredondados (requer 
DrawingMethods.as). shape_mc.drawRectangle(rectHeight, 
rectWidth, 10);
//extremidade a suficiência shape_mc.endFill();

Anote que o método do endFill() está usado terminar uma operação extraindo começada com um ou outro beginFill() ou beginGradientFill().

Está aqui um exemplo de um radial, suficiência do gradient usada encher um ellipse:

//inclua os métodos extraindo, que são needed para o 
método do drawEllipse() # incluem "DrawingMethods.as"
//defina a largura e a altura do ellipse para ser 
ellipseWidth drawn e enchido = 100; ellipseHeight = 200;
_ root.createEmptyMovieClip("shape_mc", 1); 
shape_mc.lineStyle(3, 0x000000, 100);
//críe cores, alfas, e disposições das relações para 
branco e preto,  100% opaco// começos puros do branco no centro e as 
classes no preto puro na borda exterior colorem = [ 0xFFFFFF, 0x000000
]; alfas = [ 100, 100 ]; relações = [ 0, 255 ];
//defina a matriz do objeto da matriz = {matrixType: 
"caixa", x: - ellipseWidth/2, y: - ellipseHeight/2, 
w: ellipseWidth, h: ellipseHeight, r:0};
//comece a suficiência radial 
shape_mc.beginGradientFill("radial", cores, alfas, relações, 
matriz);
//tração o ellipse (requer DrawingMethods.as). 
shape_mc.drawEllipse(ellipseWidth/2, ellipseHeight/2);
//extremidade a suficiência shape_mc.endFill();
 
este é um artigo adicionado por Elis Frugalo


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions