| Pacote | flash.geom |
| Classe | public class Matrix |
| Herança | Matrix Object |
| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
matrix de um objeto Transform, e depois aplicando esse objeto Transform como a propriedade transform do objeto de exibição. Essas funções de transformação incluem conversão (reposicionamento de x e y), rotação, dimensionamento e inclinação.
Juntos, esses tipos de transformações são conhecidos como transformações relacionadas. As transformações relacionadas preservam a retidão das linhas durante a transformação, para que as linhas paralelas permaneçam paralelas.
Para aplicar uma matriz de transformação a um objeto de exibição, crie um objeto Transform, defina sua propriedade matrix para a matriz de transformação e defina a propriedade transform do objeto de exibição para o objeto Transform. Os objetos Matrix também são usados como parâmetros de alguns métodos, como:
- Método
draw()de um objeto BitmapData - Método
beginBitmapFill(),beginGradientFill()oulineGradientStyle()de um objeto Graphics
Uma matriz de transformação é uma matriz 3 x 3 com o seguinte conteúdo:
Nas matrizes tradicionais de transformação, as propriedades u, v e w fornecem recursos extras. A classe Matrix só pode operar no espaço bidimensional, assim ela sempre assumirá que os valores de propriedade u e v são 0,0 e que o valor de propriedade w é 1,0. Os valores efetivos da matriz são:
É possível obter e definir os valore das seis propriedades em um objeto Matrix: a, b, c, d, tx e ty.
A classe Matrix suporta os quatro principais tipos de transformações: conversão, dimensionamento, rotação e inclinação. É possível definir três dessas transformações usando métodos especializados, conforme descritos na seguinte tabela:
| Transformação | Método | Valores da matriz | Resultado de exibição | Descrição |
|---|---|---|---|---|
| Conversão (deslocamento) |
translate(tx, ty)
|
|
| Move os pixels tx da imagem para a direita e os pixels ty para baixo. |
| Dimensionamento |
scale(sx, sy)
|
|
| Redimensiona a imagem, multiplicando o local de cada pixel por sx no eixo x e sy no eixo y. |
| Rotação |
rotate(q)
|
|
| Gira a imagem por um ângulo q, que é medido em radianos. |
| Inclinação ou cisalhamento | Nenhum; deve definir as propriedades b e c
|
|
| Desliza progressivamente a imagem em uma direção paralela ao eixo x ou y. A propriedade b do objeto Matrix representa a tangente do ângulo de inclinação ao longo do eixo y; a propriedade c do objeto Matrix representa a tangente do ângulo de inclinação ao longo do eixo x. |
Cada função de transformação altera as propriedades de matriz atuais para que seja possível efetivamente combinar várias transformações. Para isso, chame mais de uma função de transformação antes de aplicar a matriz ao seu destino de objeto de exibição (usando a propriedade transform desse objeto de exibição).
Use o construtor new Matrix() para criar um objeto Matrix antes de poder chamar os métodos do objeto Matrix.
Mais exemplos
Elementos da API relacionados
flash.geom.Transform
flash.display.BitmapData.draw()
flash.display.Graphics.beginBitmapFill()
flash.display.Graphics.beginGradientFill()
flash.display.Graphics.lineGradientStyle()
| Propriedade | Definido por | ||
|---|---|---|---|
| a : Number
O valor afeta o posicionamento dos pixels ao longo do eixo x ao rotacionar ou dimensionar a escala de uma imagem. | Matrix | ||
| b : Number
O valor afeta o posicionamento dos pixels ao longo do eixo y ao rotacionar ou inclinar uma imagem. | Matrix | ||
| c : Number
O valor afeta o posicionamento dos pixels ao longo do eixo x ao rotacionar ou inclinar uma imagem. | Matrix | ||
![]() | constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | |
| d : Number
O valor afeta o posicionamento dos pixels ao longo do eixo y ao rotacionar ou dimensionar a escala de uma imagem. | Matrix | ||
| tx : Number
Distância pela qual converter cada ponto ao longo do eixo x. | Matrix | ||
| ty : Number
Distância pela qual converter cada ponto ao longo do eixo y. | Matrix | ||
| Método | Definido por | ||
|---|---|---|---|
Cria um novo objeto Matrix com os parâmetros especificados. | Matrix | ||
Retorna um novo objeto Matrix que é um clone dessa matriz, com uma cópia exata do objeto contido. | Matrix | ||
Concatena uma matriz com a matriz atual, combinando efetivamente os efeitos geométricos das duas. | Matrix | ||
Copia um objeto de Vector3D na coluna específica do objeto de chamada Matrix3D. | Matrix | ||
Copia a coluna específica do objeto de chamada Matrix para o objeto de Vector3D. | Matrix | ||
Copia todos dos dados de matriz do objeto de Point de origem para o objeto de chamada Matrix que chama. | Matrix | ||
Copia um objeto de Vector3D na linha específica do objeto de chamada Matrix. | Matrix | ||
Copia a linha específica do objeto de chamada Matrix para o objeto de Vector3D. | Matrix | ||
Inclui parâmetros para dimensionamento, rotação e conversão. | Matrix | ||
createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Cria um estilo específico de matriz esperado pelos métodos beginGradientFill() e lineGradientStyle() da classe Graphics. | Matrix | ||
Com base em um ponto no espaço de coordenadas de pré-transformação, retorna as coordenadas desse ponto após a ocorrência da transformação. | Matrix | ||
![]() |
Indica se um objeto tem uma propriedade especificada definida. | Object | |
Define cada propriedade de matriz como um valor que causa uma transformação nula. | Matrix | ||
Realiza a transformação oposta da matriz original. | Matrix | ||
![]() |
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | |
![]() |
Indica se a propriedade especificada existe e é enumerável. | Object | |
Aplica uma transformação de rotação ao objeto Matrix. | Matrix | ||
Aplica uma transformação de dimensionamento à matriz. | Matrix | ||
![]() |
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | |
Estabelece os integrantes da Matrix para os valores especificados
| Matrix | ||
![]() |
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | |
Retorna um valor de texto que lista as propriedades do objeto Matrix. | Matrix | ||
Retorna o resultado da aplicação da transformação geométrica representada pelo objeto Matrix para o ponto especificado. | Matrix | ||
Converte a matriz ao longo dos eixos x e y, conforme especificado pelos parâmetros dx e dy. | Matrix | ||
![]() |
Retorna o valor primitivo do objeto especificado. | Object | |
a | propriedade |
public var a:Number| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O valor afeta o posicionamento dos pixels ao longo do eixo x ao rotacionar ou dimensionar a escala de uma imagem.
Exemplo ( Como usar este exemplo )
myMatrix e define seu valor a.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.a); // 1 myMatrix.a = 2; trace(myMatrix.a); // 2
b | propriedade |
public var b:Number| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O valor afeta o posicionamento dos pixels ao longo do eixo y ao rotacionar ou inclinar uma imagem.
Exemplo ( Como usar este exemplo )
myMatrix e define seu 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 | propriedade |
public var c:Number| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O valor afeta o posicionamento dos pixels ao longo do eixo x ao rotacionar ou inclinar uma imagem.
Exemplo ( Como usar este exemplo )
myMatrix e define seu 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 | propriedade |
public var d:Number| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O valor afeta o posicionamento dos pixels ao longo do eixo y ao rotacionar ou dimensionar a escala de uma imagem.
Exemplo ( Como usar este exemplo )
myMatrix e define seu valor d.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.d); // 1 myMatrix.d = 2; trace(myMatrix.d); // 2
tx | propriedade |
public var tx:Number| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Distância pela qual converter cada ponto ao longo do eixo x.
Exemplo ( Como usar este exemplo )
myMatrix e define seu valor tx.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.tx); // 0 myMatrix.tx = 50; // 50 trace(myMatrix.tx);
ty | propriedade |
public var ty:Number| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Distância pela qual converter cada ponto ao longo do eixo y.
Exemplo ( Como usar este exemplo )
myMatrix e define seu valor ty.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.ty); // 0 myMatrix.ty = 50; trace(myMatrix.ty); // 50
Matrix | () | Construtor |
public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cria um novo objeto Matrix com os parâmetros especificados. Na rotação da matriz, as propriedades são organizadas da seguinte maneira:

