Paqueteflash.geom
Clasepublic class Matrix
HerenciaMatrix Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La clase Matrix representa una matriz de transformación que determina cómo asignar puntos de un espacio de coordenadas a otro. Es posible realizar varias transformaciones gráficas en un objeto de visualización mediante la definición de las propiedades de un objeto Matrix y aplicar dicho objeto Matrix a la propiedad matrix de un objeto Transform. Por último, se puede aplicar dicho objeto Transform como la propiedad transform del objeto de visualización. Estas funciones de transformación son la traslación (cambio de posición x e y), giro, cambio de escala y sesgo.

En su conjunto estas transformaciones se conocen como transformaciones afines. Las transformaciones afines preservan la rectilineidad de las líneas durante la transformación, de este modo las paralelas siguen siendo paralelas.

Para aplicar una matriz de transformación a un objeto de visualización, se debe crear un objeto Transform, definir su propiedad matrix en la matriz de transformación y, a continuación, establecer la propiedad transform del objeto de visualización en el objeto Transform. Los objetos Matrix también se utilizan como parámetros de determinados métodos, como:

Un objeto de matriz de transformación es una matriz de 3x3 con el contenido siguiente:

En las matrices de transformación tradicionales, las propiedades u, v y w ofrecen capacidades adicionales. La clase Matrix sólo puede funcionar en un espacio bidimensional de modo que siempre presupone que los valores de propiedad u y v son 0.0, y que el valor de propiedad w es 1.0. Los valores efectivos de la matriz son los siguientes:

Es posible obtener y establecer los valores de las otras seis propiedades de un objeto Matrix: a, b, c, d, tx y ty.

La clase Matrix admite las cuatro tipos principales de transformación: traslación, escala, rotación y sesgo. Puede definir tres de estas transformaciones mediante métodos especializados, tal como se describe en la tabla siguiente:

TransformaciónMétodoValores MatrixResultado mostradoDescripción
Traslación (desplazamiento)translate(tx, ty) Desplaza la imagen tx píxeles hacia la derecha y ty píxeles hacia abajo.
Escalascale(sx, sy)Cambia el tamaño de la imagen multiplicando la ubicación de cada píxel por sx en el eje x y por sy en el eje y.
Rotaciónrotate(q)Gira la imagen según el ángulo q, medido en radianes.
Sesgo o inclinación Ninguno; deben definirse las propiedades b y c.Desplaza de forma progresiva la imagen en una dirección paralela al eje x o y. La propiedad b del objeto Matrix representa la tangente del ángulo de sesgado a lo largo del eje y; la propiedad c del objeto Matrix representa la tangente del ángulo de sesgado a lo largo del eje x.

Cada función de transformación altera las propiedades de la matriz actual de forma que puede combinar distintas transformaciones. Para ello, debe llamar a varias funciones de transformación antes de aplicar la matriz a su objeto de visualización de destino (mediante la propiedad transform de dicho objeto de visualización).

Utilice el constructor new Matrix() para crear un objeto Matrix antes de llamar a los métodos del objeto Matrix.

Ver los ejemplos

Véase también

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


Propiedades públicas
 PropiedadDefinido por
  a : Number
El valor de la primera fila y la primera columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje x cuando se cambia la escala o gira una imagen.
Matrix
  b : Number
El valor de la primera fila y la segunda columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje y cuando se gira o sesga una imagen.
Matrix
  c : Number
El valor de la segunda fila y la primera columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje y cuando se gira o sesga una imagen.
Matrix
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  d : Number
El valor de la segunda fila y la segunda columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje y cuando se cambia la escala o se gira una imagen.
Matrix
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
  tx : Number
La distancia que se trasladará cada punto a lo largo del eje x.
Matrix
  ty : Number
La distancia que se trasladará cada punto a lo largo del eje y.
Matrix
Métodos públicos
 MétodoDefinido por
  
Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
Crea un nuevo objeto Matrix con los parámetros especificados.
Matrix
  
Devuelve un nuevo objeto Matrix que es una copia de esta matriz, con una copia exacta del objeto contenido.
Matrix
  
Concatena una matriz con la matriz actual y combina eficazmente los efectos geométricos de ambas matrices.
Matrix
  
createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Incluye parámetros para escala, rotación y traslación.
Matrix
  
createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Crea el estilo específico de la matriz que el los métodos beginGradientFill() y lineGradientStyle() de la clase Graphics espera.
Matrix
  
