| Package | flash.geom |
| Classe | public class Matrix |
| Héritage | Matrix Object |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
matrix d'un objet Transform que vous appliquez ensuite comme propriété transform de l'objet d'affichage. Ces fonctions de transformation incluent la translation (repositionnement de x et y), la rotation, le redimensionnement et l'inclinaison.
Associés, ces types de transformations sont connus sous le nom de transformations affines. Les transformations affines préservent la rectitude des lignes au cours de la transformation, de sorte que les lignes parallèles restent parallèles.
Pour appliquer une matrice de transformation à un objet d'affichage, vous créez un objet Transform, réglez sa propriété matrix sur la matrice de transformation, puis réglez la propriété transform de l'objet d'affichage sur l'objet Transform. Les objets Matrix peuvent également être utilisés comme paramètres de certaines méthodes, indiquées ci-dessous :
draw() d'un objet BitmapData ;
beginBitmapFill(), beginGradientFill() ou lineGradientStyle() d'un objet Graphics.
Un objet de matrice de transformation est considéré comme étant une matrice 3 x 3 comprenant le contenu suivant :
Dans le cas des matrices de transformation classiques, les propriétés u, v et w sont dotées de fonctionnalités supplémentaires. La classe Matrix fonctionne uniquement dans un espace bidimensionnel ; ainsi, elle suppose toujours que les valeurs des propriétés u et v sont 0,0, et que la valeur de la propriété w est 1,0. Les valeurs réelles de la matrice sont les suivantes :
Vous pouvez obtenir et définir les valeurs des six autres propriétés d'un objet Matrix : a, b, c, d, tx et ty.
La classe Matrix prend en charge les quatre principaux types de transformations : translation, redimensionnement, rotation et inclinaison. Vous pouvez définir trois de ces transformations à l'aide de méthodes spécialisées, tel que décrit dans le tableau ci-dessous.
| Transformation | Méthode | Valeurs de matrice | Résultat affiché | Description |
|---|---|---|---|---|
| Translation (déplacement) |
translate(tx, ty)
|
|
|
Déplace les pixels tx de l'image vers la droite, et les pixels ty vers le bas.
|
| Redimensionnement |
scale(sx, sy)
|
|
|
Redimensionne l'image en multipliant l'emplacement de chaque pixel par sx sur l'axe x, et par sy sur l'axe y.
|
| Rotation |
rotate(q)
|
|
|
Fait pivoter l'image selon un angle q, mesuré en radians.
|
| Inclinaison ou cisaillement |
Aucun ; il est nécessaire de définir les propriétés b et c.
|
|
|
Fait glisser l'image progressivement dans une direction parallèle à l'axe x ou y. La propriété b de l'objet Matrix représente la tangente de l'angle d'inclinaison sur l'axe y, sa propriété c la tangente de l'angle d'inclinaison sur l'axe x.
|
Chaque fonction de transformation modifie les propriétés de matrice actuelles, ce qui vous permet d'associer plusieurs transformations. Pour ce faire, il vous suffit d'appeler plusieurs fonctions de transformation avant d'appliquer la matrice à son objet d'affichage cible (à l'aide de la propriété transform de celui-ci).
Utilisez le constructeur new Matrix() pour créer un objet Matrix afin de pouvoir appeler les méthodes connexes.
Voir aussi
| Propriété | Défini par | ||
|---|---|---|---|
| a : Number Valeur qui affecte le positionnement des pixels sur l'axe x lors du redimensionnement ou de la rotation d'une image. | Matrix | ||
| b : Number Valeur qui affecte le positionnement des pixels sur l'axe y lors de la rotation ou de l'inclinaison d'une image. | Matrix | ||
| c : Number Valeur qui affecte le positionnement des pixels sur l'axe x lors de la rotation ou de l'inclinaison d'une image. | Matrix | ||
![]() | constructor : Object Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet. | Object | |
| d : Number Valeur qui affecte le positionnement des pixels sur l'axe y lors du redimensionnement ou de la rotation d'une image. | Matrix | ||
![]() | prototype : Object [statique] Référence à l'objet prototype d'un objet de classe ou fonction. | Object | |
| tx : Number Distance de translation de chaque point sur l'axe x. | Matrix | ||
| ty : Number Distance de translation de chaque point sur l'axe y. | Matrix | ||
| Méthode | Défini par | ||
|---|---|---|---|
Crée un objet Matrix avec les paramètres spécifiés. | Matrix | ||
Renvoie un nouvel objet Matrix, clone de cette matrice, avec une copie exacte de l'objet contenu. | Matrix | ||
Concatène une matrice et la matrice actuelle, ce qui a pour effet de combiner les effets géométriques des deux matrices. | Matrix | ||
Inclut les paramètres de redimensionnement, de rotation et de translation. | Matrix | ||
createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void Crée le style spécifique de matrice attendu par les méthodes beginGradientFill() et lineGradientStyle() de la classe Graphics. | Matrix | ||
Etant donné un point dans l'espace de coordonnées de prétransformation, cette méthode renvoie les coordonnées de ce point après la transformation. | Matrix | ||
![]() | Indique si la propriété spécifiée d'un objet est définie. | Object | |
Règle chaque propriété d'une matrice sur une valeur qui entraîne une transformation nulle. | Matrix | ||
Effectue la transformation opposée de la matrice d'origine. | Matrix | ||
![]() | Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre. | Object | |
![]() | Indique si la propriété spécifiée existe et est énumérable. | Object | |
Applique une transformation de rotation à l'objet Matrix. | Matrix | ||
Applique une transformation de redimensionnement à la matrice. | Matrix | ||
![]() | Définit la disponibilité d'une propriété dynamique pour les opérations en boucle. | Object | |
Renvoie une valeur de texte donnant la liste des propriétés de l'objet Matrix. | Matrix | ||
Renvoie le résultat de l'application de la transformation géométrique représentée par l'objet Matrix au point spécifié. | Matrix | ||
Translation de la matrice sur les axes x et y en fonction des paramètres dx et dy. | Matrix | ||
![]() | Renvoie la valeur primitive de l'objet spécifié. | Object | |
| a | propriété |
public var a:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur qui affecte le positionnement des pixels sur l'axe x lors du redimensionnement ou de la rotation d'une image.
myMatrix et définit sa valeur a.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.a); // 1 myMatrix.a = 2; trace(myMatrix.a); // 2
| b | propriété |
public var b:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur qui affecte le positionnement des pixels sur l'axe y lors de la rotation ou de l'inclinaison d'une image.
myMatrix et définit sa valeur b.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.b); // 0 var degrees:Number = 30; var radians:Number = (degrees/180) * Math.PI; myMatrix.b = Math.tan(radians); trace(myMatrix.b); // 0.5773502691896257
| c | propriété |
public var c:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur qui affecte le positionnement des pixels sur l'axe x lors de la rotation ou de l'inclinaison d'une image.
myMatrix et définit sa valeur c.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.c); // 0 var degrees:Number = 30; var radians:Number = (degrees/180) * Math.PI; myMatrix.c = Math.tan(radians); trace(myMatrix.c); // 0.5773502691896257
| d | propriété |
public var d:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur qui affecte le positionnement des pixels sur l'axe y lors du redimensionnement ou de la rotation d'une image.
myMatrix et définit sa valeur d.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.d); // 1 myMatrix.d = 2; trace(myMatrix.d); // 2
| tx | propriété |
public var tx:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distance de translation de chaque point sur l'axe x.
myMatrix et définit sa valeur tx.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.tx); // 0 myMatrix.tx = 50; // 50 trace(myMatrix.tx);
| ty | propriété |
public var ty:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distance de translation de chaque point sur l'axe y.
myMatrix et définit sa valeur ty.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.ty); // 0 myMatrix.ty = 50; trace(myMatrix.ty); // 50
| Matrix | () | Constructeur |
public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Crée un objet Matrix avec les paramètres spécifiés. Dans la notation des matrices, les propriétés sont organisées comme suit :
Si vous ne transmettez aucun paramètre au constructeur new Matrix(), celui-ci crée une matrice d'identité dotée des valeurs suivantes :
Dans la notation des matrices, la matrice d'identité a l'aspect suivant :
a:Number (default = 1) —
Valeur qui affecte le positionnement des pixels sur l'axe x lors du redimensionnement ou de la rotation d'une image.
| |
b:Number (default = 0) —
Valeur qui affecte le positionnement des pixels sur l'axe y lors de la rotation ou de l'inclinaison d'une image.
| |
c:Number (default = 0) —
Valeur qui affecte le positionnement des pixels sur l'axe x lors de la rotation ou de l'inclinaison d'une image.
| |
d:Number (default = 1) —
Valeur qui affecte le positionnement des pixels sur l'axe y lors du redimensionnement ou de la rotation d'une image.
| |
tx:Number (default = 0) —
Distance de translation de chaque point sur l'axe x.
| |
ty:Number (default = 0) —
Distance de translation de chaque point sur l'axe y.
|
matrix_1 sans transmettre de paramètre au constructeur Matrix() et matrix_2 en lui transmettant des paramètres. Remarquez que matrix_1, créé sans paramètres, forme une matrice d'identité dotée des valeurs a=1, b=0, c=0, d=1, tx=0, ty=0.
import flash.geom.Matrix; var matrix_1:Matrix = new Matrix(); trace(matrix_1); // (a=1, b=0, c=0, d=1, tx=0, ty=0) var matrix_2:Matrix = new Matrix(1, 2, 3, 4, 5, 6); trace(matrix_2); // (a=1, b=2, c=3, d=4, tx=5, ty=6)
| clone | () | méthode |
public function clone():Matrix| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Renvoie un nouvel objet Matrix, clone de cette matrice, avec une copie exacte de l'objet contenu.
Valeur renvoyéeMatrix — Objet Matrix. |
| concat | () | méthode |
public function concat(m:Matrix):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Concatène une matrice et la matrice actuelle, ce qui a pour effet de combiner les effets géométriques des deux matrices. En termes mathématiques, la concaténation de deux matrices revient à les combiner par l'intermédiaire de la multiplication de matrices.
Par exemple, si la matrice m1 redimensionne un objet en le multipliant par 4 et si la matrice m2 fait pivoter un objet de 1,5707963267949 radians (Math.PI/2), alors m1.concat(m2) transforme m1 en une matrice qui redimensionne un objet en le multipliant par 4 et le fait pivoter de Math.PI/2 radians.
Cette méthode permet de remplacer la matrice source par la matrice concaténée. Si vous souhaitez concaténer deux matrices sans modifier les deux matrices source, copiez d'abord la matrice source via la méthode clone(), comme indiqué dans la section relative aux exemples de la classe.
Paramètres
m:Matrix — Matrice à concaténer avec la matrice source. |
| createBox | () | méthode |
public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Inclut les paramètres de redimensionnement, de rotation et de translation. Lorsqu'elle est appliquée à une matrice, elle définit ses valeurs en fonction de ces paramètres.
L'utilisation de la méthode createBox() vous permet d'obtenir la même matrice que si vous appliquiez successivement les méthodes identity(), rotate(), scale() et translate(). Par exemple, mat1.createBox(2,2, Math.PI/4, 100, 100) permet d'obtenir le résultat suivant :
import flash.geom.Matrix;
var mat1:Matrix = new Matrix();
mat1.identity();
mat1.rotate(Math.PI/4);
mat1.scale(2,2);
mat1.translate(10,20);Paramètres
scaleX:Number — Facteur à appliquer au redimensionnement horizontal. | |
scaleY:Number — Facteur à appliquer au redimensionnement vertical. | |
rotation:Number (default = 0) — Valeur de rotation, en radians. | |
tx:Number (default = 0) —
Nombre de pixels à translater (déplacer) vers la droite sur l'axe des x.
| |
ty:Number (default = 0) —
Nombre de pixels à translater (déplacer) vers le bas sur l'axe des y.
|
Voir aussi
myMatrix en appelant sa méthode createBox().
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.geom.Matrix;
import flash.geom.Transform;
public class Matrix_createBox extends Sprite
{
public function Matrix_createBox()
{
var myMatrix:Matrix = new Matrix();
trace(myMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0)
myMatrix.createBox(1, 2, Math.PI/4, 50, 100);
trace(myMatrix.toString());
// (a=0.7071067811865476, b=1.414213562373095, c=-0.7071067811865475,
// d=1.4142135623730951, tx=100, ty=200)
var rectangleShape:Shape = createRectangle(20, 80, 0xFF0000);
addChild(rectangleShape);
var rectangleTrans:Transform = new Transform(rectangleShape);
rectangleTrans.matrix = myMatrix;
}
public function createRectangle(w:Number, h:Number, color:Number):Shape
{
var rect:Shape = new Shape();
rect.graphics.beginFill(color);
rect.graphics.drawRect(0, 0, w, h);
addChild(rect);
return rect;
}
}
}| createGradientBox | () | méthode |
public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Crée le style spécifique de matrice attendu par les méthodes beginGradientFill() et lineGradientStyle() de la classe Graphics. La largeur et la hauteur sont redimensionnées selon une paire scaleX/scaleY et les valeurs tx/ty sont décalées de la moitié de la largeur et de la hauteur.
Par exemple, supposons un dégradé possédant les caractéristiques suivantes:
GradientType.LINEAR
[0, 255]
SpreadMethod.PAD
InterpolationMethod.LINEAR_RGB
Les illustrations suivantes représentent des dégradés dans lesquels la matrice a été définie à l'aide de la méthode createGradientBox() et un paramétrage différent :
Paramètres createGradientBox()
| Dégradé obtenu |
|---|---|
width = 25;
height = 25;
rotation = 0;
tx = 0;
ty = 0;
|
|
width = 25;
height = 25;
rotation = 0;
tx = 25;
ty = 0;
|
|
width = 50;
height = 50;
rotation = 0;
tx = 0;
ty = 0;
|
|
width = 50;
height = 50;
rotation = Math.PI / 4; // 45 degrees
tx = 0;
ty = 0;
|
|
Paramètres
width:Number — Largeur de la zone de dégradé. | |
height:Number — Hauteur de la zone de dégradé. | |
rotation:Number (default = 0) — Valeur de rotation, en radians. | |
tx:Number (default = 0) —
Distance, en pixels, à translater vers la droite sur l'axe des x. Cette valeur est décalée de la moitié du paramètre width.
| |
ty:Number (default = 0) —
Distance, en pixels, à translater vers le bas sur l'axe des y. Cette valeur est décalée de la moitié du paramètre height.
|
Voir aussi
myMatrix en appelant sa méthode createBox().
package
{
import flash.display.GradientType;
import flash.display.Sprite;
import flash.geom.Matrix;
public class Matrix_createGradientBox extends Sprite
{
public function Matrix_createGradientBox()
{
var myMatrix:Matrix = new Matrix();
trace(myMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0)
myMatrix.createGradientBox(200, 200, 0, 50, 50);
trace(myMatrix.toString()); // (a=0.1220703125, b=0, c=0, d=0.1220703125, tx=150, ty=150)
var colors:Array = [0xFF0000, 0x0000FF];
var alphas:Array = [100, 100];
var ratios:Array = [0, 0xFF];
this.graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, myMatrix);
this.graphics.drawRect(0, 0, 300, 200);
}
}
}| deltaTransformPoint | () | méthode |
public function deltaTransformPoint(point:Point):Point| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Etant donné un point dans l'espace de coordonnées de prétransformation, cette méthode renvoie les coordonnées de ce point après la transformation. Contrairement à la transformation standard appliquée via la méthode transformPoint(), la transformation de la méthode deltaTransformPoint() ne prend pas en considération les paramètres de translation tx et ty.
Paramètres
point:Point — Point pour lequel vous souhaitez obtenir le résultat de la transformation de matrice. |
Point — Point résultant de l'application de la transformation de matrice. |
| identity | () | méthode |
public function identity():void| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Règle chaque propriété d'une matrice sur une valeur qui entraîne une transformation nulle. Un objet transformé par l'application d'une matrice d'identité est identique à l'objet d'origine.
Faisant suite à l'appel de la méthode identity(), la matrice obtenue présente les propriétés suivantes : a =1, b =0, c =0, d =1, tx =0, ty =0.
Dans la notation des matrices, la matrice d'identité a l'aspect suivant :
| invert | () | méthode |
public function invert():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Effectue la transformation opposée de la matrice d'origine. Vous pouvez appliquer une matrice inversée à un objet pour annuler la transformation effectuée lors de l'application de la matrice d'origine.
halfScaleMatrix en appelant la méthode invert() de doubleScaleMatrix. Il démontre ensuite que les deux objets Matrix sont inversés l'un par rapport à l'autre (matrices annulant toute tranformation effectuée par son pendant) en créant originalAndInverseMatrix qui est l'équivalent de noScaleMatrix.
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.geom.Matrix;
import flash.geom.Transform;
public class Matrix_invert extends Sprite
{
public function Matrix_invert()
{
var rect0:Shape = createRectangle(20, 80, 0xFF0000);
var rect1:Shape = createRectangle(20, 80, 0x00FF00);
var rect2:Shape = createRectangle(20, 80, 0x0000FF);
var rect3:Shape = createRectangle(20, 80, 0x000000);
var trans0:Transform = new Transform(rect0);
var trans1:Transform = new Transform(rect1);
var trans2:Transform = new Transform(rect2);
var trans3:Transform = new Transform(rect3);
var doubleScaleMatrix:Matrix = new Matrix(2, 0, 0, 2, 0, 0);
trans0.matrix = doubleScaleMatrix;
trace(doubleScaleMatrix.toString()); // (a=2, b=0, c=0, d=2, tx=0, ty=0)
var noScaleMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);
trans1.matrix = noScaleMatrix;
rect1.x = 50;
trace(noScaleMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0)
var halfScaleMatrix:Matrix = doubleScaleMatrix.clone();
halfScaleMatrix.invert();
trans2.matrix = halfScaleMatrix;
rect2.x = 100;
trace(halfScaleMatrix.toString()); // (a=0.5, b=0, c=0, d=0.5, tx=0, ty=0)
var originalAndInverseMatrix:Matrix = doubleScaleMatrix.clone();
originalAndInverseMatrix.concat(halfScaleMatrix);
trans3.matrix = originalAndInverseMatrix;
rect3.x = 150;
trace(originalAndInverseMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0)
}
public function createRectangle(w:Number, h:Number, color:Number):Shape
{
var rect:Shape = new Shape();
rect.graphics.beginFill(color);
rect.graphics.drawRect(0, 0, w, h);
addChild(rect);
return rect;
}
}
}| rotate | () | méthode |
public function rotate(angle:Number):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Applique une transformation de rotation à l'objet Matrix.
La méthode rotate() modifie les propriétés a, b, c et d de l'objet Matrix. Dans la notation des matrices, cela équivaut à concaténer la matrice actuelle et les matrices ci-dessous :
Paramètres
angle:Number — Angle de rotation en radians. |
Voir aussi
| scale | () | méthode |
public function scale(sx:Number, sy:Number):void| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Applique une transformation de redimensionnement à la matrice. L'axe des x est multiplié par sx, et l'axe des y par sy.
La méthode scale() modifie les propriétés a et d de l'objet Matrix. Dans la notation des matrices, cela équivaut à concaténer la matrice actuelle et les matrices ci-dessous :
Paramètres
sx:Number —
Multiplicateur utilisé pour redimensionner l'objet sur l'axe des x.
| |
sy:Number —
Multiplicateur utilisé pour redimensionner l'objet sur l'axe des y.
|
Voir aussi
| toString | () | méthode |
public function toString():String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Renvoie une valeur de texte donnant la liste des propriétés de l'objet Matrix.
Valeur renvoyéeString —
Chaîne répertoriant les valeurs des propriétés de l'objet Matrix : a, b, c, d, tx et ty.
|
| transformPoint | () | méthode |
public function transformPoint(point:Point):Point| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Renvoie le résultat de l'application de la transformation géométrique représentée par l'objet Matrix au point spécifié.
Paramètres
point:Point — Point pour lequel vous souhaitez obtenir le résultat de la transformation Matrix. |
Point — Point résultant de l'application de la transformation Matrix. |
| translate | () | méthode |
public function translate(dx:Number, dy:Number):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Translation de la matrice sur les axes x et y en fonction des paramètres dx et dy.
Paramètres
dx:Number —
Quantité de mouvement vers la droite sur l'axe des x, en pixels.
| |
dy:Number —
Quantité de mouvement vers le bas sur l'axe des y, en pixels.
|
Voir aussi
MatrixExample pour montrer comment générer un carré de grande taille avec une zone de remplissage dégradée. Cette opération se déroule selon la procédure suivante :
myMatrix et utilise la méthode trace() pour produire les valeurs de propriété par défaut de l'objet myMatrix.
createGradientBox() avec les paramètres width et height définis sur 200 pixels ; il n'y a pas de rotation et la distance à translater sur les axes x et y est définie sur 50 pixels.
myMatrix une nouvelle fois pour signaler la modification après l'appel de createGradientBox().
colors : définit les couleurs de dégradé allant du rouge au bleu unis.
alphas : définit l'opacité sur uni.
ratios : définit une répartition des couleurs égale pour le rouge et le bleu.
beginGradientFill(), qui est active sur l'objet myMatrix, et la méthode lineTo(), qui se traduit par une zone de remplissage dégradée.
package {
import flash.geom.Matrix;
import flash.display.Sprite;
import flash.display.GradientType;
public class MatrixExample extends Sprite {
public function MatrixExample() {
var myMatrix:Matrix = new Matrix();
trace(myMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0)
myMatrix.createGradientBox(200, 200, 0, 50, 50);
trace(myMatrix.toString()); // (a=0.1220703125, b=0, c=0, d=0.1220703125, tx=150, ty=150)
var colors:Array = [0xFF0000, 0x0000FF];
var alphas:Array = [100, 100];
var ratios:Array = [0, 0xFF];
graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, myMatrix);
graphics.lineTo(0, 300);
graphics.lineTo(300, 300);
graphics.lineTo(300, 0);
graphics.lineTo(0, 0);
}
}
}