Se você não fornecer nenhum parâmetro para o construtor new Matrix(), ele criará uma identity matrix com os seguintes valores:
Na rotação da matriz, a matriz de identidade fica da seguinte maneira:

a:Number (default = 1) — O valor afeta o posicionamento dos pixels ao longo do eixo x ao rotacionar ou dimensionar a escala de uma imagem.
| |
b:Number (default = 0) — O valor afeta o posicionamento dos pixels ao longo do eixo y ao rotacionar ou inclinar uma imagem.
| |
c:Number (default = 0) — O valor afeta o posicionamento dos pixels ao longo do eixo x ao rotacionar ou inclinar uma imagem.
| |
d:Number (default = 1) — O valor afeta o posicionamento dos pixels ao longo do eixo y ao rotacionar ou dimensionar a escala de uma imagem.
| |
tx:Number (default = 0) — Distância pela qual converter cada ponto ao longo do eixo x.
| |
ty:Number (default = 0) — Distância pela qual converter cada ponto ao longo do eixo y.
|
Exemplo ( Como usar este exemplo )
matrix_1 não enviando nenhum parâmetro para o construtor Matrix() e cria o matrix_2 enviando os parâmetros a ele. Observe que matrix_1, que foi criado sem parâmetros, resulta em uma matriz de identidade com os 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| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Concatena uma matriz com a matriz atual, combinando efetivamente os efeitos geométricos das duas. Em termos matemáticos, concatenar duas matrizes é o mesmo que combiná-las usando a multiplicação de matriz.
Por exemplo, se a matriz m1 dimensiona um objeto em um fator de quatro e a matriz m2 gira um objeto em 1.5707963267949 radianos (Math.PI/2), então m1.concat(m2) transforma m1 em uma matriz que dimensiona um objeto em um fator de quatro e gira o objeto em Math.PI/2 radianos.
Este método substitui a matriz de origem pela matriz concatenada. Se você quiser concatenar duas matrizes sem alterar nenhuma das duas matrizes de origem, primeiro copie a matriz de origem usando o método clone(), conforme mostrado na seção Exemplo de classe.
Parâmetros
m:Matrix — Matriz a ser concatenada com a matriz de origem.
|
copyColumnFrom | () | método |
public function copyColumnFrom(column:uint, vector3D:Vector3D):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia um objeto de Vector3D na coluna específica do objeto de chamada Matrix3D.
Parâmetros
column:uint — A coluna da qual os dados são copiados.
| |
vector3D:Vector3D — Objeto Vector3D a partir do qual os dados são copiados.
|
copyColumnTo | () | método |
public function copyColumnTo(column:uint, vector3D:Vector3D):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia a coluna específica do objeto de chamada Matrix para o objeto de Vector3D. O elemento w do objeto de Vector3D não será alterado.
Parâmetros
column:uint — A coluna da qual os dados são copiados.
| |
vector3D:Vector3D — Objeto Vector3D a partir do qual os dados são copiados.
|
copyFrom | () | método |
public function copyFrom(sourceMatrix:Matrix):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia todos dos dados de matriz do objeto de Point de origem para o objeto de chamada Matrix que chama.
Parâmetros
sourceMatrix:Matrix — O objeto Matrix a partir do qual os dados são copiados.
|
copyRowFrom | () | método |
public function copyRowFrom(row:uint, vector3D:Vector3D):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia um objeto de Vector3D na linha específica do objeto de chamada Matrix.
Parâmetros
row:uint — A linha a partir da qual os dados são copiados.
| |
vector3D:Vector3D — Objeto Vector3D a partir do qual os dados são copiados.
|
copyRowTo | () | método |
public function copyRowTo(row:uint, vector3D:Vector3D):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Copia a linha específica do objeto de chamada Matrix para o objeto de Vector3D. O elemento w do objeto de Vector3D não será alterado.
Parâmetros
row:uint — A linha a partir da qual os dados são copiados.
| |
vector3D:Vector3D — Objeto Vector3D a partir do qual os dados são copiados.
|
createBox | () | método |
public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inclui parâmetros para dimensionamento, rotação e conversão. Quando aplicados à matriz, eles definem os valores da matriz baseados nesses parâmetros.
Usar o método createBox() permite que você obtenha a mesma matriz que obteria se você aplicasse os métodos identity(), rotate(), scale() e translate() sucessivamente. Por exemplo, mat1.createBox(2,2,Math.PI/4, 100, 100) tem o mesmo efeito que:
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 — Fator pelo qual dimensionar horizontalmente.
| |
scaleY:Number — Fator pelo qual dimensionar verticalmente.
| |
rotation:Number (default = 0) — Intensidade para girar, em radianos.
| |
tx:Number (default = 0) — Número de pixels para converter (mover) para a direita ao longo do eixo x.
| |
ty:Number (default = 0) — Número de pixels para converter (mover) para baixo ao longo do eixo y.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
myMatrix chamando seu 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| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cria um estilo específico de matriz esperado pelos métodos beginGradientFill() e lineGradientStyle() da classe Graphics. A largura e a altura são dimensionadas em um par scaleX/scaleY e os valores tx/ty são deslocados em metade da largura e da altura.
Por exemplo, considere um gradiente com as seguintes características:
GradientType.LINEAR- Duas cores, verde e azul, com a matriz de proporções definida como
[0, 255] SpreadMethod.PADInterpolationMethod.LINEAR_RGB
As ilustrações a seguir mostram gradientes nos quais a matriz foi definida com o uso do método createGradientBox() com diferentes configurações de parâmetros:
configurações de createGradientBox() | Gradiente 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 — Largura da caixa de gradiente.
| |
height:Number — Altura da caixa de gradiente.
| |
rotation:Number (default = 0) — Intensidade para girar, em radianos.
| |
tx:Number (default = 0) — Distância, em pixels, para converter para a direita ao longo do eixo x. Este valor é o deslocamento em metade do parâmetro width.
| |
ty:Number (default = 0) — Distância, em pixels, para converter para baixo ao longo do eixo y. Este valor é o deslocamento em metade do parâmetro height.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
myMatrix chamando seu 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| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Com base em um ponto no espaço de coordenadas de pré-transformação, retorna as coordenadas desse ponto após a ocorrência da transformação. Ao contrário da transformação padrão aplicada com o uso do método transformPoint(), a transformação do método deltaTransformPoint() não considera os parâmetros de conversão tx e ty.
Parâmetros
point:Point — Ponto para o qual você deseja obter o resultado da transformação da matriz.
|
Point — Ponto resultante da aplicação da transformação da matriz.
|
identity | () | método |
public function identity():void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Define cada propriedade de matriz como um valor que causa uma transformação nula. Um objeto transformado ao aplicar uma matriz de identidade será idêntico ao original.
Após chamar o método identity(), a matriz resultante tem as seguintes propriedades: a=1, b=0, c=0, d=1, tx=0, ty=0.
Na rotação da matriz, a matriz de identidade fica da seguinte maneira:

