| Package | flash.geom |
| Class | public class Matrix |
| Inheritance | Matrix Object |
matrix property에 적용해, 다음에 Transform object를 표시 object의 transform property로서 적용하는 것으로, 표시 object에 대한 각종 그래픽 변환을 실행할 수 있습니다. 이러한 변환 기능에는, 평행이동 (x 와 y 의 위치 변경), 회전, 확대·축소, 경사등이 포함됩니다.
이러한 변환을아핀 변환이라고 말합니다. 아핀 변환에서는, 변환중에 선분의 직선성이 유지되기 (위해)때문에, 평행선은 평행대로 됩니다.
변환 행렬을 표시 object에 적용하려면 , Transform object를 작성해, 그 object의 matrix property를 변환 행렬로 설정해, 표시 object의 transform property에 Transform object를 설정합니다. Matrix object는, 다음과 같은 몇개의 Methods의 Parameters라고 해도 사용합니다.
draw() MethodsbeginBitmapFill() Methods,beginGradientFill() Methods 또는 lineGradientStyle() Methods변환 행렬 object는, 다음의 내용을 갖춘 3 × 3 의 행렬입니다.

종래의 변환 행렬에서는,u,v, 및 w property에 의해 특별한 기능을 제공합니다. Matrix 클래스는 2 차원 공간에서만 연산할 수 있으므로,u property와 v property의 값은 0.0 으로,w property의 값은 1.0 입니다. 이 행렬의 유효치는 다음과 같습니다.