Tras especificar un punto en el espacio de coordenadas previas a la transformación, devuelve las coordenadas de dicho punto después de la transformación.
Matrix
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
  
Establece todas las propiedades de la matriz en un valor que genere una transformación nula.
Matrix
  
Realiza la transformación inversa de la matriz original.
Matrix
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
  
rotate(angle:Number):void
Aplica una transformación de giro al objeto Matrix.
Matrix
  
Aplica una transformación de escala a la matriz.
Matrix
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
Devuelve un valor de texto con las propiedades del objeto Matrix.
Matrix
  
Devuelve el resultado de aplicar la transformación geométrica representada por el objeto Matrix en el punto especificado.
Matrix
  
Traslada la matriz a lo largo de los ejes x e y, tal como se especifica en los parámetros dx y dy.
Matrix
 Inherited
Devuelve el valor simple del objeto especificado.
Object
Información sobre propiedades
apropiedad
public var a:Number

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

El valor de la primera fila y la primera columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje x cuando se cambia la escala o gira una imagen.


Ejemplo
En el ejemplo siguiente, se crea el objeto Matrix myMatrix y se define su valor a.
     import flash.geom.Matrix;

     var myMatrix:Matrix = new Matrix();
     trace(myMatrix.a);  // 1

     myMatrix.a = 2;
     trace(myMatrix.a);  // 2
     
bpropiedad 
public var b:Number

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

El valor de la primera fila y la segunda columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje y cuando se gira o sesga una imagen.


Ejemplo
En el ejemplo siguiente, se crea el objeto Matrix myMatrix y se define su valor 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
     
cpropiedad 
public var c:Number

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

El valor de la segunda fila y la primera columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje x cuando se gira o sesga una imagen.


Ejemplo
En el ejemplo siguiente, se crea el objeto Matrix myMatrix y se define su valor 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
     
dpropiedad 
public var d:Number

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

El valor de la segunda fila y la segunda columna del objeto Matrix, que afecta a la posición de los píxeles a lo largo del eje y cuando se cambia la escala o se gira una imagen.


Ejemplo
En el ejemplo siguiente, se crea el objeto Matrix myMatrix y se define su valor d.
     import flash.geom.Matrix;

     var myMatrix:Matrix = new Matrix();
     trace(myMatrix.d);  // 1

     myMatrix.d = 2;
     trace(myMatrix.d);  // 2
     
txpropiedad 
public var tx:Number

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La distancia que se trasladará cada punto a lo largo del eje x. Representa el valor de la primera fila y la tercera columna del nuevo objeto Matrix.


Ejemplo
En el ejemplo siguiente, se crea el objeto Matrix myMatrix y se define su valor tx.
     import flash.geom.Matrix;

     var myMatrix:Matrix = new Matrix();
     trace(myMatrix.tx);  // 0

     myMatrix.tx = 50;  // 50
     trace(myMatrix.tx);
     
typropiedad 
public var ty:Number

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La distancia que se trasladará cada punto a lo largo del eje y. Representa el valor de la segunda fila y la tercera columna del nuevo objeto Matrix.


Ejemplo
El ejemplo siguiente crea el objeto Matrix myMatrix y define su valor ty.
     import flash.geom.Matrix;

     var myMatrix:Matrix = new Matrix();
     trace(myMatrix.ty);  // 0

     myMatrix.ty = 50;
     trace(myMatrix.ty);  // 50
     
Información sobre constructores
Matrix()constructor
public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea un nuevo objeto Matrix con los parámetros especificados. En la notación de matrices, las propiedades se organizarán de este modo:

Si no proporciona ningún parámetro para el nuevo constructor new Matrix(), se crea una matriz de identidad con los valores siguientes:

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

En la notación de matrices, la matriz de identidad tendrá este aspecto:

Parámetros
a:Number (default = 1) — Valor de la primera fila y la primera columna del nuevo objeto Matrix.
 
b:Number (default = 0) — Valor de la segunda fila y la primera columna del nuevo objeto Matrix.
 
c:Number (default = 0) — Valor de la segunda fila y la primera columna del nuevo objeto Matrix.
 
d:Number (default = 1) — Valor de la segunda fila y la segunda columna del nuevo objeto Matrix.
 
tx:Number (default = 0) — Valor de la primera fila y la tercera columna del nuevo objeto Matrix.
 