invert | () | método |
public function invert():void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Realiza a transformação oposta da matriz original. É possível aplicar uma matriz invertida a um objeto para desfazer a transformação realizada ao aplicar a matriz original.
Exemplo ( Como usar este exemplo )
halfScaleMatrix chamando o método invert() de doubleScaleMatrix. Ele então demonstra que se trata de inversões de Matrix uma com a outra -- matrizes que desfazem quaisquer transformações realizadas pela outra -- criando originalAndInverseMatrix quer é 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| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Aplica uma transformação de rotação ao objeto Matrix.
O método rotate() altera as propriedades a, b, c e d do objeto Matrix. Na rotação de matriz, isso é o mesmo que concatenar a matriz atual com:

Parâmetros
angle:Number — Ângulo de rotação em radianos.
|
scale | () | método |
public function scale(sx:Number, sy:Number):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Aplica uma transformação de dimensionamento à matriz. O eixo x é multiplicado por sx e o eixo y é multiplicado por sy.
O método scale() altera as propriedades a e d do objeto Matrix. Na rotação de matriz, isso é o mesmo que concatenar a matriz atual com a seguinte matriz:

Parâmetros
sx:Number — Multiplicador usado para dimensionar o objeto ao longo do eixo x.
| |
sy:Number — Multiplicador usado para dimensionar o objeto ao longo do eixo y.
|
setTo | () | método |
public function setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Estabelece os integrantes da Matrix para os valores especificados
Parâmetros
aa:Number — os valores para estabelecer a matriz.
| |
ba:Number | |
ca:Number | |
da:Number | |
txa:Number | |
tya:Number |
toString | () | método |
transformPoint | () | método |
public function transformPoint(point:Point):Point| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna o resultado da aplicação da transformação geométrica representada pelo objeto Matrix para o ponto especificado.
Parâmetros
point:Point — Ponto para o qual você deseja obter o resultado da transformação da Matriz.
|
Point — Ponto resultante da aplicação da transformação da Matriz.
|
translate | () | método |
public function translate(dx:Number, dy:Number):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Converte a matriz ao longo dos eixos x e y, conforme especificado pelos parâmetros dx e dy.
Parâmetros
dx:Number — Intensidade de movimento ao longo do eixo x para a direita, em pixels.
| |
dy:Number — Intensidade de movimento para baixo ao longo do eixo y, em pixels.
|
MatrixExample para mostrar como um quadrado grande preenchido com gradiente pode ser criado. Isso é realizado com as seguintes etapas:
- A aplicação cria um novo objeto Matrix
myMatrixe ele usa o métodotrace()para criar os valores de propriedade padrão para o objetomyMatrix. - A aplicação chama o
createGradientBox()com os parâmetroswidtheheightdefinidos em 200 pixels, sem rotação, e a distância para converter ao longo dos eixos x e y definidas em 50 pixels. - A aplicação imprime o objeto
myMatrixnovamente para mostrar a alteração após chamar ocreateGradientBox(). - O aplicativo define até três variáveis para controlar a maneira como a caixa de gradiente é preenchida:
colors: Define as cores de gradiente para o intervalo entre o vermelho sólido e o azul sólido.alphas: Defina a opacidade para sólida.ratios: Define a distribuição das cores para ficarem iguais, tanto para o vermelho quanto para o azul.
- O aplicativo chama o método de gráfico
beginGradientFill(), que opera no objetomyMatrix, e chama o métodolineTo(), resultando na caixa preenchida com gradiente.
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);
}
}
}
Wed Jun 13 2018, 11:10 AM Z
Ocultar propriedades públicas herdadas
Mostrar propriedades públicas herdadas



