ActionScript : Remplir forme de gradient


  Share  
|


Employez le beginGradientFill() et les méthodes d'endFill() pour lancer et clôturez une forme dessinée au temps d'exécution.

Dans une suffisance de gradient, il y a un changement évalué des couleurs. Le flash soutient les gradients linéaires, dans lesquels une couleur se fane dans le prochain de gauche à droite. Le flash soutient également les gradients radiaux, dans lesquels les couleurs rayonnent dehors d'un point central. Vous pouvez lancer une forme gradient-remplie en utilisant le beginGradientFill() de la même manière que vous lancez une forme plein-remplie avec le beginFill(). La différence est que l'appel au beginGradientFill() exige un ensemble de paramètres plus complexe :

gradientType
"linéaire" pour un gradient linéaire, ou le "radial" pour un gradient radial.

couleurs
Un choix de valeurs de RVB pour que les couleurs emploient dans le gradient. Elles sont montrées de gauche à droite dans le gradient dans un gradient linéaire, ou du centre à l'extérieur dans un gradient radial.

alphas
Un choix de valeurs d'alpha qui correspondent aux couleurs dans la rangée de paramètre de couleurs.

rapports
Une rangée dont les éléments sont des nombres correspondant aux couleurs et aux éléments d'alphas. Les valeurs dans la rangée de rapports indiquent le point dans le gradient auquel chaque couleur est pure. La gamme des valeurs pour les rapports devrait être de 0 (point extrême gauche dans une suffisance linéaire, ou point les plus secrets dans une suffisance radiale) à 255 (extrême droite ou extérieur).

matrice
Un objet avec les propriétés suivantes :

matrixType
Cette valeur devrait toujours être "boîte".

X
X du coin fond-gauche du gradient.

y
Y du coin fond-gauche du gradient.

largeur
La largeur du gradient en Pixel.

taille
La taille du gradient en Pixel.

r
La rotation du gradient en radians (pas degrés).

Voici un exemple qui emploie un gradient linéaire pour remplir rectangle :

//incluez les méthodes de dessin, qui sont nécessaires 
pour la méthode de drawRectangle() # incluent "DrawingMethods.as"
//définissez la largeur et la taille du rectangle
pour être rectWidth tiré et rempli = 100 ; rectHeight = 200 ;
//créez une agrafe vide dans laquelle nous dessinerons la
forme _ root.createEmptyMovieClip("shape_mc", 1) ; 
shape_mc.lineStyle(3, 0, 100) ;
//créez une rangée de couleurs avec des valeurs de RVB 
pour des couleurs bleues, vertes, et rouges = [ 0x0000FF, 0x00FF00, 
0xFF0000 ] ;
//créez une rangée d'alphas dans laquelle les couleurs 
sont les alphas opaques de 100% = [ 100, 100, 100 ] ;
//créez une rangée de rapports où le bleu pur est au 
bord gauche du gradient,/pur/vert est au centre, et au rouge pur aux 
bons rapports de bord = [ 0, 127.5, 255 ] ;
//créez l'objet de matrice. Placez y de x et de 
sorte que/fond-gauche/coin du gradient aligne avec le coin fond-gauche
du rectangle. Ensemble// la largeur et taille du gradient pour 
assortir la matrice de rectangle = {matrixType : "boîte", x : 
- rectWidth/2, y : - rectHeight/2, W : rectWidth, h 
: rectHeight, r:0} ;
//beginGradientFill(d'appel) de sorte que le rectangle 
soit// rempli de gradient linéaire 
shape_mc.beginGradientFill("linear", couleurs, alphas, rapports, 
matrice) ;
//aspiration le rectangle avec les coins arrondis (exige 
DrawingMethods.as). shape_mc.drawRectangle(rectHeight, 
rectWidth, 10) ;
//extrémité la suffisance shape_mc.endFill() ;

Notez que la méthode d'endFill() est employée pour finir une opération de dessin commencée par l'un ou l'autre beginFill() ou beginGradientFill().

Voici un exemple d'un radial, suffisance de gradient employée pour remplir ellipse :

//incluez les méthodes de dessin, qui sont nécessaires 
pour la méthode de drawEllipse() # incluent "DrawingMethods.as"
//définissez la largeur et la taille de l'ellipse
pour être ellipseWidth tiré et rempli = 100 ; ellipseHeight = 
200 ;
_ root.createEmptyMovieClip("shape_mc", 1) ; 
shape_mc.lineStyle(3, 0x000000, 100) ;
//créez les couleurs, les alphas, et les rangées de 
rapports pour blanc et noir, 100% opaque// débuts purs de blanc au 
centre et les catégories dans le noir pur au bord extérieur colore =
[ 0xFFFFFF, 0x000000 ] ; alphas = [ 100, 100 ] ; rapports 
= [ 0, 255 ] ;
//définissez la matrice d'objet de matrice = {matrixType 
: "boîte", x : - ellipseWidth/2, y : - 
ellipseHeight/2, W : ellipseWidth, h : ellipseHeight, r:0}
;
//commencez la suffisance radiale 
shape_mc.beginGradientFill("radial", les couleurs, les alphas, les 
rapports, la matrice) ;
//aspiration l'ellipse (exige DrawingMethods.as). 
shape_mc.drawEllipse(ellipseWidth/2, ellipseHeight/2) ;
//extrémité la suffisance shape_mc.endFill() ;
 
c'est un article supplémentaire par Elis Frugalo


Share  

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