Packageflash.geom
Classepublic class Transform
HéritageTransform Inheritance Object

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

La classe Transform permet d'accéder aux propriétés de réglage des couleurs et aux objets de transformation bi ou tridimensionnels pouvant s'appliquer à un objet d'affichage. Pendant la transformation, la couleur ou l'orientation et la position de l'objet d'affichage est ajustée (décalée) à partir des coordonnées ou des valeurs actuelles vers les nouvelles valeurs ou coordonnées. La classe Transform collecte également des données sur la couleur et les transformations de matrices bidimensionnelles appliquées à un objet d'affichage et à tous ses objets parent. Vous pouvez accéder à ces transformations combinées par le biais des propriétés concatenatedColorTransform et concatenatedMatrix.

Pour appliquer les transformations de couleur : créez un objet ColorTransform, définissez les réglages de couleur à l'aide des méthodes et des propriétés de l'objet, puis affectez la propriété colorTransformation de la propriété transform de l'objet d'affichage au nouvel objet ColorTransformation.

Pour appliquer des transformations bidimensionnelles : créez un objet Matrix, définissez la transformation bidimensionnelle de la matrice, puis affectez la propriété transform.matrix de l'objet d'affichage au nouvel objet Matrix.

Pour appliquer des transformations tridimensionnelles : partez d'un objet d'affichage tridimensionnel. Un objet d'affichage tridimensionnel a une propriété z dont la valeur est différente de zéro. Il n'est pas nécessaire de créer l'objet Matrix3D. Pour tous les objets tridimensionnels, un objet Matrix3D est créé automatiquement lorsque vous affectez une valeur z à un objet d'affichage. Vous pouvez accéder à l'objet Matrix3D de l'objet d'affichage par la propriété transform de l'objet d'affichage. A l'aide des méthodes de la classe Matrix3D, vous pouvez ajouter des paramètres de transformation ou modifier les existants. De même, vous pouvez créer un objet Matrix3D personnalisé, définir ses éléments de transformation, puis affecter le nouvel objet Matrix3D à l'objet d'affichage à l'aide de la propriété transform.matrix.

Pour modifier la projection de la perspective de la scène ou de l'objet racine : utilisez la propriété transform.matrix de l'objet d'affichage racine pour accéder à l'objet PerspectiveProjection. Ou, appliquez différentes propriétés de projection de perspective à un objet d'affichage en définissant les propriétés de projection de perspective de son parent. L'objet d'affichage enfant hérite alors des nouvelles propriétés. Plus précisément, créez un objet PerspectiveProjection et définissez ses propriétés, puis affectez l'objet PerspectiveProjection à la propriété perspectiveProjection de la propriété transform de l'objet d'affichage parent. La transformation de projection spécifiée s'applique alors à tous les enfants tridimensionnels de l'objet d'affichage.

Comme les objets PerspectiveProjection et Matrix3D transforment tous deux la perspective, ne les affectez pas ensemble à un objet d'affichage. Utilisez l'objet PerspectiveProjection pour les modifications de la longueur focale et du centre de projection. Pour contrôler encore davantage la transformation de la perspective, créez un objet de projection de perspective Matrix3D.

Consulter les exemples

Voir aussi

flash.display.DisplayObject.transform
flash.geom.ColorTransform
flash.geom.Matrix
flash.geom.Matrix3D
flash.geom.PerspectiveProjection


Propriétés publiques
 PropriétéDéfini par
  colorTransform : ColorTransform
Objet ColorTransform contenant des valeurs qui règlent de façon universelle les couleurs de l'objet d'affichage.
Transform
  concatenatedColorTransform : ColorTransform
[lecture seule] Objet ColorTransform représentant les transformations de couleur combinées qui s'appliquent à l'objet d'affichage et à l'ensemble de ses objets parent, jusqu'à la racine.
Transform
  concatenatedMatrix : Matrix
[lecture seule] Objet Matrix représentant les matrices de transformation combinées qui s'appliquent à l'objet d'affichage et à l'ensemble de ses objets parent, jusqu'à la racine.
Transform
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  matrix : Matrix
Objet Matrix contenant des valeurs qui influent sur le redimensionnement, la rotation et la translation de l'objet d'affichage.
Transform
  matrix3D : Matrix3D
