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:
Parâmetrosa: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.PAD
InterpolationMethod.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
myMatrix
e 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âmetroswidth
eheight
definidos 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
myMatrix
novamente 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