Matrix object의 다른 6 개의 propertya,b,c,d,tx, 및 ty 의 값을 모두 취득 및 설정할 수 있습니다.
Matrix 클래스는, 주요한 4 종류의 변환 기능 (평행이동, 확대·축소, 회전, 경사)에 대응하고 있습니다. 전용 Methods를 사용해, 이러한 중 3 개의 변환 기능을 설정할 수 있습니다. 이하의 겉(표)에 나타냅니다.
| 변환 | Methods | 행렬의 값 | 표시 결과 | 설명 |
|---|---|---|---|---|
| 평행이동 (변위) | translate(tx, ty) |
![]() |
![]() |
이미지를 오른쪽으로 tx 픽셀, 아래에 ty 픽셀 이동합니다. |
| 확대·축소 | scale(sx, sy) |
![]() |
![]() |
각 픽셀의 위치를 x 축방향으로 sx 배,y 축방향으로 sy 배가 되는 것으로, 이미지의 크기를 변경합니다. |
| 회전 | rotate(q) |
![]() |
![]() |
이미지를 각도 q (단위는 라디안)만 회전합니다. |
| 경사 또는 변형 | 없음. property b 와 c 로 설정할 필요가 있습니다. |
![]() |
![]() |
x 축 또는 y 축으로 평행한 방향으로 이미지를 슬라이드합니다. Matrix object의 b property는,y 축으로 따른 경사 각도의 탄젠트를 나타내, Matrix object의 c property는,x 축으로 따른 경사 각도의 탄젠트를 나타냅니다. |
효과적으로 복수의 변환을 조합할 수가 있도록(듯이), 변환 함수는 각각 현재의 행렬 property를 변경합니다. 이것을 실시하려면 , 대상 display object의 transform property를 사용해 행렬을 적용하기 전에, 복수의 변환 함수를 호출합니다.
Matrix object의 Methods를 호출하기 전에,new Matrix() constructor 을 사용해 Matrix object를 작성할 필요가 있습니다.
See also
| property | 정의 | ||
|---|---|---|---|
| a : Number
Matrix object의 1 행 1 번째의 값입니다. 이미지의 확대·축소나 회전을 실시할 때에,x 축방향의 픽셀의 위치에 영향을 줍니다.
| Matrix | ||
| b : Number
Matrix object의 1 행 2 번째의 값입니다. 이미지의 회전이나 경사를 실시할 때에,y 축방향의 픽셀의 위치에 영향을 줍니다.
| Matrix | ||
| c : Number
Matrix object의 2 행 1 번째의 값입니다. 이미지의 회전이나 경사를 실시할 때에,x 축방향의 픽셀의 위치에 영향을 줍니다.
| Matrix | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| d : Number
Matrix object의 2 행 2 번째의 값입니다. 이미지의 확대·축소나 회전을 실시할 때에,y 축방향의 픽셀의 위치에 영향을 줍니다.
| Matrix | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| tx : Number
x 축방향으로 각 포인트를 평행이동 하는 거리입니다.
| Matrix | ||
| ty : Number
y 축방향으로 각 포인트를 평행이동 하는 거리입니다.
| Matrix | ||
| Methods | 정의 | ||
|---|---|---|---|
| Matrix (a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
지정된 Parameters로 새로운 Matrix object를 작성합니다.
| Matrix | ||
| clone ():Matrix
새로운 Matrix object로서 이 행렬의 클론을 돌려줍니다. 포함되는 object는 완전히 같은 복사가 됩니다.
| Matrix | ||
| concat (m:Matrix ):void
행렬을 현재의 행렬과 연결해, 2 개의 행렬의 도형 효과를 효과적으로 조합합니다.
| Matrix | ||
| createBox (scaleX:Number , scaleY:Number , rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
확대·축소, 회전, 평행이동에 관한 Parameters등이 있습니다.
| Matrix | ||
| createGradientBox (width:Number , height:Number , rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Graphics 클래스의
beginGradientFill() Methods 및 lineGradientStyle() 로 사용하는 특정의 스타일을 작성합니다. | Matrix | ||
| deltaTransformPoint (point:Point ):Point
변환전의 좌표 공간내의 포인트가 지정되면, 그 포인트의 변환 후의 좌표를 돌려줍니다.
| Matrix | ||
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
| identity ():void
각 행열property를 null 변환이 되는 값으로 설정합니다.
| Matrix | ||
| invert ():void
원의 행렬의 역의 변형을 실행합니다.
| Matrix | ||
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
| rotate (angle:Number ):void
Matrix object에 회전 변환을 적용합니다.
| Matrix | ||
| scale (sx:Number , sy:Number ):void
행렬에 확대/축소의 변환을 적용합니다.
| Matrix | ||
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
| toString ():String
Matrix object의 property의 리스트를 나타내는 텍스트치를 돌려줍니다.
| Matrix | ||
| transformPoint (point:Point ):Point
Matrix object로 표현되는 도형 변환을, 지정된 포인트에 적용한 것에 의해 값을 돌려줍니다.
| Matrix | ||
translate (dx:Number , dy:Number ):void
dx Parameters와 dy Parameters로 지정되도록(듯이),x 축과 y 축으로 따라 행렬을 변환합니다. | Matrix | ||
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
| a | property |
public var a:Number Matrix object의 1 행 1 번째의 값입니다. 이미지의 확대·축소나 회전을 실시할 때에,x 축방향의 픽셀의 위치에 영향을 줍니다.
myMatrix 를 작성해,a 의 값을 설정합니다.
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
trace(myMatrix.a); // 1
myMatrix.a = 2;
trace(myMatrix.a); // 2
| b | property |
public var b:Number Matrix object의 1 행 2 번째의 값입니다. 이미지의 회전이나 경사를 실시할 때에,y 축방향의 픽셀의 위치에 영향을 줍니다.
myMatrix 를 작성해,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 | property |
public var c:Number Matrix object의 2 행 1 번째의 값입니다. 이미지의 회전이나 경사를 실시할 때에,x 축방향의 픽셀의 위치에 영향을 줍니다.
myMatrix 를 작성해,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 | property |
public var d:Number Matrix object의 2 행 2 번째의 값입니다. 이미지의 확대·축소나 회전을 실시할 때에,y 축방향의 픽셀의 위치에 영향을 줍니다.
myMatrix 를 작성해,d 의 값을 설정합니다.
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
trace(myMatrix.d); // 1
myMatrix.d = 2;
trace(myMatrix.d); // 2
| tx | property |
public var tx:Number
x 축방향으로 각 포인트를 평행이동 하는 거리입니다. 이것은,Matrix object의 3 행 1 번째의 값에 상당합니다.
myMatrix 를 작성해,tx 의 값을 설정합니다.
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
trace(myMatrix.tx); // 0
myMatrix.tx = 50; // 50
trace(myMatrix.tx);
| ty | property |
public var ty:Number y 축방향으로 각 포인트를 평행이동 하는 거리입니다. 이것은, Matrix object의 3 행 2 번째의 값에 상당합니다.
myMatrix 를 작성해,ty 의 값을 설정합니다.
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
trace(myMatrix.ty); // 0
myMatrix.ty = 50;
trace(myMatrix.ty); // 50
| Matrix | () | constructor |
public 함수 Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)지정된 Parameters로 새로운 Matrix object를 작성합니다. 행렬 표기의 경우, property는 다음과 같이 됩니다.

new Matrix() constructor 에 Parameters가 지정되지 않는 경우는, 다음의 값으로 구성되는단위 매트릭스 (단위행렬)를 작성합니다.
a = 1 |
b = 0 |
c = 0 |
d = 1 |
tx = 0 |
ty = 0 |
행렬 표기의 경우, 단위행렬은 다음과 같이 됩니다.

a:Number (default = 1) — 새로운 Matrix object의 1 행 1 번째의 값입니다.
|
|
b:Number (default = 0) — 새로운 Matrix object의 1 행 2 번째의 값입니다.
|
|
c:Number (default = 0) — 새로운 Matrix object의 2 행 1 번째의 값입니다.
|
|
d:Number (default = 1) — 새로운 Matrix object의 2 행 2 번째의 값입니다.
|
|
tx:Number (default = 0) — 새로운 Matrix object의 3 행 1 번째의 값입니다.
|
|
ty:Number (default = 0) — 새로운 Matrix object의 3 행 2 번째의 값입니다.
|
Matrix() constructor 에 Parameters를 건네주지 않고 matrix_1 를 작성해, 이 constructor 에 Parameters를 건네주어 matrix_2 를 작성합니다. Parameters를 건네주지 않고 작성한 matrix_1 는, 값 (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 | () | Methods |
public function clone():Matrix 새로운 Matrix object로서 이 행렬의 클론을 돌려줍니다. 포함되는 object는 완전히 같은 복사가 됩니다.
반환값Matrix —
Matrix object.
|
| concat | () | Methods |
public function concat(m:Matrix ):void 행렬을 현재의 행렬과 연결해, 2 개의 행렬의 도형 효과를 효과적으로 조합합니다. 수학적으로 말하면, 2 개의 매트릭스를 연결하는 것은, 매트릭스의 곱셈을 사용해 조합하는 것과 같습니다.
예를 들어, 행렬 m1 는 object의 크기를 4 배로 해, 행렬 m2 는 object를 1.5707963267949 (Math.PI/2) 라디안 회전하는 경우,m1.concat(m2) 는, object의 크기를 4 배로 해, 그 object를 Math.PI/2 라디안 회전하는 행렬에 m1 를 변환합니다.
이 Methods는, 연결된 행렬로 소스 행렬을 옮겨놓습니다. 2 개의 소스 행렬을 어느쪽이나 변경하지 않고 2 개의 행렬을 연결하는 경우는, 클래스의 예에 나타나고 있도록(듯이), 우선 clone() Methods를 사용해, 소스 행렬을 복사합니다.
m:Matrix — 소스 행렬에 연결하는 행렬입니다.
|
| createBox | () | Methods |
public function createBox(scaleX:Number , scaleY:Number , rotation:Number = 0, tx:Number = 0, ty:Number = 0):void 확대·축소, 회전, 평행이동에 관한 Parameters등이 있습니다. 행렬에 적용할 때에, 이러한 Parameters에 근거해, 행렬의 값을 설정합니다.
createBox() Methods를 사용하면,identity(),rotate(),scale(),translate() 의 각 Methods를 계속해 적용하는 것과 효과가 같게 되는 행렬을 취득할 수 있습니다. 예를 들어,mat1.createBox(2,2, Math.PI/4, 100, 100) 의 효과는 다음의 2 개의 명령문(statement)의 것과 같습니다.
import flash.geom.Matrix;
var mat1:Matrix = new Matrix();
mat1.identity();
mat1.rotate(Math.PI/4);
mat1.scale(2,2);
mat1.translate(10,20);
scaleX:Number — 수평 방향의 확대·축소 배율입니다.
|
|
scaleY:Number — 수직 방향의 확대·축소 배율입니다.
|
|
rotation:Number (default = 0) — 회전량 (각도)입니다.
|
|
tx:Number (default = 0) — x 축으로 따라 우측향에 평행이동 (이동) 하는 픽셀수입니다.
|
|
ty:Number (default = 0) — y 축으로 따라 아래방향에 평행이동 (이동) 하는 픽셀수입니다.
|
See also
createBox() Methods를 호출하는 것에 의해, x 의 척도, y 의 척도, 회전, x 의 위치 및 myMatrix 의 y 의 위치를 설정합니다.
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 | () | Methods |
public function createGradientBox(width:Number , height:Number , rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Graphics 클래스의 beginGradientFill() Methods 및 lineGradientStyle() 로 사용하는 특정의 스타일을 작성합니다. width 와 height 는 scaleX 와 scaleY 의 페어로 확대·축소됩니다. tx 와 ty 의 값은, width 와 height 의 반만큼 오프셋(offset) 됩니다.
예를 들어, 다음의 성질을 가지는 그라데이션을 작성한다고 합니다.
GradientType.LINEAR[0, 255] 로 설정SpreadMethod.PADInterpolationMethod.LINEAR_RGBParameters가 다른 createGradientBox() Methods를 사용해 정의된 행렬의 그라데이션은, 다음의 그림대로입니다.
createGradientBox() 의 설정 |
그라데이션의 결과 |
|---|---|
width = 25; |
![]() |
width = 25; |
![]() |
width = 50; |
![]() |
width = 50; |
![]() |
width:Number — 그라데이션복스의 폭입니다.
|
|
height:Number — 그라데이션복스의 높이입니다.
|
|
rotation:Number (default = 0) — 회전량 (각도)입니다.
|
|
tx:Number (default = 0) — x 축으로 따라 우측향에 평행이동 (이동) 하는 거리 (픽셀 단위)입니다. 이 값은,width Parameters의 반만큼 오프셋(offset) 됩니다.
|
|
ty:Number (default = 0) — y 축으로 따라 아래방향에 평행이동 (이동) 하는 거리 (픽셀 단위)입니다.
이 값은,height Parameters의 반만큼 오프셋(offset) 됩니다.
|
See also
createBox() Methods를 호출하는 것에 의해, x 의 척도, y 의 척도, 회전, x 의 위치 및 myMatrix 의 y 의 위치를 설정합니다.
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 | () | Methods |
public function deltaTransformPoint(point:Point ):Point
변환전의 좌표 공간내의 포인트가 지정되면, 그 포인트의 변환 후의 좌표를 돌려줍니다. transformPoint() Methods를 사용해 적용되는 통상의 변환과는 달라,deltaTransformPoint() Methods의 변환에서는 평행이동 Parameters tx 와 ty 가 고려되지 않습니다.
point:Point — 행렬 변환의 결과로서 얻을 수 있는 포인트입니다.
|
Point —
행렬 변환을 적용한 결과의 포인트입니다.
|
| identity | () | Methods |
public function identity():void 각 행열property를 null 변환이 되는 값으로 설정합니다. 단위행렬을 적용해 변형한 object는, 원의 object와 같게 됩니다.
identity() Methods를 호출하면, 결과적으로 얻을 수 있는 행렬의 property는,a=1, b=0, c=0, d=1, tx=0, ty=0 가 됩니다.
행렬 표기의 경우, 단위행렬은 다음과 같이 됩니다.

| invert | () | Methods |
public function invert():void 원의 행렬의 역의 변형을 실행합니다. 역행열을 object에 적용해, 원의 행렬의 적용시에 실행된 변환을 취소할 수가 있습니다.
doubleScaleMatrix 의 invert() Methods를 사용해,halfScaleMatrix 를 작성합니다. 그 후,
이 2 개의 매트릭스가 한편의 매트릭스의 역매트릭스,
즉, 한편의 매트릭스로 실행된 변환을 취소하는 매트릭스인 것을,
noScaleMatrix 와 동등의 originalAndInverseMatrix 를 작성하는 것에 의해 가리킵니다.
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 | () | Methods |
public function rotate(angle:Number ):void Matrix object에 회전 변환을 적용합니다.
rotate() Methods는, Matrix object의 a,b,c 및 d 의 각 property를 변경합니다. 행렬 표기의 경우, 이것은 현재의 행렬을 다음의 행렬과 연결하는 것과 같습니다.

angle:Number — 회전 각도 (라디안 단위)입니다.
|
See also
| scale | () | Methods |
public function scale(sx:Number , sy:Number ):void
행렬에 확대/축소의 변환을 적용합니다. x 축방향으로 sx 배,y 축방향으로 sy 배로 변경됩니다.
scale() Methods는, Matrix object의 a property와 d property를 변경합니다. 행렬 표기의 경우, 이것은 현재의 행렬을 다음의 행렬과 연결하는 것과 같습니다.

sx:Number — object를 x 축방향으로 확대·축소하기 위해서 사용되는 승수입니다.
|
|
sy:Number — object를 y 축방향으로 확대·축소하기 위해서 사용되는 승수입니다.
|
See also
| toString | () | Methods |
public function toString():String Matrix object의 property의 리스트를 나타내는 텍스트치를 돌려줍니다.
반환값String —
Matrix object의 property의 값을 포함한 stringa,b,c,d,tx, 및 ty 의 값을 모두 취득 및 설정할 수 있습니다.
|
| transformPoint | () | Methods |
public function transformPoint(point:Point ):Point Matrix object로 표현되는 도형 변환을, 지정된 포인트에 적용한 것에 의해 값을 돌려줍니다.
Parameterspoint:Point — 행렬 변환의 결과로서 얻을 수 있는 포인트입니다.
|
Point —
행렬 변환을 적용한 결과의 포인트입니다.
|
| translate | () | Methods |
public function translate(dx:Number , dy:Number ):void
dx Parameters와 dy Parameters로 지정되도록(듯이),x 축과 y 축으로 따라 행렬을 변환합니다.
dx:Number — x 축으로 따라 우측향으로 이동하는 양 (픽셀 단위)입니다.
|
|
dy:Number — y 축으로 따라 아래방향으로 이동하는 양 (픽셀 단위)입니다.
|
See also
MatrixExample 클래스를 사용해,
그라데이션 칠의 큰 정방형의 작성 방법을 나타냅니다. 여기에서는 다음의 순서를
실행합니다.
myMatrix 를 작성해,
trace() Methods를 사용해,
myMatrix object의 property의 디폴트치를 출력합니다. createGradientBox() 를,width 및
height 의 Parameters를 200 픽셀, 회전 이루어,
x 축 및 y 축으로 따르는 평행이동 거리를 50 픽셀로 설정해 호출합니다. myMatrix object를 다음의 Methods의 호출 후에 다시 프린트 해, 변경 내용을 표시합니다.
createGradientBox(). colors: 그라데이션카라를 빨강으로부터 파랑의 범위에서 설정합니다. alphas: 투명도를 불투명하게 설정합니다. ratios: 칼라의 분포를, 빨강과 파랑이 모두 동일해지도록(듯이) 설정합니다. beginGradientFill() 를 호출합니다. 이 Methods는,myMatrix object를 조작해,
lineTo() Methods를 호출해, 그라데이션 칠의 사각형을 작성합니다.
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);
}
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/geom/Matrix.html