Permet d'accéder à l'objet Matrix3D d'un objet d'affichage tridimensionnel.
Transform
  perspectiveProjection : PerspectiveProjection
Permet d'accéder à l'objet PerspectiveProjection d'un objet d'affichage tridimensionnel.
Transform
  pixelBounds : Rectangle
[lecture seule] Objet Rectangle qui définit le cadre de délimitation de l'objet d'affichage sur la scène.
Transform
 Inheritedprototype : Object
[statique] Référence à l'objet prototype d'un objet de classe ou fonction.
Object
Méthodes publiques
 MéthodeDéfini par
  
Renvoie un objet Matrix3D, capable de transformer l'espace de l'objet d'affichage spécifié par rapport à l'espace de l'objet d'affichage actif.
Transform
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 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
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
Détails de la propriété
colorTransformpropriété
colorTransform:ColorTransform  [lecture-écriture]

Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Objet ColorTransform contenant des valeurs qui règlent de façon universelle les couleurs de l'objet d'affichage.



Implémentation
    public function get colorTransform():ColorTransform
    public function set colorTransform(value:ColorTransform):void

Valeur émise
TypeError — L'objet colorTransform prend la valeur null lors de sa définition.

Voir aussi

concatenatedColorTransformpropriété 
concatenatedColorTransform:ColorTransform  [lecture seule]

Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Objet ColorTransform représentant les transformations de couleur combinées qui s'appliquent à l'objet d'affichage et à l'ensemble de ses objets parent, jusqu'à la racine. Si différentes transformations de couleur s'appliquent à différents niveaux, elles sont concaténées dans un objet ColorTransform unique pour cette propriété.



Implémentation
    public function get concatenatedColorTransform():ColorTransform

Voir aussi

concatenatedMatrixpropriété 
concatenatedMatrix:Matrix  [lecture seule]

Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Objet Matrix représentant les matrices de transformation combinées qui s'appliquent à l'objet d'affichage et à l'ensemble de ses objets parent, jusqu'à la racine. Si différentes matrices de transformation s'appliquent à différents niveaux, elles sont concaténées en une seule matrice pour cette propriété. Par ailleurs, pour le contenu SWF redimensionnable exécuté dans le navigateur, cette propriété influe sur la différence entre les coordonnées de la scène et les coordonnées de la fenêtre à cause du redimensionnement de la fenêtre. Par conséquent, cette propriété convertit les coordonnées locales en coordonnées de fenêtre ; il est donc possible que l'espace de coordonnées ne soit pas le même que celui de la Scène.



Implémentation
    public function get concatenatedMatrix():Matrix
matrixpropriété 
matrix:Matrix  [lecture-écriture]

Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Objet Matrix contenant des valeurs qui influent sur le redimensionnement, la rotation et la translation de l'objet d'affichage.

Si la propriété matrix est définie sur une valeur (sauf sur null), la propriété matrix3D est null. Et si la propriété matrix3D est définie sur une valeur (sauf sur null), la propriété matrix est null.



Implémentation
    public function get matrix():Matrix
    public function set matrix(value:Matrix):void

Valeur émise
TypeError — La matrice prend la valeur null lors de sa définition.

Voir aussi

matrix3Dpropriété 
matrix3D:Matrix3D  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: Flash Player 10, AIR 1.5

Permet d'accéder à l'objet Matrix3D d'un objet d'affichage tridimensionnel. L'objet Matrix3D représente une matrice de transformation qui détermine la position et l'orientation de l'objet d'affichage. Un objet Matrix3D peut également effectuer une projection de perspective.

Si la propriété matrix est définie sur une valeur (sauf sur null), la propriété matrix3D est null. Et si la propriété matrix3D est définie sur une valeur (sauf sur null), la propriété matrix est null.



Implémentation
    public function get matrix3D():Matrix3D
    public function set matrix3D(value:Matrix3D):void

Voir aussi

perspectiveProjectionpropriété 
perspectiveProjection:PerspectiveProjection  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: Flash Player 10, AIR 1.5

Permet d'accéder à l'objet PerspectiveProjection d'un objet d'affichage tridimensionnel. L'objet PerspectiveProjection peut être utilisé pour modifier la transformation de perspective de la scène ou pour affecter une transformation de perspective à tous les enfants tridimensionnels d'un objet d'affichage.

A partir du champ de vision et des proportions (dimensions) de la scène, un objet PerspectiveProjection est affecté par défaut à l'objet racine.