ty:Number (default = 0) — Valor de la segunda fila y la tercera columna del nuevo objeto Matrix.

Ejemplo
En el ejemplo siguiente, se crea matrix_1 sin enviar ningún parámetro al constructor Matrix y matrix_2 enviando parámetros a dicho constructor. Observe que matrix_1, creado sin parámetros, produce como resultado una matriz de identidad con los valores 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)
    
Información sobre métodos
clone()método
public function clone():Matrix

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve un nuevo objeto Matrix que es una copia de esta matriz, con una copia exacta del objeto contenido.

Valor devuelto
Matrix — Un objeto Matrix.
concat()método 
public function concat(m:Matrix):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Concatena una matriz con la matriz actual y combina eficazmente los efectos geométricos de ambas matrices. En términos matemáticos, la concatenación de matrices equivale a combinarlas utilizando la multiplicación de matrices.

Por ejemplo, si la matriz m1 aplica a un objeto una escala de factor cuatro y la matriz m2 gira un objeto 1,5707963267949 radianes (Math.PI/2), m1.concat(m2) transforma m1 en una matriz que aplica a un objeto una escala cuatro y gira el objeto Math.PI/2 radianes.

Este método sustituye la matriz original con la concatenada. Si desea concatenar dos matrices sin alterar ninguna de las originales, puede copiar primero la matriz de origen con el método clone(), tal como se muestra en la sección de ejemplos de clases.

Parámetros

m:Matrix — La matriz que se concatenará con la matriz original.

createBox()método 
public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Incluye parámetros para escala, rotación y traslación. Cuando se aplica a una matriz define sus valores en función de dichos parámetros.

El método createBox() permite obtener la misma matriz que si aplicara los métodos identity(), rotate(), scale() y translate() de forma consecutiva. Por ejemplo, mat1.createBox(2,2,Math.PI/4, 100, 100) tiene el mismo efecto que lo siguiente:

     import flash.geom.Matrix;
          var mat1:Matrix = new Matrix();
     mat1.identity();
     mat1.rotate(Math.PI/4);
     mat1.scale(2,2);
     mat1.translate(10,20);
     

Parámetros

scaleX:Number — El factor de escala horizontal.
 
scaleY:Number — El factor de escala vertical.
 
rotation:Number (default = 0) — La cantidad de giro, en radianes.
 
tx:Number (default = 0) — El número de píxeles que se trasladarán (moverán) hacia la derecha a lo largo del eje x.
 
ty:Number (default = 0) — El número de píxeles que se trasladarán (moverán) hacia abajo a lo largo del eje y.

Véase también


Ejemplo

En el ejemplo siguiente, se define la escala x, y, la rotación, la ubicación x y la ubicación y de myMatrix llamando a su método 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étodo 
public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea el estilo específico de la matriz que los métodos beginGradientFill() y lineGradientStyle() esperan de la clase Graphics. La anchura y altura se cambian a un valor de par scaleX/scaleY y los valores tx/ty se desplazan con la mitad de la anchura y altura.

Por ejemplo, considere un degradado con las siguientes características:

Las ilustraciones siguientes muestran degradados en los que se definió la matriz con el método createGradientBox() y con distinta configuración de parámetros:

Configuración de createGradientBox()Degradado resultante
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°
     tx = 0;
     ty = 0;

Parámetros

width:Number — La anchura del cuadro de degradado.
 
height:Number — La altura del cuadro de degradado.
 
rotation:Number (default = 0) — La cantidad de giro, en radianes.
 
tx:Number (default = 0) — La distancia en píxeles que se trasladará (moverá) hacia la derecha a lo largo del eje x. Este valor se desplazará la mitad del parámetro width.
 
ty:Number (default = 0) — La distancia en píxeles que se trasladará (moverá) hacia abajo a lo largo del eje y. Este valor se desplazará la mitad del parámetro height.

Véase también


Ejemplo

En el ejemplo siguiente, se define la escala x, y, la rotación, la ubicación x y la ubicación y de myMatrix llamando a su método 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étodo 
public function deltaTransformPoint(point:Point):Point

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Tras especificar un punto en el espacio de coordenadas previas a la transformación, devuelve las coordenadas de dicho punto después de la transformación. A diferencia de la transformación estándar aplicada con el método transformPoint(), la transformación del método deltaTransformPoint() no tiene en cuenta los parámetros de traslación tx e ty.

