패키지 | flash.geom |
클래스 | public class Transform |
상속 | Transform Object |
하위 클래스 | Transform |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
concatenatedColorTransform
및 concatenatedMatrix
속성을 사용합니다.
색상 변환을 적용하려면 ColorTransform 객체를 만들고 객체의 메서드와 속성을 사용하여 색상 조정을 설정한 다음 colorTransformation
속성(표시 객체의 transform
속성)에 새 ColorTransformation 객체를 할당합니다.
2차원 변형을 적용하려면 Matrix 객체를 만들고 행렬의 2차원 변형을 설정한 다음 표시 객체의 transform.matrix
속성에 새 Matrix 객체를 할당합니다.
3차원 변형을 적용하려면 우선 3차원 표시 객체를 준비합니다. 3차원 표시 객체의 z
속성 값은 0이 아닙니다. Matrix3D 객체는 만들 필요가 없습니다. 표시 객체에 z
값을 할당하면 모든 3차원 객체에 대해 Matrix3D 객체가 자동으로 만들어집니다. 표시 객체의 transform
속성을 통해 표시 객체의 Matrix3D 객체에 액세스할 수 있습니다. Matrix3D 클래스의 메서드를 사용하여 기존 변형 설정을 추가하거나 수정할 수 있습니다. 사용자 정의 Matrix3D 객체를 만들고 사용자 정의 Matrix3D 객체의 변형 요소를 설정한 다음 transform.matrix
속성을 사용하여 새 Matrix3D 객체를 표시 객체에 할당할 수도 있습니다.
스테이지나 루트 객체의 원근 투영을 수정하려면 루트 표시 객체의 transform.matrix
속성을 사용하여 PerspectiveProjection 객체에 액세스합니다. 또는 표시 객체 부모의 원근 투영 속성을 설정하여 표시 객체에 다른 원근 투영 속성을 적용합니다. 자식 표시 객체는 새 속성을 상속합니다. 구체적으로 설명하면, PerspectiveProjection 객체를 만들고 속성을 설정한 다음 PerspectiveProjection 객체를 perspectiveProjection
속성(부모 표시 객체의 transform
속성)에 할당합니다. 이렇게 하면 지정된 투영 변형이 표시 객체의 모든 3차원 자식에 적용됩니다.
PerspectiveProjection과 Matrix3D 객체는 모두 원근 변형을 수행하므로 이러한 두 객체를 표시 객체에 동시에 할당하지 마십시오. PerspectiveProjection 객체는 초점 길이 및 투영 중심을 변경할 때 사용합니다. 투영 변형을 보다 자세히 제어하려면 원근 투영 Matrix3D 객체를 사용합니다.
관련 API 요소
flash.geom.ColorTransform
flash.geom.Matrix
flash.geom.Matrix3D
flash.geom.PerspectiveProjection
속성 | 정의 주체 | ||
---|---|---|---|
colorTransform : flash.geom:ColorTransform
표시 객체의 색상을 전체적으로 조정하는 값이 포함된 ColorTransform 객체입니다. | Transform | ||
concatenatedColorTransform : flash.geom:ColorTransform [읽기 전용]
표시 객체와 해당하는 모든 부모 객체(루트 레벨까지)에 적용된 색상 변환의 결합을 나타내는 ColorTransform 객체입니다. | Transform | ||
concatenatedMatrix : Matrix [읽기 전용]
표시 객체와 해당하는 모든 부모 객체(루트 레벨까지)의 결합된 변형 행렬을 나타내는 Matrix 객체입니다. | Transform | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
matrix : Matrix
표시 객체의 크기 조절, 회전 및 평행 이동에 영향을 주는 값이 들어 있는 Matrix 객체입니다. | Transform | ||
matrix3D : Matrix3D
3차원 표시 객체의 Matrix3D 객체에 액세스합니다. | Transform | ||
perspectiveProjection : PerspectiveProjection
3차원 표시 객체의 PerspectiveProjection 객체에 액세스합니다. | Transform | ||
pixelBounds : Rectangle [읽기 전용]
스테이지에서 표시 객체의 경계 사각형을 정의하는 Rectangle 객체입니다. | Transform |
메서드 | 정의 주체 | ||
---|---|---|---|
현재 표시 객체의 공간을 기준으로 지정된 표시 객체의 공간을 변형할 수 있는 Matrix3D 객체를 반환합니다. | Transform | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
colorTransform | 속성 |
colorTransform:flash.geom:ColorTransform
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
표시 객체의 색상을 전체적으로 조정하는 값이 포함된 ColorTransform 객체입니다.
구현
public function get colorTransform():flash.geom:ColorTransform
public function set colorTransform(value:flash.geom:ColorTransform):void
오류
TypeError — 설정 중인 colorTransform이 null입니다.
|
관련 API 요소
concatenatedColorTransform | 속성 |
concatenatedColorTransform:flash.geom:ColorTransform
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
표시 객체와 해당하는 모든 부모 객체(루트 레벨까지)에 적용된 색상 변환의 결합을 나타내는 ColorTransform 객체입니다. 다른 레벨에서 다른 색상 변환이 적용된 경우, 이러한 색상 변환은 모두 이 속성에 대한 하나의 ColorTransform 객체로 연결됩니다.
구현
public function get concatenatedColorTransform():flash.geom:ColorTransform
관련 API 요소
concatenatedMatrix | 속성 |
concatenatedMatrix:Matrix
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
표시 객체와 해당하는 모든 부모 객체(루트 레벨까지)의 결합된 변형 행렬을 나타내는 Matrix 객체입니다. 다른 레벨에서 다른 변형 행렬이 적용된 경우, 이러한 변형 행렬은 모두 이 속성에 대한 하나의 행렬로 연결됩니다. 또한 브라우저에서 실행 중인 크기 조절 가능한 SWF 내용의 경우 이 속성에는 윈도우 크기 조절로 인한 스테이지 좌표와 윈도우 좌표의 차이가 적용됩니다. 따라서 이 속성은 로컬 좌표를 스테이지의 좌표 공간과 다를 수 있는 윈도우 좌표로 변환합니다.
구현
public function get concatenatedMatrix():Matrix
matrix | 속성 |
matrix:Matrix
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
표시 객체의 크기 조절, 회전 및 평행 이동에 영향을 주는 값이 들어 있는 Matrix 객체입니다.
matrix
속성을 null
이 아닌 값으로 설정하면 matrix3D
속성이 null
이 됩니다. 그리고 matrix3D
속성을 null
이 아닌 값으로 설정하면 matrix
속성이 null
이 됩니다.
구현
public function get matrix():Matrix
public function set matrix(value:Matrix):void
오류
TypeError — 설정 중인 행렬이 null입니다.
|
관련 API 요소
matrix3D | 속성 |
matrix3D:Matrix3D
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
3차원 표시 객체의 Matrix3D 객체에 액세스합니다. Matrix3D 객체는 표시 객체의 위치와 방향을 결정하는 변형 행렬을 나타냅니다. Matrix3D 객체는 원근 투영을 수행할 수도 있습니다.
matrix
속성을 null
이 아닌 값으로 설정하면 matrix3D
속성이 null
이 됩니다. 그리고 matrix3D
속성을 null
이 아닌 값으로 설정하면 matrix
속성이 null
이 됩니다.
구현
public function get matrix3D():Matrix3D
public function set matrix3D(value:Matrix3D):void
관련 API 요소
perspectiveProjection | 속성 |
perspectiveProjection:PerspectiveProjection
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
3차원 표시 객체의 PerspectiveProjection 객체에 액세스합니다. PerspectiveProjection 객체를 사용하여 스테이지의 원근 변형을 수정하거나 표시 객체의 모든 3차원 자식에 원근 변형을 할당할 수 있습니다.
스테이지의 시야 및 종횡비(크기)에 따라 루트 객체에 기본 PerspectiveProjection 객체가 할당됩니다.
구현
public function get perspectiveProjection():PerspectiveProjection
public function set perspectiveProjection(value:PerspectiveProjection):void
관련 API 요소
pixelBounds | 속성 |
getRelativeMatrix3D | () | 메서드 |
public function getRelativeMatrix3D(relativeTo:DisplayObject):Matrix3D
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
현재 표시 객체의 공간을 기준으로 지정된 표시 객체의 공간을 변형할 수 있는 Matrix3D 객체를 반환합니다. getRelativeMatrix3D()
메서드를 사용하면 다른 3차원 표시 객체를 기준으로 3차원 표시 객체를 이동할 수 있습니다.
매개 변수
relativeTo:DisplayObject — 변형할 기준이 되는 표시 객체입니다. 스테이지를 기준으로 Matrix3D 객체를 가져오려면 매개 변수를 root 또는 stage 객체로 설정합니다. 표시 객체의 월드 기준 행렬을 가져오려면 매개 변수를 원근 변형이 적용된 표시 객체로 설정합니다.
|
Matrix3D — relativeTo 표시 객체의 공간을 현재 표시 객체의 공간으로 변형하는 데 사용할 수 있는 Matrix3D 객체입니다.
|
관련 API 요소
TransformExample()
생성자가 새 Sprite 객체target
을 만듭니다.TransformExample()
생성자가 Sprite에 그래디언트 사각형을 그리는draw()
메서드를 호출합니다.TransformExample()
생성자가 해당 Sprite에 대한 click 이벤트 리스너를 추가합니다. 이 리스너는clickHandler()
메서드에 의해 처리됩니다.clickHandler()
메서드가 기울임 효과를 적용하도록 설정된 새 Matrix 객체인skewMatrix
를 만듭니다. 다른 행렬인tempMatrix
를 스프라이트의 현재 변형 행렬에 할당한 다음skewMatrix
와 결합합니다. 이때concat()
메서드를 사용합니다. 이 행렬을 사각형 스프라이트의transform.matrix
속성에 할당합니다. 사용자가 사각형을 클릭할 때마다clickHandler()
가 호출되어 사각형의 모양을 기울여 변경합니다.- 또한
clickHandler()
메서드는 새 ColorTransform 객체를 만듭니다. 새 ColorTransform의redOffset
속성은 redOffset의 현재 값으로 설정된 후 25가 더해집니다. 마찬가지로blueOffset
속성은 25만큼 감소합니다. 따라서 클릭할 때마다 스프라이트의 색상이 변합니다.
package { import flash.display.Sprite; import flash.display.GradientType; import flash.geom.Matrix; import flash.geom.ColorTransform; import flash.events.MouseEvent; public class TransformExample extends Sprite { public function TransformExample() { var target:Sprite = new Sprite(); draw(target); addChild(target); target.useHandCursor = true; target.buttonMode = true; target.addEventListener(MouseEvent.CLICK, clickHandler) } public function draw(sprite:Sprite):void { var red:uint = 0xFF0000; var green:uint = 0x00FF00; var blue:uint = 0x0000FF; var size:Number = 100; sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]); sprite.graphics.drawRect(0, 0, 100, 100); } public function clickHandler(event:MouseEvent):void { var skewMatrix:Matrix = new Matrix(); skewMatrix.c = 0.25; var tempMatrix:Matrix = this.transform.matrix; tempMatrix.concat(skewMatrix); this.transform.matrix = tempMatrix; var rOffset:Number = this.transform.colorTransform.redOffset + 25; var bOffset:Number = this.transform.colorTransform.blueOffset - 25; this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0); } } }
Tue Jun 12 2018, 03:17 PM Z