Packageflash.geom
Classepublic class Matrix
HéritageMatrix Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

La classe Matrix représente une matrice de transformation qui détermine le mappage des points d'un espace de coordonnées à l'autre. Pour appliquer diverses transformations graphiques à un objet d'affichage, vous pouvez définir les propriétés d'un objet Matrix, puis appliquer cet objet à la propriété 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 :

Un objet de matrice de transformation est considéré comme étant une matrice 3 x 3 comprenant le contenu suivant :

Des propriétés de la classe Matrix dans la notation des matrices

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 :

Les propriétés de la classe Matrix dans la notation des matrices montrant les valeurs supposées de u, v et w.

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.

TransformationMéthodeValeurs de matriceRésultat affichéDescription
Translation (déplacement) translate(tx, ty) Notation des matrices des paramètres de la méthode translate Illustration des effets de la méthode translate Déplace les pixels tx de l'image vers la droite, et les pixels ty vers le bas.
Redimensionnement scale(sx, sy) Notation des matrices des paramètres de la méthode scale Illustration des effets de la méthode scale 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) Notation de matrices des propriétés de la méthode rotate Illustration des effets de la méthode rotate 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. Notation de matrice des propriétés de la fonction skew Illustration des effets de la fonction skew 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.

Consulter les exemples

Voir aussi

flash.display.DisplayObject.transform
flash.geom.Transform
flash.display.BitmapData.draw()
flash.display.Graphics.beginBitmapFill()
flash.display.Graphics.beginGradientFill()
flash.display.Graphics.lineGradientStyle()


Propriétés publiques
 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
 Inheritedconstructor : 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
 Inheritedprototype : 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éthodes publiques
 MéthodeDéfini par
  
Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
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
  
createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
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
 Inherited
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
 Inherited
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
 Inherited
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
 Inherited
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
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
Détails de la propriété
aproprié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.


Exemple
L'exemple suivant crée l'objet Matrix 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
bproprié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.


Exemple
L'exemple suivant crée l'objet Matrix 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
cproprié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.


Exemple
L'exemple suivant crée l'objet Matrix 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
dproprié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.


Exemple
L'exemple suivant crée l'objet Matrix 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
txproprié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.


Exemple
L'exemple suivant crée l'objet Matrix 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);
typroprié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.


Exemple
L'exemple suivant crée l'objet Matrix 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
Détails du constructeur
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 :

Les propriétés de la classe Matrix dans la notation des matrices montrant les valeurs supposées de u, v et w.

Si vous ne transmettez aucun paramètre au constructeur new Matrix(), celui-ci crée une matrice d'identité dotée des valeurs suivantes :

a = 1b = 0c = 0d = 1tx = 0ty = 0

Dans la notation des matrices, la matrice d'identité a l'aspect suivant :

Des propriétés de la classe Matrix dans la notation des matrices

Paramètres
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.

Exemple

L'exemple suivant crée 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)
Détails de la méthode
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ée
Matrix — 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


Exemple

L'exemple suivant définit les redimensionnements x et y, la rotation, ainsi que les emplacements x et y de 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:

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;
dégradé linéaire produit
width = 25; 
     height = 25; 
     rotation = 0; 
     tx = 25; 
     ty = 0;
dégradé linéaire produit
width = 50; 
     height = 50; 
     rotation = 0; 
     tx = 0; 
     ty = 0;
dégradé linéaire produit
width = 50;
     height = 50; 
     rotation = Math.PI / 4; // 45 degrees
     tx = 0; 
     ty = 0;
dégradé linéaire produit

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


Exemple

L'exemple suivant définit les redimensionnements x et y, la rotation, ainsi que les emplacements x et y de 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.

Valeur renvoyée
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 :

Des propriétés de la classe Matrix dans la notation des matrices

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.


Exemple

L'exemple suivant crée 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 :

Notation des matrices des paramètres de la méthode scale

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 :

Notation des matrices des paramètres de la méthode scale

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ée
String — 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.

Valeur renvoyée
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

Exemples Utilisation des exemples
MatrixExample.as

L'exemple suivant exploite la classe 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 :
  1. L'application crée un nouvel objet Matrix myMatrix et utilise la méthode trace() pour produire les valeurs de propriété par défaut de l'objet myMatrix.
  2. L'application appelle 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.
  3. L'application imprime l'objet myMatrix une nouvelle fois pour signaler la modification après l'appel de createGradientBox().
  4. L'application utilise trois variables pour contrôler le remplissage de la zone de dégradé :
    • 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.
  5. L'application appelle la méthode Graphics 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);
        }
    }
}