Parámetros

point:Point — El punto para el que desea obtener el resultado de la transformación de matrices.

Valor devuelto
Point — El punto resultante de aplicar la transformación de matrices.
identity()método 
public function identity():void

Versión del reproductor: Flash Player 9

Establece todas las propiedades de la matriz en un valor que genere una transformación nula. Un objeto transformado mediante la aplicación de una matriz de identidad será idéntico al original.

Después de llamar al método identity(), la matriz resultante tiene las propiedades siguientes: a=1, b=0, c=0, d=1, tx=0, ty=0.

En la notación de matrices, la matriz de identidad tendrá este aspecto:

invert()método 
public function invert():void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Realiza la transformación inversa de la matriz original. Puede aplicar la matriz inversa a un objeto para deshacer la transformación realizada al aplicar la matriz original.


Ejemplo

En el ejemplo siguiente, se crea un objeto halfScaleMatrix mediante una llamada al método invert() de doubleScaleMatrix. Demuestra que los dos son objetos Matrix inversos, es decir, matrices que deshacen las transformaciones que realiza la otra. Lo hace creando originalAndInverseMatrix que es igual a 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étodo 
public function rotate(angle:Number):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Aplica una transformación de giro al objeto Matrix.

El método rotate() modifica las propiedades a, b, c y d del objeto Matrix. En notación de matrices, esto equivale a concatenar la matriz actual con la matriz siguiente:

Parámetros

angle:Number — El ángulo de rotación expresado en radianes.

Véase también

scale()método 
public function scale(sx:Number, sy:Number):void

Versión del reproductor: Flash Player 9

Aplica una transformación de escala a la matriz. El eje x se multiplica por sx y el eje y se multiplica por sy.

El método scale() modifica las propiedades a y d del objeto Matrix. En notación de matrices, esto equivale a concatenar la matriz actual con la siguiente matriz:

Parámetros

sx:Number — Un multiplicador utilizado para aplicar una escala al objeto a lo largo del eje x.
 
sy:Number — Un multiplicador utilizado para aplicar una escala al objeto a lo largo del eje y.

Véase también

toString()método 
public function toString():String

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve un valor de texto con las propiedades del objeto Matrix.

Valor devuelto
String — Una cadena con los valores de las propiedades del objeto Matrix: a, b, c, d, tx y ty.
transformPoint()método 
public function transformPoint(point:Point):Point

Versión del reproductor: Flash Player 9

Devuelve el resultado de aplicar la transformación geométrica representada por el objeto Matrix en el punto especificado.

Parámetros

point:Point — El punto para el que desea obtener el resultado de la transformación de matrices.

Valor devuelto
Point — El punto resultante de aplicar la transformación de matrices.
translate()método 
public function translate(dx:Number, dy:Number):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Traslada la matriz a lo largo de los ejes x e y, tal y como se especifica en los parámetros dx y dy.

Parámetros

dx:Number — El movimiento total hacia la derecha a lo largo del eje x, en píxeles.
 
dy:Number — El movimiento total hacia abajo a lo largo del eje y, en píxeles.

Véase también

Ejemplos Cómo utilizar los ejemplos
MatrixExample.as

En el ejemplo siguiente, se utiliza la clase MatrixExample para mostrar cómo se crean cuadrados grandes con relleno de degradado. Esto se consigue con los pasos siguientes:
  1. La aplicación crea un nuevo objeto Matrix myMatrix y utiliza el método trace() para obtener los valores de la propiedad predeterminada del objeto myMatrix.
  2. La aplicación llama a createGradientBox() con los parámetros width y height definidos en 200 píxeles, sin rotación y con la distancia de traslación en los ejes x e y definida en 50 píxeles.
  3. La aplicación vuelve a imprimir el objeto myMatrix para mostrar los cambios tras llamar a createGradientBox().
  4. La aplicación define tres variables para controlar el relleno del cuadro con degradado:
    • colors: define los colores del degradado para que estén entre rojo sólido y azul sólido.
    • alphas: define la opacidad sólida.
    • ratios: define la distribución de los colores para que sea igual para el rojo y el azul.
  5. La aplicación llama al método gráfico beginGradientFill(), que se ejecuta en el objeto myMatrix y llama al método lineTo(), lo que da como resultado el cuadro con relleno degradado.
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);
        }
    }
}




 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/geom/Matrix.html