Paquete | flash.geom |
Clase | public class Matrix |
Herencia | Matrix Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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:
- El método
draw()
de un objeto BitmapData. - Los métodos
beginBitmapFill()
,beginGradientFill()
olineGradientStyle()
de un objeto Graphics.
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ón | Método | Valores Matrix | Resultado mostrado | Descripción |
---|---|---|---|---|
Traslación (desplazamiento) |
translate(tx, ty)
| Desplaza la imagen tx píxeles hacia la derecha y ty píxeles hacia abajo. | ||
Escala |
scale(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ón |
rotate(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.
Más ejemplos
Elementos de API relacionados
flash.geom.Transform
flash.display.BitmapData.draw()
flash.display.Graphics.beginBitmapFill()
flash.display.Graphics.beginGradientFill()
flash.display.Graphics.lineGradientStyle()
Propiedad | Definido por | ||
---|---|---|---|
a : Number
El valor que afecta a la posición de los píxeles a lo largo del eje x cuando se modifica la escala de una imagen o cuando se gira. | Matrix | ||
b : Number
El valor que afecta a la posición de los píxeles a lo largo del eje y cuando se gira una imagen o cuando se sesga. | Matrix | ||
c : Number
El valor que afecta a la posición de los píxeles a lo largo del eje x cuando se gira una imagen o cuando se sesga. | Matrix | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
d : Number
El valor que afecta a la posición de los píxeles a lo largo del eje y cuando se modifica la escala de una imagen o cuando se gira. | Matrix | ||
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étodo | Definido por | ||
---|---|---|---|
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 | ||
Copia un objeto Vector3D en columna específica del objeto Matrix3D de llamada. | Matrix | ||
Copia columnas específicas del objeto Matrix de llamada en el objeto Vector3D. | Matrix | ||
Copia todos los datos de la matriz desde el objeto Point de origen en el objeto Matrix de llamada. | Matrix | ||
Copia un objeto Vector3D en fila concreta del objeto Matrix de llamada. | Matrix | ||
Copia filas concretas del objeto Matrix de llamada en el objeto Vector3D. | Matrix | ||
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 | ||
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 | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Aplica una transformación de giro al objeto Matrix. | Matrix | ||
Aplica una transformación de escala a la matriz. | Matrix | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Define los miembros de Matrix en los valores especificados
| Matrix | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | 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 | ||
Devuelve el valor simple del objeto especificado. | Object |
a | propiedad |
public var a:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El valor que afecta a la posición de los píxeles a lo largo del eje x cuando se modifica la escala de una imagen o cuando se gira.
Ejemplo ( Cómo utilizar este ejemplo )
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
b | propiedad |
public var b:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El valor que afecta a la posición de los píxeles a lo largo del eje y cuando se gira una imagen o cuando se sesga.
Ejemplo ( Cómo utilizar este ejemplo )
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
c | propiedad |
public var c:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El valor que afecta a la posición de los píxeles a lo largo del eje z cuando se gira una imagen o cuando se sesga.
Ejemplo ( Cómo utilizar este ejemplo )
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
d | propiedad |
public var d:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El valor que afecta a la posición de los píxeles a lo largo del eje y cuando se modifica la escala de una imagen o cuando se gira.
Ejemplo ( Cómo utilizar este ejemplo )
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
tx | propiedad |
public var tx:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
La distancia que se trasladará cada punto a lo largo del eje x.
Ejemplo ( Cómo utilizar este ejemplo )
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);
ty | propiedad |
public var ty:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
La distancia que se trasladará cada punto a lo largo del eje y.
Ejemplo ( Cómo utilizar este ejemplo )
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
Matrix | () | Información sobre |
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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:
En la notación de matrices, la matriz de identidad tendrá este aspecto:
Parámetrosa:Number (default = 1 ) — El valor que afecta a la posición de los píxeles a lo largo del eje x cuando se modifica la escala de una imagen o cuando se gira.
| |
b:Number (default = 0 ) — El valor que afecta a la posición de los píxeles a lo largo del eje y cuando se gira una imagen o cuando se sesga.
| |
c:Number (default = 0 ) — El valor que afecta a la posición de los píxeles a lo largo del eje z cuando se gira una imagen o cuando se sesga.
| |
d:Number (default = 1 ) — El valor que afecta a la posición de los píxeles a lo largo del eje y cuando se modifica la escala de una imagen o cuando se gira.
| |
tx:Number (default = 0 ) — La distancia que se trasladará cada punto a lo largo del eje x.
| |
ty:Number (default = 0 ) — La distancia que se trasladará cada punto a lo largo del eje y.
|
Ejemplo ( Cómo utilizar este ejemplo )
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)
clone | () | método |
concat | () | método |
public function concat(m:Matrix):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
copyColumnFrom | () | método |
public function copyColumnFrom(column:uint, vector3D:Vector3D):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia un objeto Vector3D en columna específica del objeto Matrix3D de llamada.
Parámetros
column:uint — La columna desde la que se van a copiar los datos.
| |
vector3D:Vector3D — El objeto Vector3D desde el que se van a copiar los datos.
|
copyColumnTo | () | método |
public function copyColumnTo(column:uint, vector3D:Vector3D):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia columnas específicas del objeto Matrix de llamada en el objeto Vector3D. El elemento w del objeto Vector3D no se cambiará.
Parámetros
column:uint — La columna desde la que se van a copiar los datos.
| |
vector3D:Vector3D — El objeto Vector3D desde el que se van a copiar los datos.
|
copyFrom | () | método |
public function copyFrom(sourceMatrix:Matrix):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia todos los datos de la matriz desde el objeto Point de origen en el objeto Matrix de llamada.
Parámetros
sourceMatrix:Matrix — El objeto Matrix desde el que se van a copiar los datos.
|
copyRowFrom | () | método |
public function copyRowFrom(row:uint, vector3D:Vector3D):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia un objeto Vector3D en fila concreta del objeto Matrix de llamada.
Parámetros
row:uint — La fila desde la que se van a copiar los datos.
| |
vector3D:Vector3D — El objeto Vector3D desde el que se van a copiar los datos.
|
copyRowTo | () | método |
public function copyRowTo(row:uint, vector3D:Vector3D):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia filas concretas del objeto Matrix de llamada en el objeto Vector3D. El elemento w del objeto Vector3D no se cambiará.
Parámetros
row:uint — La fila desde la que se van a copiar los datos.
| |
vector3D:Vector3D — El objeto Vector3D desde el que se van a copiar los datos.
|
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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, mat2,2.createBox(, 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.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
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=50, ty=100) 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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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:
GradientType.LINEAR
- Dos colores, verde y azul, con el conjunto de proporciones definida en
[0, 255]
. SpreadMethod.PAD
InterpolationMethod.LINEAR_RGB
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 degrees 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 .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
Point — El punto resultante de aplicar la transformación de matrices.
|
identity | () | método |
public function identity():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 ( Cómo utilizar este ejemplo )
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
scale | () | método |
public function scale(sx:Number, sy:Number):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
setTo | () | método |
public function setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Define los miembros de Matrix en los valores especificados
Parámetros
aa:Number — los valores para definir la matriz.
| |
ba:Number | |
ca:Number | |
da:Number | |
txa:Number | |
tya:Number |
toString | () | método |
public function toString():String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve un valor de texto con las propiedades del objeto Matrix.
Valor devueltoString — 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 lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
MatrixExample
para mostrar cómo se crean cuadrados grandes con relleno de degradado. Esto se consigue con los pasos siguientes:
- La aplicación crea un nuevo objeto Matrix
myMatrix
y utiliza el métodotrace()
para obtener los valores de la propiedad predeterminada del objetomyMatrix
. - La aplicación llama a
createGradientBox()
con los parámetroswidth
yheight
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. - La aplicación vuelve a imprimir el objeto
myMatrix
para mostrar los cambios tras llamar acreateGradientBox()
. - 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.
- La aplicación llama al método gráfico
beginGradientFill()
, que se ejecuta en el objetomyMatrix
y llama al métodolineTo()
, 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 = [1, 1]; 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); } } }
Tue Jun 12 2018, 02:12 PM Z