Implémentation
    public function get perspectiveProjection():PerspectiveProjection
    public function set perspectiveProjection(value:PerspectiveProjection):void

Voir aussi

pixelBoundspropriété 
pixelBounds:Rectangle  [lecture seule]

Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Objet Rectangle qui définit le cadre de délimitation de l'objet d'affichage sur la scène.



Implémentation
    public function get pixelBounds():Rectangle
Détails de la méthode
getRelativeMatrix3D()méthode
public function getRelativeMatrix3D(relativeTo:DisplayObject):Matrix3D

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: Flash Player 10, AIR 1.5

Renvoie un objet Matrix3D, capable de transformer l'espace de l'objet d'affichage spécifié par rapport à l'espace de l'objet d'affichage actif. Vous pouvez utiliser la méthode getRelativeMatrix3D() pour déplacer un objet d'affichage tridimensionnel par rapport à un autre.

Paramètres

relativeTo:DisplayObject — Objet d'affichage par rapport auquel la transformation se produit. Pour obtenir un objet Matrix3D relatif à la scène, définissez le paramètre sur l'objet root ou stage. Pour obtenir une matrice relative au monde de l'objet d'affichage, définissez le paramètre sur un objet d'affichage auquel est appliquée une transformation de perspective.

Valeur renvoyée
Matrix3D — Objet Matrix3D pouvant être utilisé pour transformer l'espace à partir de l'objet d'affichage relativeTo vers l'espace de l'objet d'affichage actif.

Voir aussi

Exemples Utilisation des exemples
TransformExample.as

L'exemple suivant utilise la classe TransformExample pour incliner le côté inférieur d'une icône animée (sprite) de forme carrée dont le remplissage est dégradé. Chaque fois que l'utilisateur clique sur le carré, l'application transforme l'icône animée en l'inclinant, en passant par les étapes suivantes :
  1. Le constructeur TransformExample() crée un nouvel objet Sprite target.
  2. Le constructeur TransformExample() appelle la méthode draw() qui dessine un carré dégradé dans l'icône animée (sprite).
  3. Le constructeur TransformExample() ajoute un écouteur d'événement clic pour le sprite ; il est géré par le biais de la méthode clickHandler().
  4. La méthode clickHandler() crée un objet Matrix, skewMatrix, qui est défini pour appliquer un effet d'inclinaison. Une autre matrice, tempMatrix, est attribuée à la matrice de transformation actuelle de l'icône animée, puis elle est combinée avec l'objet skewMatrix par le biais de la méthode concat(). Cette matrice est affectée à la propriété transform.matrix de l'icône animée carrée. Chaque fois que l'utilisateur clique sur le carré, l'appel de la méthode clickHandler() modifie la forme du carré en l'inclinant.
  5. Par ailleurs, la méthode clickHandler() crée un objet ColorTransform. La propriété redOffset du nouvel objet ColorTransform est définie sur la valeur actuelle de redOffset et est incrémentée de 25. De même, la propriété blueOffset est réduite de 25. Les couleurs de l'icône animée changent à chaque clic.
package {
    import flash.display.Sprite;
    import flash.display.GradientType;
    import flash.geom.Matrix;
    import flash.geom.ColorTransform;
    import flash.events.MouseEvent;

    public class TransformExample extends Sprite {
        public function TransformExample() { 
            var target:Sprite = new Sprite();
            draw(target);
            addChild(target);
            target.useHandCursor = true;
            target.buttonMode = true;
            target.addEventListener(MouseEvent.CLICK, clickHandler)
        }
        public function draw(sprite:Sprite):void {
            var red:uint = 0xFF0000;
            var green:uint = 0x00FF00;
            var blue:uint = 0x0000FF;
            var size:Number = 100;
            sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]);
            sprite.graphics.drawRect(0, 0, 100, 100);
        }
        public function clickHandler(event:MouseEvent):void {
            var skewMatrix:Matrix = new Matrix();
            skewMatrix.c = 0.25;
            var tempMatrix:Matrix = this.transform.matrix;
            tempMatrix.concat(skewMatrix);
            this.transform.matrix = tempMatrix;
            
            var rOffset:Number = this.transform.colorTransform.redOffset + 25;
            var bOffset:Number = this.transform.colorTransform.blueOffset - 25;
            this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0);            
        }
    }
}