| 패키지 | flash.display |
| 클래스 | public class DisplayObject |
| 상속 | DisplayObject EventDispatcher Object |
| 구현 | IBitmapDrawable |
| 하위 클래스 | AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video |
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
DisplayObject 클래스는 객체의 x 및 y 위치 같은 기본 기능뿐 아니라 변형 행렬 등의 고급 객체 속성을 지원합니다.
DisplayObject는 추상 기본 클래스이므로 이를 직접 호출할 수 없습니다. new DisplayObject()를 호출하면 ArgumentError 예외가 발생합니다.
모든 표시 객체는 DisplayObject 클래스에서 상속됩니다.
DisplayObject 클래스 자체에는 화면에 내용을 렌더링하는 API가 포함되지 않습니다. 따라서 DisplayObject 클래스의 사용자 정의 하위 클래스를 만드는 경우 Shape, Sprite, Bitmap, SimpleButton, TextField 또는 MovieClip 클래스와 같이 화면에 내용을 렌더링하는 API를 포함하는 해당 하위 클래스 중 하나를 확장합니다.
ActionScript 1.0 및 2.0 MovieClip, TextField, Button 클래스에서 이전에 사용된 일부 속성(예: _alpha, _height, _name, _width, _x, _y 등)은 ActionScript 3.0 DisplayObject 클래스에서도 동일하지만, 밑줄(_) 문자로 시작하지 않도록 이름이 변경되었습니다.
자세한 내용은 ActionScript 3.0 프로그래밍 설명서의 "디스플레이 프로그래밍" 장을 참조하십시오.
참고 사항
| 속성 | 다음에 의해 정의됨 | ||
|---|---|---|---|
| accessibilityProperties : AccessibilityProperties
이 표시 객체의 현재 액세스 가능성 옵션입니다.
| DisplayObject | ||
| alpha : Number
지정된 객체의 알파 투명도 값을 나타냅니다.
| DisplayObject | ||
| blendMode : String
사용할 블렌드 모드를 지정하는 BlendMode 클래스 값입니다.
| DisplayObject | ||
| cacheAsBitmap : Boolean
true로 설정된 경우, Flash Player는 표시 객체의 내부 비트맵 표현을 캐시합니다.
| DisplayObject | ||
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
| Object | |
| filters : Array
현재 표시 객체와 연관된 각 필터 객체가 들어 있는 인덱싱된 배열입니다.
| DisplayObject | ||
| height : Number
표시 객체의 높이를 픽셀 단위로 나타냅니다.
| DisplayObject | ||
| loaderInfo : LoaderInfo
[read-only]
이 표시 객체가 속한 파일의 로딩 정보가 포함된 LoaderInfo 객체를 반환합니다.
| DisplayObject | ||
| mask : DisplayObject
호출하는 표시 객체는 지정된 mask 객체에 의해 마스크 처리됩니다.
| DisplayObject | ||
| mouseX : Number
[read-only]
마우스 위치의 x 좌표를 픽셀 단위로 나타냅니다.
| DisplayObject | ||
| mouseY : Number
[read-only]
마우스 위치의 y 좌표를 픽셀 단위로 나타냅니다.
| DisplayObject | ||
| name : String
DisplayObject의 인스턴스 이름을 나타냅니다.
| DisplayObject | ||
| opaqueBackground : Object
표시 객체를 특정 배경색으로 불투명하게 처리할지 여부를 지정합니다.
| DisplayObject | ||
| parent : DisplayObjectContainer
[read-only]
이 표시 객체가 포함된 DisplayObjectContainer 객체를 나타냅니다.
| DisplayObject | ||
![]() | prototype : Object
[static]
클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
| Object | |
| root : DisplayObject
[read-only]
로드된 SWF 파일에 있는 표시 객체의 경우, 해당 SWF 파일이 나타내는 표시 목록의 트리 구조 부분에서 맨 위에 위치하는 표시 객체가 루트 속성이 됩니다.
| DisplayObject | ||
| rotation : Number
DisplayObject 인스턴스가 원점으로부터 회전한 각도입니다.
| DisplayObject | ||
| scale9Grid : Rectangle
현재 적용 중인 크기 조절 격자입니다.
| DisplayObject | ||
| scaleX : Number
등록 포인트에서 적용된 객체의 가로 크기(percentage)를 나타냅니다.
| DisplayObject | ||
| scaleY : Number
객체의 등록 포인트에서 적용된 객체의 세로 크기(percentage)를 나타냅니다.
| DisplayObject | ||
| scrollRect : Rectangle
표시 객체의 스크롤 사각형 경계입니다.
| DisplayObject | ||
| stage : Stage
[read-only]
표시 객체의 Stage입니다.
| DisplayObject | ||
| transform : Transform
표시 객체의 행렬, 색상 변환 및 픽셀 경계와 관련된 속성을 가진 객체입니다.
| DisplayObject | ||
| visible : Boolean
표시 객체가 표시되는지 여부를 나타냅니다.
| DisplayObject | ||
| width : Number
표시 객체의 폭을 픽셀 단위로 나타냅니다.
| DisplayObject | ||
| x : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 x 좌표를 나타냅니다.
| DisplayObject | ||
| y : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 y 좌표를 나타냅니다.
| DisplayObject | ||
| 메서드 | 다음에 의해 정의됨 | ||
|---|---|---|---|
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
| EventDispatcher | |
![]() |
이벤트를 이벤트 흐름으로 전달합니다.
| EventDispatcher | |
|
targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체의 영역을 정의하는 사각형을 반환합니다.
| DisplayObject | ||
|
대상 좌표 공간 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다.
| DisplayObject | ||
|
Point 객체를 Stage 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다.
| DisplayObject | ||
![]() |
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
| EventDispatcher | |
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
| Object | |
|
표시 객체를 평가하여 표시 객체와 겹치거나 교차하는지 확인합니다.
| DisplayObject | ||
|
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다.
| DisplayObject | ||
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
| Object | |
|
Point 객체를 표시 객체의 로컬 좌표에서 Stage 전역 좌표로 변환합니다.
| DisplayObject | ||
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
| Object | |
![]() |
EventDispatcher 객체에서 리스너를 제거합니다.
| EventDispatcher | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
| Object | |
![]() |
지정된 객체의 문자열 표현을 반환합니다.
| Object | |
![]() |
지정된 객체의 프리미티브 값을 반환합니다.
| Object | |
![]() |
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
| EventDispatcher | |
| 이벤트 | 요약 | 다음에 의해 정의됨 | ||
|---|---|---|---|---|
![]() | Flash Player가 운영 체제에서 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | ||
| 표시 객체를 표시 목록에 추가할 때 전달됩니다. | DisplayObject | |||
| 표시 객체가 포함된 하위 트리를 추가하거나 또는 표시 객체를 스테이지 표시 목록에 직접 추가할 때 전달됩니다. | DisplayObject | |||
![]() | Flash Player가 운영 체제에서 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | ||
| 재생 헤드가 새 프레임에 들어갈 때 전달됩니다. | DisplayObject | |||
| 표시 객체를 표시 목록에서 제거하려 할 때 전달됩니다. | DisplayObject | |||
| 표시 객체가 포함된 하위 트리를 제거하거나 표시 객체가 스테이지 표시 목록에서 직접 제거하려 할 때 전달됩니다. | DisplayObject | |||
| 표시 목록을 업데이트하고 렌더링하려 할 때 전달됩니다. | DisplayObject | |||
| accessibilityProperties | 속성 |
accessibilityProperties:AccessibilityProperties [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
이 표시 객체의 현재 액세스 가능성 옵션입니다. accessibilityProperties 속성 또는 accessibilityProperties의 필드 중 하나를 수정할 경우 Accessibility.updateProperties() 메서드를 호출하여 변경 사항을 적용해야 합니다.
참고: Flash 제작 환경에서 만든 객체의 경우 accessibilityProperties 값은 해당 객체의 액세스 가능성 패널에서 입력한 정보로 미리 채워집니다.
public function get accessibilityProperties():AccessibilityProperties
public function set accessibilityProperties(value:AccessibilityProperties):void
참고 사항
import flash.text.TextField;
import flash.accessibility.AccessibilityProperties;
import flash.accessibility.Accessibility;
import flash.system.Capabilities;
var tf:TextField = new TextField();
tf.text = "hello";
var accessProps:AccessibilityProperties = new AccessibilityProperties();
accessProps.name = "Greeting";
tf.accessibilityProperties = accessProps;
if (Capabilities.hasAccessibility) {
Accessibility.updateProperties();
}
trace(tf.accessibilityProperties.name); // Greeting
| alpha | 속성 |
alpha:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
지정된 객체의 알파 투명도 값을 나타냅니다. 올바른 값은 0(완전 투명)부터 1(완전 불투명)까지입니다. 기본값은 1입니다. alpha가 0으로 설정된 표시 객체는 눈에 보이지는 않지만 활성화되어 있습니다.
public function get alpha():Number
public function set alpha(value:Number):void
alpha 속성을 50%로 설정합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);
function dimObject(event:MouseEvent):void {
event.target.alpha = 0.5;
}
function restoreObject(event:MouseEvent):void {
event.target.alpha = 1.0;
}
| blendMode | 속성 |
blendMode:String [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
사용할 블렌드 모드를 지정하는 BlendMode 클래스 값입니다. 두 가지 방법을 사용하여 비트맵을 내부에 그릴 수 있습니다. 블렌드 모드를 사용하거나 외부 클리핑 마스크가 있는 경우에는 벡터 렌더링에 채워진 사각형 모양을 추가함으로써 비트맵을 그립니다. 이 속성을 유효하지 않은 값으로 설정하려고 하면 Flash Player가 값을 BlendMode.NORMAL로 설정합니다.
Flash Player는 표시 객체의 각 픽셀에 blendMode 속성을 적용합니다. 각 픽셀은 세 가지 색상 요소(빨강, 녹색 및 파랑)로 구성되고 각 색상 요소는 0x00에서 0xFF 사이의 값을 갖습니다. Flash Player는 무비 클립 픽셀의 각 색상 요소와 배경 픽셀의 대응하는 각 색상 요소를 비교합니다. 예를 들어, blendMode가 BlendMode.LIGHTEN으로 설정되어 있는 경우 Flash Player는 표시 객체의 빨강 값과 배경의 빨강 값을 비교하고 둘 중 더 밝은 색상을 표시된 색상의 빨강 요소에 대한 값으로 사용합니다.
다음 표에서는 blendMode 설정에 대해 설명합니다. BlendMode 클래스는 사용할 수 있는 문자열 값을 정의합니다. 표의 그림은 다른 표시 객체 (1) 위에 놓인 원형 표시 객체 (2)에 적용된 blendMode 값을 보여 줍니다.
| BlendMode 상수 | 그림 | 설명 |
|---|---|---|
BlendMode.NORMAL | ![]() | 표시 객체는 배경의 전면에 표시됩니다. 표시 객체의 픽셀 값이 배경의 픽셀 값보다 우선합니다. 표시 객체가 투명한 경우에는 배경이 보입니다. |
BlendMode.LAYER | ![]() | 표시 객체에 대한 투명도 그룹이 만들어지도록 합니다. 이는 표시 객체가 더 처리되기 전에 임시 버퍼에서 미리 구성됨을 의미합니다. 이 작업은 표시 객체가 비트맵 캐시를 사용하여 미리 캐시된 경우 또는 표시 객체가 BlendMode.NORMAL 이외의 blendMode 설정을 갖는 자식 객체를 하나 이상 포함하는 표시 객체 컨테이너인 경우 자동으로 수행됩니다.
|
BlendMode.MULTIPLY | ![]() | 표시 객체의 색상 요소 값에 배경색의 색상 요소를 곱하고 0xFF로 나누어 정규화하면 보다 어두운 색상이 됩니다. 이 설정은 그림자 및 깊이 효과에 주로 사용됩니다.
예를 들어, 특정한 표시 객체 픽셀의 색상 요소(예: 빨강)와 해당하는 배경 픽셀의 색상 값이 모두 0x88이라면 곱한 결과는 0x4840이 됩니다. 0xFF로 나누면 해당 색상 요소의 값 0x48이 나옵니다. 이것은 표시 객체의 색상 또는 배경색보다 어두운 그림자입니다. |
BlendMode.SCREEN | ![]() | 표시 객체 색상의 보수(역수)에 배경색 보수를 곱하여 표백 효과를 냅니다. 이 설정은 강조 표시할 때 또는 표시 객체의 검정색 부분을 제거할 때 주로 사용됩니다. |
BlendMode.LIGHTEN | ![]() | 표시 객체의 색상 요소와 배경색 중 보다 밝은 색(값이 큰 쪽)을 선택합니다. 이 설정은 superimposing 유형에 주로 사용됩니다.
예를 들어, 표시 객체에 RGB 값이 0xFFCC33인 픽셀이 하나 있고 배경 픽셀의 RGB 값은 0xDDF800인 경우, 표시되는 픽셀의 최종 RGB 값은 0xFFF833입니다(0xFF > 0xDD, 0xCC < 0xF8, 0x33 > 0x00 = 33). |
BlendMode.DARKEN | ![]() | 표시 객체의 색상 요소와 배경색 중 보다 어두운 색상(값이 작은 색상)을 선택합니다. 이 설정은 superimposing 유형에 주로 사용됩니다.
예를 들어, 표시 객체에 RGB 값이 0xFFCC33인 픽셀이 하나 있고 배경 픽셀의 RGB 값은 0xDDF800인 경우, 표시되는 픽셀의 최종 RGB 값은 0xDDCC00입니다(0xFF > 0xDD, 0xCC < 0xF8, 0x33 > 0x00 = 33). |
BlendMode.DIFFERENCE | ![]() | 표시 객체의 색상 요소를 배경색과 비교하여 둘 중 밝은 색상 값에서 어두운 색상 값을 뺍니다. 이 설정은 보다 강렬한 색상을 내기 위해 주로 사용됩니다.
예를 들어, 표시 객체에 RGB 값이 0xFFCC33인 픽셀이 하나 있고 배경 픽셀의 RGB 값은 0xDDF800인 경우, 표시되는 픽셀의 최종 RGB 값은 0x222C33입니다(0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, 0x33 - 0x00 = 0x33). |
BlendMode.ADD | ![]() | 표시 객체의 색상 요소 값을 배경색에 더하고 올림값 0xFF를 적용합니다. 이 설정은 두 객체 사이에서 색상을 밝게 하는 디졸브를 애니메이션 처리하는 데 주로 사용됩니다.
예를 들어, 표시 객체에 RGB 값이 0xAAA633인 픽셀이 하나 있고 배경 픽셀의 RGB 값은 0xDD2200인 경우, 표시되는 픽셀의 최종 RGB 값은 0xFFC833입니다(0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, 0x33 + 0x00 = 0x33). |
BlendMode.SUBTRACT | ![]() | 배경색 값에서 표시 객체의 색상 요소 값을 빼고 내림값 0을 적용합니다. 이 설정은 두 객체 사이에서 색상을 어둡게 하는 디졸브를 애니메이션 처리하는 데 주로 사용됩니다.
예를 들어, 표시 객체에 RGB 값이 0xAA2233인 픽셀이 하나 있고 배경 픽셀의 RGB 값은 0xDDA600인 경우, 표시되는 픽셀의 최종 RGB 값은 0x338400입니다(0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84, 0x00 - 0x33 < 0x00). |
BlendMode.INVERT | ![]() | 배경을 반전시킵니다. |
BlendMode.ALPHA | ![]() | 표시 객체에 있는 각 픽셀의 알파 값을 배경에 적용합니다. 부모 표시 객체의 blendMode를 BlendMode.LAYER로 설정해야 합니다. 예를 들어, 그림에서 부모 표시 객체(흰색 배경)는 blendMode = BlendMode.LAYER를 가집니다. |
BlendMode.ERASE | ![]() | 표시 객체의 알파 값을 기준으로 배경을 지웁니다. 부모 표시 객체의 blendMode를 BlendMode.LAYER로 설정해야 합니다. 예를 들어, 그림에서 부모 표시 객체(흰색 배경)는 blendMode = BlendMode.LAYER를 가집니다. |
BlendMode.OVERLAY | ![]() | 배경의 어두운 정도를 기준으로 각 픽셀의 색상을 조정합니다. 배경이 50% 회색보다 밝으면 표시 객체와 배경색이 차단되어 결과적으로 더 밝아집니다. 배경이 50% 회색보다 어두우면 색상이 곱해져서 결과적으로 더 어두워집니다. 이 설정은 음영 효과에 주로 사용됩니다. |
BlendMode.HARDLIGHT | ![]() | 표시 객체의 어두운 정도를 기준으로 각 픽셀의 색상을 조정합니다. 표시 객체가 50% 회색보다 밝으면 표시 객체와 배경의 색상이 차단되어 결과적으로 더 밝아집니다. 표시 객체가 50% 회색보다 어두우면 색상이 곱해져서 결과적으로 더 어두워집니다. 이 설정은 음영 효과에 주로 사용됩니다. |
public function get blendMode():String
public function set blendMode(value:String):void
참고 사항
BlendMode.SUBTRACT로 설정합니다.
import flash.display.Sprite;
import flash.display.BlendMode;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF88CC);
square.graphics.drawRect(0, 0, 80, 80);
addChild(square);
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);
function dimObject(event:MouseEvent):void {
event.target.blendMode = BlendMode.SUBTRACT;
}
function restoreObject(event:MouseEvent):void {
event.target.blendMode = BlendMode.NORMAL;
}
| cacheAsBitmap | 속성 |
cacheAsBitmap:Boolean [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
true로 설정된 경우, Flash Player는 표시 객체의 내부 비트맵 표현을 캐시합니다. 캐시를 통해 복잡한 벡터 내용이 포함된 표시 객체의 성능이 향상될 수 있습니다.
캐시된 비트맵이 있는 표시 객체의 모든 벡터 데이터는 기본 디스플레이가 아닌 비트맵에 그려집니다. 이 비트맵은 다시 가장 가까운 픽셀 경계에 물려 있는 확장되거나 회전되지 않은 픽셀로 기본 디스플레이에 복사됩니다. 픽셀은 부모 객체와 1대 1로 매핑됩니다. 비트맵의 경계가 변경되면 비트맵은 확장되지 않고 다시 만들어집니다.
cacheAsBitmap 속성을 true로 설정하지 않은 경우에는 내부 비트맵이 만들어지지 않습니다.
cacheAsBitmap 속성을 true로 설정하고 나면 렌더링이 변경되지는 않지만 표시 객체가 픽셀 물리기를 자동으로 수행합니다. 애니메이션 속도는 벡터 내용의 복잡도에 따라 현저하게 빨라질 수 있습니다.
cacheAsBitmap 속성은 표시 객체에 필터를 적용할 때마다(해당 filter 배열이 비어 있지 않은 경우) 자동으로 true로 설정되며, 표시 객체에 필터가 적용되어 있는 경우에는 cacheAsBitmap 속성을 false로 설정해도 해당 표시 객체에 대해 이 속성이 true로 보고됩니다. 표시 객체의 모든 필터를 지우면 cacheAsBitmap 설정이 최근 설정 내용으로 변경됩니다.
다음과 같은 경우에는 cacheAsBitmap 속성을 true로 설정해도 표시 객체가 비트맵을 사용하지 않고 벡터 데이터에서 렌더링됩니다.
cacheAsBitmap 속성은 대부분의 내용이 정적이고 크기 조절 및 회전을 자주 사용하지 않는 무비 클립에 사용하면 좋습니다. 이러한 무비 클립에서 cacheAsBitmap 속성을 사용하면 무비 클립이 변환될 때 즉, x 및 y 위치가 변경될 때 성능이 향상될 수 있습니다.
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean):void
참고 사항
cacheAsBitmap 속성 값을 추적합니다. 이 값은 필터가 적용되면 true로 설정됩니다.
import flash.display.Sprite; import flash.filters.DropShadowFilter var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); trace(circle.cacheAsBitmap); // false var filter:DropShadowFilter = new DropShadowFilter(); circle.filters = [filter]; trace(circle.cacheAsBitmap); // true
| filters | 속성 |
filters:Array [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
현재 표시 객체와 연관된 각 필터 객체가 들어 있는 인덱싱된 배열입니다. flash.filters 패키지에는 사용 가능한 특정 필터를 정의하는 여러 클래스가 포함되어 있습니다.
필터는 Flash 제작 도구에서 디자인 타임에 적용하거나, 런타임에 ActionScript 코드를 사용하여 적용할 수 있습니다. ActionScript를 사용하여 필터를 적용하려면 전체 filters 배열의 임시 복사본을 만들고, 임시 배열을 수정한 다음 filters 배열에 임시 배열의 값을 다시 지정합니다. 새 filter 객체를 filters 배열에 직접 추가할 수는 없습니다.
ActionScript를 사용하여 필터를 추가하려면 다음 단계를 수행합니다. 여기서 대상 표시 객체의 이름은 myDisplayObject로 가정합니다.
myDisplayObject.filters 배열의 값을 myFilters 등의 임시 배열에 지정합니다.myFilters 임시 배열에 추가합니다.myDisplayObject.filters 배열에 지정합니다.filters 배열이 정의되어 있지 않으면 임시 배열을 사용할 필요가 없습니다. 대신 사용자가 만든 하나 이상의 필터 객체가 포함된 배열 리터럴을 직접 지정할 수 있습니다. 예제 단원의 첫 번째 예제에서는 정의된 filters 배열과 정의되지 않은 배열을 모두 처리하는 코드를 사용하여 그림자 필터를 추가합니다.
기존 필터 객체를 수정하려면 filters 배열의 복사본을 수정해야 합니다.
filters 배열의 값을 myFilters 등의 임시 배열에 지정합니다.myFilters를 사용하여 속성을 수정합니다. 예를 들어, 배열에 있는 첫 번째 필터의 품질 속성을 설정하려면 myFilters[0].quality = 1; 코드를 사용할 수 있습니다.filters 배열에 지정합니다.표시 객체에 연결된 필터가 있는 경우 이 표시 객체를 로드 시 투명 비트맵으로 캐시하라는 표시가 나타납니다. 이때부터 표시 객체에 유효한 필터 목록이 있으면 플레이어는 표시 객체를 비트맵으로 캐시합니다. 이 소스 비트맵은 필터 효과에 대한 소스 이미지로 사용됩니다. 일반적으로 각 표시 객체는 필터링되지 않은 원래의 소스 표시 객체와 필터링된 최종 이미지의 두 비트맵을 가집니다. 최종 이미지는 렌더링 시 사용됩니다. 표시 객체가 변경되지 않으면 최종 이미지는 업데이트할 필요가 없습니다.
flash.filters 패키지에는 필터에 대한 클래스가 포함됩니다. 예를 들어, DropShadow 필터를 만들려면 다음을 작성합니다.
import flash.filters.DropShadowFilter
var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
is 연산자를 사용하여 filter 배열의 각 인덱스 위치에 지정된 필터 유형을 확인할 수 있습니다. 예를 들어, 다음 코드는 filters 배열에서 첫 번째 필터(DropShadowFilter)의 위치를 확인합니다.
import flash.text.TextField;
import flash.filters.*;
var tf:TextField = new TextField();
var filter1:DropShadowFilter = new DropShadowFilter();
var filter2:GradientGlowFilter = new GradientGlowFilter();
tf.filters = [filter1, filter2];
tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0
addChild(tf)
function filterPosition(displayObject:DisplayObject, filterClass:Class):int {
for (var i:uint = 0; i < displayObject.filters.length; i++) {
if (displayObject.filters[i] is filterClass) {
return i;
}
}
return -1;
}
참고: 새 filter 객체를 직접 DisplayObject.filters 배열에 추가할 수 없으므로 다음 코드는 myDisplayObject라는 대상 표시 객체에 아무런 영향을 주지 않습니다.
myDisplayObject.filters.push(myDropShadow);
public function get filters():Array
public function set filters(value:Array):void
참고 사항
| height | 속성 |
height:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체의 높이를 픽셀 단위로 나타냅니다. 높이는 표시 객체 내용의 경계에 따라 계산됩니다. 다음 코드와 같이 height 속성을 설정하면 그에 따라 scaleY 속성이 조절됩니다.
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleY) // 1; rect.height = 200; trace(rect.scaleY) // 2;
TextField 및 Video 객체를 제외하고 빈 스프라이트처럼 내용이 없는 표시 객체는 height를 다른 값으로 설정하려고 해도 높이가 0입니다.
public function get height():Number
public function set height(value:Number):void
textHeight 속성을 기준으로 height 속성을 조정합니다. 또한 y 속성도 설정하여 두 번째 텍스트 필드를 배치합니다.
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
| loaderInfo | 속성 |
loaderInfo:LoaderInfo [read-only]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
이 표시 객체가 속한 파일의 로딩 정보가 포함된 LoaderInfo 객체를 반환합니다. loaderInfo 속성은 SWF 파일의 루트 표시 객체 또는 로드된 비트맵(ActionScript로 그려진 비트맵이 아님)에 대해서만 정의됩니다. myDisplayObject라는 표시 객체를 포함하는 SWF 파일과 연관된 loaderInfo 객체를 찾으려면 myDisplayObject.root.loaderInfo를 사용합니다.
대형 SWF 파일은 this.root.loaderInfo.addEventListener(Event.COMPLETE, func)를 호출하여 다운로드를 모니터링할 수 있습니다.
public function get loaderInfo():LoaderInfo
참고 사항
this가 표시 객체를 가리킨다고 가정합니다. 이 코드는 표시 객체에 대한 루트 SWF 파일의 URL을 출력합니다.
trace(this.loaderInfo.url);
| mask | 속성 |
mask:DisplayObject [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
호출하는 표시 객체는 지정된 mask 객체에 의해 마스크 처리됩니다. 스테이지 크기를 조절할 때 마스크를 적용하려면 mask 표시 객체가 표시 목록에서 활성화된 부분에 있어야 합니다. mask 객체 자체는 그려지지 않습니다. 마스크를 제거하려면 mask를 null로 설정합니다.
마스크 객체의 크기를 조절하려면 마스크 객체가 표시 목록에 있어야 합니다. startDrag() 메서드를 호출하여 마스크 Sprite 객체를 드래그하려면 해당 객체가 표시 목록에 있어야 합니다. Sprite를 통해 전달되는 mouseDown 이벤트를 기준으로 마스크 Sprite에 대한 startDrag() 메서드를 호출하려면 Sprite의 buttonMode 속성을 true로 설정합니다.
public function get mask():DisplayObject
public function set mask(value:DisplayObject):void
drag() 이벤트 리스너 함수가 마스크 Sprite 객체의 startDrag() 메서드를 호출합니다.
import flash.text.TextField;
import flash.display.Sprite;
import flash.events.MouseEvent;
var tf:TextField = new TextField();
tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "
+ "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
tf.selectable = false;
tf.wordWrap = true;
tf.width = 150;
addChild(tf);
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 40, 40);
addChild(square);
tf.mask = square;
tf.addEventListener(MouseEvent.MOUSE_DOWN, drag);
tf.addEventListener(MouseEvent.MOUSE_UP, noDrag);
function drag(event:MouseEvent):void {
square.startDrag();
}
function noDrag(event:MouseEvent):void {
square.stopDrag();
}
| mouseX | 속성 |
mouseX:Number [read-only]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
마우스 위치의 x 좌표를 픽셀 단위로 나타냅니다.
public function get mouseX():Number
mouseX 및 mouseY 위치를 추적합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates);
function traceCoordinates(event:MouseEvent):void {
trace(square.mouseX, square.mouseY);
}
| mouseY | 속성 |
mouseY:Number [read-only]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
마우스 위치의 y 좌표를 픽셀 단위로 나타냅니다.
public function get mouseY():Number
mouseX 및 mouseY 위치를 추적합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates);
function traceCoordinates(event:MouseEvent):void {
trace(square.mouseX, square.mouseY);
}
| name | 속성 |
name:String [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
DisplayObject의 인스턴스 이름을 나타냅니다. 표시 객체 컨테이너의 getChildByName() 메서드를 호출함으로써 부모 표시 객체 컨테이너의 자식 목록에서 객체를 확인할 수 있습니다.
public function get name():String
public function set name(value:String):void
IllegalOperationError — Flash 제작 도구의 타임라인에 배치된 객체에 이 속성을 설정하려는 경우입니다.
|
name 속성을 추적합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFF0000);
circle1.graphics.drawCircle(40, 40, 40);
circle1.name = "circle1";
addChild(circle1);
circle1.addEventListener(MouseEvent.CLICK, traceName);
var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x0000FF);
circle2.graphics.drawCircle(140, 40, 40);
circle2.name = "circle2";
addChild(circle2);
circle2.addEventListener(MouseEvent.CLICK, traceName);
function traceName(event:MouseEvent):void {
trace(event.target.name);
}| opaqueBackground | 속성 |
opaqueBackground:Object [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체를 특정 배경색으로 불투명하게 처리할지 여부를 지정합니다. 투명 비트맵은 알파 채널 데이터를 포함하며 투명하게 그려집니다. 불투명 비트맵은 알파 채널을 포함하지 않으며 투명 비트맵보다 빠르게 렌더링됩니다. 비트맵이 불투명인 경우 사용할 고유 배경색을 지정합니다.
배경색을 숫자 값으로 설정하면 그 숫자에 의해 지정되는 RGB 배경색을 사용한 불투명(투명하지 않은) 표면이 생성됩니다. 배경색을 null(기본값)로 설정하면 표시 객체의 배경은 투명이 됩니다.
opaqueBackground 속성은 렌더링 최적화를 위해 주로 cacheAsBitmap 속성과 함께 사용합니다. cacheAsBitmap 속성이 true로 설정된 표시 객체의 경우 opaqueBackground를 설정하면 렌더링 성능이 향상될 수 있습니다.
불투명 배경 영역은 shapeFlag 매개 변수를 true로 설정하여 hitTestPoint() 메서드를 호출할 경우에는 일치하지 않습니다.
불투명 배경 영역은 마우스 이벤트에 응답하지 않습니다.
public function get opaqueBackground():Object
public function set opaqueBackground(value:Object):void
참고 사항
opaqueBackground 속성을 빨강(0xFF0000)으로 설정합니다.
import flash.display.Shape; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.opaqueBackground = 0xFF0000; addChild(circle);
| parent | 속성 |
parent:DisplayObjectContainer [read-only]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
이 표시 객체가 포함된 DisplayObjectContainer 객체를 나타냅니다. parent 속성을 사용하여 표시 목록 계층 구조에서 현재 표시 객체의 상위 표시 객체에 대한 상대 경로를 지정합니다.
다음과 같이 parent를 사용하여 표시 목록에서 여러 레벨 위로 이동할 수 있습니다.
this.parent.parent.alpha = 20;
public function get parent():DisplayObjectContainer
SecurityError — 부모 표시 객체가 사용자가 액세스할 수 없는 보안 샌드박스에 속합니다. 이러한 상황을 피하려면 부모 무비에서 Security.allowDomain() 메서드를 호출하도록 합니다.
|
parent 속성이 표시 목록 계층 구조를 반영하는 방법을 보여 줍니다.
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; var sprite3:Sprite = new Sprite(); sprite3.name = "sprite3"; sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite2.parent.name); // sprite1 trace(sprite3.parent.name); // sprite2 trace(sprite3.parent.parent.name); // sprite1
| root | 속성 |
root:DisplayObject [read-only]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
로드된 SWF 파일에 있는 표시 객체의 경우, 해당 SWF 파일이 나타내는 표시 목록의 트리 구조 부분에서 맨 위에 위치하는 표시 객체가 root 속성이 됩니다. 로드된 이미지 파일을 나타내는 Bitmap 객체의 경우 Bitmap 객체 자체가 root 속성이 됩니다. 처음으로 로드된 SWF 파일의 기본 클래스 인스턴스의 경우 표시 객체 자체가 root 속성이 됩니다. Stage 객체의 root 속성은 Stage 객체 자체입니다. 표시 목록을 벗어나지만 로드된 SWF 파일 맨 위에 있는 표시 객체의 자식인 표시 객체 컨테이너에 표시 객체를 추가하지 않는 한 해당 표시 목록에 추가하지 않은 모든 표시 객체는 root 속성이 null로 설정됩니다.
예를 들어, Sprite() 생성자 메서드를 호출하여 새 Sprite 객체를 만드는 경우 표시 목록(또는 해당 표시 목록을 벗어나지만 로드된 SWF 파일 맨 위에 있는 표시 객체의 자식인 표시 객체 컨테이너)에 이 객체를 추가하지 않는 한 객체의 root 속성은 null입니다.
로드된 SWF 파일의 경우 파일을 로드하는 데 사용된 Loader 객체가 표시 목록에 없을 수도 있지만, SWF 파일 맨 위에 있는 표시 객체는 그 값이 객체 자체로 설정된 root 속성을 갖습니다. root 속성이 설정되는 대상 표시 객체의 자식으로 추가되지 않으면 Loader 객체는 해당 root 속성을 설정하지 않습니다.
public function get root():DisplayObject
root 속성의 차이를 보여 줍니다.
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
trace(stage.root); // [object Stage]
var ldr:Loader = new Loader();
trace(ldr.root); // null
addChild(ldr);
trace(ldr.root); // [object ...]
var urlReq:URLRequest = new URLRequest("example.jpg");
ldr.load(urlReq);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event):void {
trace(ldr.content.root); // [object Bitmap]
}| rotation | 속성 |
rotation:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
DisplayObject 인스턴스가 원점으로부터 회전한 각도입니다. 0~180 사이의 값은 시계 방향 회전을 나타내고 0~-180 사이의 값은 시계 반대 방향 회전을 나타냅니다. 이 범위를 벗어나는 값은 360을 더하거나 빼서 범위 내의 값을 구합니다. 예를 들어, my_video.rotation = 450 문은 my_video.rotation = 90 문과 같습니다.
public function get rotation():Number
public function set rotation(value:Number):void
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(-50, -50, 100, 100);
square.x = 150;
square.y = 150;
addChild(square);
square.addEventListener(MouseEvent.CLICK, rotate);
function rotate(event:MouseEvent):void {
square.rotation += 15;
}| scale9Grid | 속성 |
scale9Grid:Rectangle [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
현재 적용 중인 크기 조절 격자입니다. null로 설정된 경우 크기 조절 변형을 적용하면 전체 표시 객체의 크기가 정상적으로 조절됩니다.
scale9Grid 속성을 정의하면 표시 객체가 격자의 중심을 정의하는 scale9Grid 사각형을 기준으로 9개의 영역이 있는 격자로 분리됩니다. 격자의 나머지 8개 영역은 다음과 같습니다.
중심 바깥쪽에 있는 8개 영역(사각형에 의해 정의됨)은 크기를 조절할 때 특별한 규칙이 적용된 그림 프레임으로 간주할 수 있습니다.
scale9Grid 속성이 설정된 상태에서 표시 객체의 크기를 조절하면 모든 텍스트와 그래디언트의 크기가 정상적으로 조절되지만 다른 유형의 객체에는 다음과 같은 규칙이 적용됩니다.
표시 객체가 회전되면 이후의 모든 크기 조절은 정상적으로 수행되며 scale9Grid 속성은 무시됩니다.
예를 들어, 다음과 같이 표시 객체와 이 표시 객체의 scale9Grid 속성으로 적용되는 사각형을 생각해 볼 수 있습니다.
표시 객체입니다. |
빨간색 사각형이 |
표시 객체의 크기를 조절하거나 확장하는 경우 사각형 안의 객체는 정상적으로 크기가 조절되지만 사각형 밖의 객체는 scale9Grid 규칙에 따라 크기가 조절됩니다.
| 75%로 크기 조절 | ![]() |
| 50%로 크기 조절 | ![]() |
| 25%로 크기 조절 | ![]() |
| 가로로 150% 확장 | ![]() |
scale9Grid 설정은 구성 요소로 사용할 표시 객체를 설정하는 데 주로 사용되며, 구성 요소의 크기를 조절할 때 가장자리 영역은 같은 폭을 유지합니다.
public function get scale9Grid():Rectangle
public function set scale9Grid(value:Rectangle):void
ArgumentError — 유효하지 않은 인수를 메서드로 전달하는 경우입니다.
|
참고 사항
graphics 속성에서 그려진 사각형을 갖는 Shape 객체를 만듭니다. 사각형은 테두리로 20픽셀 두께의 선을 사용하며 그래디언트로 채워집니다. 타이머 이벤트가 scale() 함수를 호출하고 이 함수는 scaleX 및 scaleY 속성을 조정하여 Shape 객체의 크기를 조절합니다. Shape 객체에 적용된 scale9Grid는 사각형의 테두리 선 크기가 조절되지 않도록 하며 그래디언트 채우기에 의해서만 크기가 조절됩니다.
import flash.display.Shape;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.InterpolationMethod;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.utils.Timer;
import flash.events.TimerEvent;
var square:Shape = new Shape();
square.graphics.lineStyle(20, 0xFFCC00);
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10);
square.graphics.beginGradientFill(GradientType.RADIAL,
[0xffff00, 0x0000ff],
[100, 100],
[0, 0xFF],
gradientMatrix,
SpreadMethod.REFLECT,
InterpolationMethod.RGB,
0.9);
square.graphics.drawRect(0, 0, 100, 100);
var grid:Rectangle = new Rectangle(20, 20, 60, 60);
square.scale9Grid = grid ;
addChild(square);
var tim:Timer = new Timer(100);
tim.start();
tim.addEventListener(TimerEvent.TIMER, scale);
var scaleFactor:Number = 1.01;
function scale(event:TimerEvent):void {
square.scaleX *= scaleFactor;
square.scaleY *= scaleFactor;
if (square.scaleX > 2.0) {
scaleFactor = 0.99;
}
if (square.scaleX < 1.0) {
scaleFactor = 1.01;
}
}| scaleX | 속성 |
scaleX:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
등록 포인트에서 적용된 객체의 가로 크기(percentage)를 나타냅니다. 기본 등록 포인트는 (0,0)입니다. 1.0은 100% 크기와 같습니다.
로컬 좌표계의 크기 조절은 전체 픽셀에 정의된 x 및 y 속성 설정에 영향을 줍니다.
public function get scaleX():Number
public function set scaleX(value:Number):void
graphics 속성에서 그려진 사각형을 갖는 Sprite 객체를 만듭니다. 사용자가 Sprite 객체를 클릭하면 크기가 10% 확대됩니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, scale);
function scale(event:MouseEvent):void {
square.scaleX *= 1.10;
square.scaleY *= 1.10;
}| scaleY | 속성 |
scaleY:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
객체의 등록 포인트에서 적용된 객체의 세로 크기(percentage)를 나타냅니다. 기본 등록 포인트는 (0,0)입니다. 1.0은 100% 크기와 같습니다.
로컬 좌표계의 크기 조절은 전체 픽셀에 정의된 x 및 y 속성 설정에 영향을 줍니다.
public function get scaleY():Number
public function set scaleY(value:Number):void
graphics 속성에서 그려진 사각형을 갖는 Sprite 객체를 만듭니다. 사용자가 Sprite 객체를 클릭하면 크기가 10% 확대됩니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, scale);
function scale(event:MouseEvent):void {
square.scaleX *= 1.10;
square.scaleY *= 1.10;
}| scrollRect | 속성 |
scrollRect:Rectangle [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체의 스크롤 사각형 경계입니다. 표시 객체는 사각형에 의해 정의된 크기로 잘리고, 사용자가 scrollRect 객체의 x 및 y 속성을 변경할 때 해당 사각형 내에서 스크롤합니다.
scrollRect Rectangle 객체의 속성은 표시 객체의 좌표 공간을 사용하며 전체 표시 객체처럼 크기가 조절됩니다. 스크롤하는 표시 객체에서 잘려진 창의 모서리 경계는 표시 객체의 원점(0,0) 및 사각형의 폭과 높이에 의해 정의된 점입니다. 이러한 점은 원점 근처인 가운데에 배치되지 않습니다. 영역의 왼쪽 위 모서리를 원점을 사용하여 정의합니다. 스크롤된 표시 객체는 항상 전체 픽셀 증분 내에서 스크롤됩니다.
scrollRect Rectangle 객체의 x 속성을 설정하여 객체를 좌우로 스크롤할 수 있습니다. scrollRect Rectangle 객체의 y 속성을 설정하여 객체를 상하로 스크롤할 수 있습니다. 표시 객체를 90° 회전하고 좌우로 스크롤하면 실제로는 해당 표시 객체가 상하로 스크롤된 것입니다.
public function get scrollRect():Rectangle
public function set scrollRect(value:Rectangle):void
참고 사항
scrollRect 속성이 표시 객체 circle의 스크롤 영역을 정의하는 방법을 보여 줍니다. circle 객체를 클릭하면 clicked() 이벤트 핸들러 메서드가 circle 객체에 대한 scrollRect 속성의 y 속성을 정의하여 객체를 아래로 스크롤합니다.
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(200, 200, 200);
circle.scrollRect = new Rectangle(0, 0, 200, 200);
addChild(circle);
circle.addEventListener(MouseEvent.CLICK, clicked);
function clicked(event:MouseEvent):void {
var rect:Rectangle = event.target.scrollRect;
rect.y -= 5;
event.target.scrollRect = rect;
}
| stage | 속성 |
stage:Stage [read-only]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체의 Stage입니다. Flash 응용 프로그램에는 Stage 객체가 한 개뿐입니다. 예를 들어, 여러 표시 객체를 만들어 표시 목록에 로드하는 경우 각 표시 객체의 stage 속성은 동일한 Stage 객체를 나타내며, 로드된 SWF 파일에 속한 표시 목록의 경우에도 마찬가지입니다.
표시 객체가 표시 목록에 추가되지 않은 경우 해당 stage 속성은 null로 설정됩니다.
public function get stage():Stage
width 속성을 사용하여 텍스트 필드를 배치합니다.
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.x = 10; addChild(tf1); tf1.width = tf1.stage.stageWidth / 2 - 10; var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.x = tf1.x + tf1.width + 5; addChild(tf2); tf2.width = tf2.stage.stageWidth / 2 - 10; trace(stage.stageWidth);
| transform | 속성 |
transform:Transform [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체의 행렬, 색상 변환 및 픽셀 경계와 관련된 속성을 가진 객체입니다. 특수 속성인 matrix, colorTransform 및 세 가지 읽기 전용 속성(concatenatedMatrix, concatenatedColorTransform 및 pixelBounds)은 Transform 클래스에 대한 항목에 설명되어 있습니다.
transform 객체의 각 속성들은 그 자체가 객체입니다. matrix 또는 colorTransform 객체에 새 값을 설정하는 방법은 새 객체를 만들고 해당 객체를 transform.matrix 또는 transform.colorTransform 속성에 복사하는 방법 한 가지뿐이므로 이 사항은 매우 중요합니다.
예를 들어, 표시 객체 행렬의 tx 값을 늘리려면 전체 행렬 객체의 복사본을 만들고 새 객체를 변환 객체의 행렬 속성에 복사해야 합니다.
var myMatrix:Object = myDisplayObject.transform.matrix; myMatrix.tx += 10; myDisplayObject.transform.matrix = myMatrix;
tx 속성은 직접 설정할 수 없습니다. 다음 코드는 myDisplayObject에 아무런 영향을 주지 않습니다.
myDisplayObject.transform.matrix.tx += 10;
또한 전체 변환 객체를 복사하여 이 객체를 다른 표시 객체의 변환 속성에 지정할 수도 있습니다. 예를 들어, 다음 코드에서는 전체 변환 객체를 myOldDisplayObj에서 myNewDisplayObj로 복사합니다.
myNewDisplayObj.transform = myOldDisplayObj.transform;
이제 결과 표시 객체인 myNewDisplayObj의 행렬, 색상 변환 및 픽셀 경계에 대한 값은 이전 표시 객체인 myOldDisplayObj의 값과 같습니다.
public function get transform():Transform
public function set transform(value:Transform):void
참고 사항
square Sprite 객체를 설정합니다. 사용자가 Sprite를 클릭하면 transformer() 메서드는 해당 Sprite에 대한 transform 속성의 colorTransform 및 matrix 속성을 조정합니다.
import flash.display.Sprite;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Transform;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.lineStyle(20, 0xFF2200);
square.graphics.beginFill(0x0000DD);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
var resultColorTransform:ColorTransform = new ColorTransform();
resultColorTransform.alphaMultiplier = 0.5;
resultColorTransform.redOffset = 155;
resultColorTransform.greenMultiplier = 0.5;
var skewMatrix:Matrix = new Matrix(1, 1, 0, 1);
square.addEventListener(MouseEvent.CLICK, transformer);
function transformer(event:MouseEvent):void {
var transformation:Transform = square.transform;
var tempMatrix:Matrix = square.transform.matrix;
tempMatrix.concat(skewMatrix);
square.transform.colorTransform = resultColorTransform;
square.transform.matrix = tempMatrix;
}| visible | 속성 |
visible:Boolean [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체가 표시되는지 여부를 나타냅니다. 표시되지 않는 표시 객체는 비활성화됩니다. 예를 들어, InteractiveObject 인스턴스에 대해 visible=false이면 이를 클릭할 수 없습니다.
public function get visible():Boolean
public function set visible(value:Boolean):void
visible 속성을 주기적으로 변경하는 함수를 호출함으로써 깜박이는 효과를 냅니다.
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.TimerEvent;
var tf:TextField = new TextField();
tf.text = "Hello.";
addChild(tf);
var tim:Timer = new Timer(250);
tim.start();
tim.addEventListener(TimerEvent.TIMER, blinker);
function blinker(event:TimerEvent):void {
tf.visible = !tf.visible;
}| width | 속성 |
width:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체의 폭을 픽셀 단위로 나타냅니다. 폭은 표시 객체 내용의 경계에 따라 계산됩니다. 다음 코드와 같이 width 속성을 설정하면 그에 따라 scaleX 속성이 조절됩니다.
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleX) // 1; rect.width = 200; trace(rect.scaleX) // 2;
TextField 및 Video 객체를 제외하고 빈 스프라이트처럼 내용이 없는 표시 객체는 width를 다른 값으로 설정하려고 해도 폭이 0입니다.
public function get width():Number
public function set width(value:Number):void
square Sprite 객체를 설정합니다. 사용자가 Sprite 객체를 클릭하면 widen() 메서드가 Sprite의 width 속성을 증가시킵니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, widen);
function widen(event:MouseEvent):void {
square.width += 10;
}| x | 속성 |
x:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 x 좌표를 나타냅니다. 변형이 있는 DisplayObjectContainer 내부의 객체는 해당하는 DisplayObjectContainer의 로컬 좌표계에 속합니다. 그러므로 DisplayObjectContainer를 시계 반대 방향으로 90° 회전시킬 경우, DisplayObjectContainer의 자식은 시계 반대 방향으로 90° 회전된 좌표계를 상속받게 됩니다. 객체의 좌표계는 등록 포인트의 위치를 가리킵니다.
public function get x():Number
public function set x(value:Number):void
circle Sprite 객체를 설정합니다. Timer 객체를 사용하여 Sprite의 x 속성을 50밀리초 간격으로 변경합니다.
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(100, 100, 100);
addChild(circle);
var tim:Timer = new Timer(50);
tim.start();
tim.addEventListener(TimerEvent.TIMER, bounce);
var xInc:Number = 2;
function bounce(event:TimerEvent):void {
circle.x += xInc;
if (circle.x > circle.width) {
xInc = -2;
}
if (circle.x < 0) {
xInc = 2;
}
}| y | 속성 |
y:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 y 좌표를 나타냅니다. 변형이 있는 DisplayObjectContainer 내부의 객체는 해당하는 DisplayObjectContainer의 로컬 좌표계에 속합니다. 그러므로 DisplayObjectContainer를 시계 반대 방향으로 90° 회전시킬 경우, DisplayObjectContainer의 자식은 시계 반대 방향으로 90° 회전된 좌표계를 상속받게 됩니다. 객체의 좌표계는 등록 포인트의 위치를 가리킵니다.
public function get y():Number
public function set y(value:Number):void
textHeight 속성을 기준으로 height 속성을 조정합니다. 또한 y 속성도 설정하여 두 번째 텍스트 필드를 배치합니다.
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
| getBounds | () | 메서드 |
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체의 영역을 정의하는 사각형을 반환합니다. 다음 코드는 메서드에 전달한 targetCoordinateSpace 매개 변수에 따라 반환된 사각형이 달라지는 결과를 보여 줍니다.
var container:Sprite = new Sprite();
container.x = 100;
container.y = 100;
this.addChild(container);
var contents:Shape = new Shape();
contents.graphics.drawCircle(0,0,100);
container.addChild(contents);
trace(contents.getBounds(container));
// (x=-100, y=-100, w=200, h=200)
trace(contents.getBounds(this));
// (x=0, y=0, w=200, h=200)
참고: localToGlobal() 및 globalToLocal() 메서드를 사용하면 표시 객체의 로컬 좌표를 표시 좌표로, 또는 표시 좌표를 로컬 좌표로 각각 변환할 수 있습니다.
getBounds() 메서드는 getRect() 메서드와 유사하지만, getBounds() 메서드가 반환한 사각형에는 모양에 획이 있고 getRect() 메서드가 반환한 사각형에는 획이 없다는 점이 다릅니다. 이에 대한 예제는 getRect() 메서드 설명 부분을 참조하십시오.
매개 변수
targetCoordinateSpace:DisplayObject — 사용할 좌표계를 정의하는 표시 객체입니다.
|
Rectangle — targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체 영역을 정의하는 사각형입니다.
|
참고 사항
| getRect | () | 메서드 |
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
targetCoordinateSpace 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다. getRect() 메서드에서 반환된 값은 getBounds() 메서드에서 반환된 값보다 작거나 같습니다.
참고: localToGlobal() 및 globalToLocal() 메서드를 사용하면 표시 객체의 로컬 좌표를 스테이지 좌표로, 또는 스테이지 좌표를 로컬 좌표로 각각 변환할 수 있습니다.
매개 변수
targetCoordinateSpace:DisplayObject — 사용할 좌표계를 정의하는 표시 객체입니다.
|
Rectangle — targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체 영역을 정의하는 사각형입니다.
|
참고 사항
getBounds() 메서드가 getRect() 메서드보다 더 큰 사각형을 반환하는 결과를 보여 줍니다. 이 경우 triangle Sprite에는 lineStyle() 메서드의 width 및 jointStyle 매개 변수로 인해 추가 획이 포함됩니다. trace() 출력(마지막 두 줄)에 getRect() 사각형과 getBounds() 사각형의 차이가 표시됩니다.import flash.display.CapsStyle; import flash.display.JointStyle; import flash.display.LineScaleMode; import flash.display.Sprite; import flash.geom.Rectangle; var triangle:Sprite = new Sprite(); var color:uint = 0xFF0044; var lineWidth:Number = 20; var lineAlpha:Number = 1.0; var pixelHinting:Boolean = true; var scaleMode:String = LineScaleMode.NORMAL; var caps:String = CapsStyle.SQUARE; var joints:String = JointStyle.MITER; triangle.graphics.lineStyle(lineWidth, color, lineAlpha, pixelHinting, scaleMode, caps, joints); var triangleSide:Number = 100; triangle.graphics.moveTo(0, 0); triangle.graphics.lineTo(0, triangleSide); triangle.graphics.lineTo(triangleSide, triangleSide); triangle.graphics.lineTo(0, 0); addChild(triangle); trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.1, h=134.1) trace(triangle.getRect(this)); // (x=0, y=0, w=100, h=100)
| globalToLocal | () | 메서드 |
public function globalToLocal(point:Point):Point
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
point 객체를 스테이지 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다.
이 메서드를 사용하려면 먼저 Point 클래스의 인스턴스를 만듭니다. 지정하는 x 및 y 값은 기본 표시 영역의 원점(0,0)을 기준으로 하기 때문에 전역 좌표를 나타냅니다. 그런 다음 Point 인스턴스를 globalToLocal() 메서드에 매개 변수로 전달합니다. 이 메서드는 표시 객체의 원점이 아니라 Stage의 원점을 기준으로 x 및 y 값을 갖는 새 Point 객체를 반환합니다.
매개 변수
point:Point — Point 클래스를 사용하여 만든 객체입니다. Point 객체는 x 및 y 좌표를 속성으로 지정합니다.
|
Point — 표시 객체 기준의 좌표를 갖는 Point 객체입니다.
|
참고 사항
hitTestPoint() 메서드를 호출한 결과를 보여 줍니다. globalToLocal() 메서드는 Stage 좌표의 점을 해당 모양의 좌표 공간으로 변환합니다.
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
| hitTestObject | () | 메서드 |
public function hitTestObject(obj:DisplayObject):Boolean
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체를 평가하여 obj 표시 객체와 겹치거나 교차하는지 확인합니다.
매개 변수
obj:DisplayObject — 테스트할 표시 객체입니다.
|
Boolean — 표시 객체가 교차하면 true이고, 그렇지 않으면 false입니다.
|
hitTestObject() 메서드를 호출한 결과를 보여 줍니다.
import flash.display.Shape; var circle1:Shape = new Shape(); circle1.graphics.beginFill(0x0000FF); circle1.graphics.drawCircle(40, 40, 40); addChild(circle1); var circle2:Shape = new Shape(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(40, 40, 40); circle2.x = 50; addChild(circle2); var circle3:Shape = new Shape(); circle3.graphics.beginFill(0xFF0000); circle3.graphics.drawCircle(40, 40, 40); circle3.x = 100; circle3.y = 67; addChild(circle3); trace(circle1.hitTestObject(circle2)); // true trace(circle1.hitTestObject(circle3)); // false trace(circle2.hitTestObject(circle3)); // true
| hitTestPoint | () | 메서드 |
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다. x 및 y 매개 변수는 표시 객체 컨테이너가 스테이지가 아닌 한 표시 객체를 포함하는 표시 객체 컨테이너가 아닌 스테이지의 좌표 공간에 점을 지정합니다.
매개 변수
x:Number — 이 객체에 대해 테스트할 x 좌표입니다.
|
|
y:Number — 이 객체에 대해 테스트할 y 좌표입니다.
|
|
shapeFlag:Boolean (default = false) — 객체(true)의 실제 픽셀을 검사할 것인지 아니면 경계 상자(false)를 검사할 것인지를 나타냅니다.
|
Boolean — 표시 객체가 지정된 점과 겹치거나 교차하면 true이고, 그렇지 않으면 false입니다.
|
참고 사항
hitTestPoint() 메서드를 호출한 결과를 보여 줍니다. globalToLocal() 메서드는 Stage 좌표의 점을 해당 모양의 좌표 공간으로 변환합니다.
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
| localToGlobal | () | 메서드 |
public function localToGlobal(point:Point):Point
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
point 객체를 표시 객체의 로컬 좌표에서 스테이지 전역 좌표로 변환합니다.
이 메서드를 사용하면 지정된 x 및 y 좌표를 특정 표시 객체의 원점(0,0)을 기준으로 하는 값(로컬 좌표)에서 Stage 원점을 기준으로 하는 값(전역 좌표)으로 변환할 수 있습니다.
이 메서드를 사용하려면 먼저 Point 클래스의 인스턴스를 만듭니다. 지정하는 x 및 y 값은 표시 객체의 원점을 기준으로 하기 때문에 로컬 좌표를 나타냅니다.
그런 다음, 만들어진 Point 인스턴스를 localToGlobal() 메서드에 매개 변수로 전달합니다. 이 메서드는 표시 객체의 원점이 아니라 Stage 원점을 기준으로 x 및 y 값을 갖는 새 Point 객체를 반환합니다.
매개 변수
point:Point — Point 클래스를 사용하여 만든 점의 이름 또는 식별자로, x 및 y 좌표를 속성으로 지정합니다.
|
Point — Stage 기준의 좌표를 갖는 Point 객체입니다.
|
참고 사항
mouseX 및 mouseY 속성은 표시 객체의 좌표 공간에 있습니다. 이 코드에서는 localToGlobal() 메서드를 사용하여 이러한 속성을 Stage 전역 좌표로 변환합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
square.x = 100;
square.y = 200;
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates)
function traceCoordinates(event:MouseEvent):void {
var clickPoint:Point = new Point(square.mouseX, square.mouseY);
trace("display object coordinates:", clickPoint);
trace("stage coordinates:", square.localToGlobal(clickPoint));
}| added | 이벤트 |
flash.events.Event
flash.events.Event.ADDED
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체가 표시 목록에 추가될 때 전달됩니다. DisplayObjectContainer.addChild() 및 DisplayObjectContainer.addChildAt() 메서드가 이 이벤트를 트리거합니다.
added 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | true |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 표시 목록에 추가할 DisplayObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
참고 사항
| addedToStage | 이벤트 |
flash.events.Event
flash.events.Event.ADDED_TO_STAGE
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9.0.28.0 |
표시 객체가 Stage 표시 목록에 추가될 때 표시 객체가 포함된 하위 트리 이외의 트리에서 직접 또는 해당 트리를 통해서 전달됩니다. DisplayObjectContainer.addChild() 및 DisplayObjectContainer.addChildAt() 메서드가 이 이벤트를 트리거합니다.
addedToStage 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | DisplayObject 인스턴스가 포함된 하위 트리 추가를 통해 또는 직접, 스테이지 표시 목록에 추가되는 DisplayObject 인스턴스입니다. DisplayObject 인스턴스가 직접 추가되는 경우에는 이 이벤트 전에 added 이벤트가 발생합니다. |
참고 사항
| enterFrame | 이벤트 |
flash.events.Event
flash.events.Event.ENTER_FRAME
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
재생 헤드가 새 프레임에 들어갈 때 전달됩니다. 재생 헤드가 이동하지 않거나 프레임이 하나만 있을 경우 이 이벤트는 프레임 속도와 연동하여 계속해서 전달됩니다. 이 이벤트는 수신하는 모든 표시 객체에 동시에 전달됩니다.
enterFrame 이벤트 객체의 type 속성 값을 정의합니다.
참고: 이 이벤트는 "캡처 단계"를 통과하지 않으며 대상이 표시 목록에 있는지 여부에 관계없이 대상으로 직접 전달됩니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | ENTER_FRAME 이벤트에 대한 리스너가 등록되어 있는 모든 DisplayObject 인스턴스입니다. |
| removed | 이벤트 |
flash.events.Event
flash.events.Event.REMOVED
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 객체가 표시 목록에서 제거되기 직전에 전달됩니다. DisplayObjectContainer 클래스의 removeChild() 및 removeChildAt() 메서드가 이 이벤트를 생성합니다.
새 객체를 위한 공간을 확보하기 위해 특정 객체를 제거해야 하는 경우 DisplayObjectContainer 객체의 addChild(), addChildAt() 및 setChildIndex() 메서드도 이 이벤트를 생성합니다.
removed 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | true |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 표시 목록에서 제거할 DisplayObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
| removedFromStage | 이벤트 |
flash.events.Event
flash.events.Event.REMOVED_FROM_STAGE
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9.0.28.0 |
표시 객체가 Stage 표시 목록에서 제거될 때 표시 객체가 포함된 하위 트리에서 직접 또는 해당 트리를 제거함으로써 전달됩니다. DisplayObjectContainer 클래스의 removeChild() 및 removeChildAt() 메서드가 이 이벤트를 생성합니다.
새 객체를 위한 공간을 확보하기 위해 특정 객체를 제거해야 하는 경우 DisplayObjectContainer 객체의 addChild(), addChildAt() 및 setChildIndex() 메서드도 이 이벤트를 생성합니다.
removedFromStage 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false; 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | DisplayObject 인스턴스가 포함된 하위 트리의 제거를 통해 또는 직접, 스테이지 표시 목록에서 제거되는 DisplayObject 인스턴스입니다. DisplayObject 인스턴스가 직접 추가되는 경우에는 이 이벤트 전에 removed 이벤트가 발생합니다. |
| render | 이벤트 |
flash.events.Event
flash.events.Event.RENDER
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
표시 목록이 업데이트 및 렌더링되기 직전에 전달됩니다. 이 이벤트는 표시 목록이 렌더링되기 전에 이 이벤트를 수신하는 객체가 변경을 수행할 수 있는 마지막 기회를 제공합니다. Flash Player는 표시 목록을 기본 비헤이비어로 렌더링합니다. Flash Player에서 render 이벤트를 보내도록 하려고 할 때마다 Stage 객체의 invalidate() 메서드를 호출해야 합니다. Render 이벤트는 Stage.invalidate()를 호출한 객체와 상호 신뢰가 설정된 객체로만 전달됩니다.
참고: 이 이벤트는 Flash Player 창이 렌더링되지 않는 경우에는 전달되지 않습니다. Flash Player 창이 최소화되어 있거나 가려져 있으면 렌더링되지 않습니다.
render 이벤트 객체의 type 속성 값을 정의합니다.
참고: 이 이벤트는 "캡처 단계"를 통과하지 않으며 대상이 표시 목록에 있는지 여부에 관계없이 대상으로 직접 전달됩니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false: 기본 비헤이비어를 취소할 수 없습니다. |
currentTarget | 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | RENDER 이벤트에 대한 리스너가 등록되어 있는 모든 DisplayObject 인스턴스입니다. |
DisplayObjectExample 클래스를 사용하여 Stage의 모서리에 주황색 사각형을 그린 후 각 이벤트에 대한 텍스트 정보를 표시함으로써 이벤트에 응답합니다. 이는 다음 단계로 이루어집니다.
draw() 메서드를 호출하여 Stage의 기본 좌표(x = 0, y = 0)에 주황색 사각형을 그립니다.addedHandler()가 added 이벤트를 수신합니다. 이 이벤트는 표시 목록에 사각형이 추가될 때 전달됩니다.enterFrameHandler()가 enterFrame 이벤트를 수신합니다. 이 이벤트는 이 예제에서는 실질적인 의미가 없습니다.removedHandler()가 removed 이벤트를 수신합니다. 이 이벤트는 사각형을 클릭하여 표시 목록에서 제거할 때 전달됩니다.clickHandler()가 click 이벤트를 수신합니다. 이 이벤트는 주황색 사각형을 클릭할 때 전달됩니다.renderHandler()가 render 이벤트를 수신합니다.
package {
import flash.display.Sprite;
public class DisplayObjectExample extends Sprite {
public function DisplayObjectExample() {
var child:CustomDisplayObject = new CustomDisplayObject();
addChild(child);
}
}
}
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
class CustomDisplayObject extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
public function CustomDisplayObject() {
draw();
addEventListener(Event.ADDED, addedHandler);
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
addEventListener(Event.REMOVED, removedHandler);
addEventListener(MouseEvent.CLICK, clickHandler);
addEventListener(Event.RENDER, renderHandler);
}
private function draw():void {
graphics.beginFill(bgColor);
graphics.drawRect(0, 0, size, size);
graphics.endFill();
}
private function clickHandler(event:MouseEvent):void {
trace("clickHandler: " + event);
parent.removeChild(this);
}
private function addedHandler(event:Event):void {
trace("addedHandler: " + event);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener("resize", resizeHandler);
}
private function enterFrameHandler(event:Event):void {
trace("enterFrameHandler: " + event);
removeEventListener("enterFrame", enterFrameHandler);
}
private function removedHandler(event:Event):void {
trace("removedHandler: " + event);
stage.removeEventListener("resize", resizeHandler);
}
private function renderHandler(event:Event):void {
trace("renderHandler: " + event);
}
private function resizeHandler(event:Event):void {
trace("resizeHandler: " + event);
}
}
이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/display/DisplayObject.html