패키지flash.display
클래스public class DisplayObject
상속DisplayObject Inheritance EventDispatcher Inheritance Object
구현 IBitmapDrawable
하위 클래스 AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

DisplayObject 클래스는 표시 목록에 배치할 수 있는 모든 객체의 기본 클래스입니다. 표시 목록은 Flash Player에 표시된 모든 객체를 관리합니다. 표시 목록의 표시 객체를 정렬하려면 DisplayObjectContainer 클래스를 사용합니다. DisplayObjectContainer 객체는 자식 표시 객체를 가질 수 있지만, Shape 및 TextField 등의 다른 표시 객체는 자식이 아닌 부모 및 형제 표시 객체만 갖는 "리프" 노드입니다.

DisplayObject 클래스는 객체의 xy 위치 같은 기본 기능뿐 아니라 변형 행렬 등의 고급 객체 속성을 지원합니다.

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 프로그래밍 설명서의 "디스플레이 프로그래밍" 장을 참조하십시오.

예제를 통해 확인하십시오.

참고 사항

flash.display.DisplayObjectContainer
기본 표시 클래스
DisplayObject 클래스의 속성 및 메서드
예제: 표시 객체에 행렬 변환 적용


Public 속성
 속성다음에 의해 정의됨
  accessibilityProperties : AccessibilityProperties
이 표시 객체의 현재 액세스 가능성 옵션입니다.
DisplayObject
  alpha : Number
지정된 객체의 알파 투명도 값을 나타냅니다.
DisplayObject
  blendMode : String
사용할 블렌드 모드를 지정하는 BlendMode 클래스 값입니다.
DisplayObject
  cacheAsBitmap : Boolean
true로 설정된 경우, Flash Player는 표시 객체의 내부 비트맵 표현을 캐시합니다.
DisplayObject
 Inheritedconstructor : 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
 Inheritedprototype : 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
Public 메서드
 메서드다음에 의해 정의됨
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
  
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체의 영역을 정의하는 사각형을 반환합니다.
DisplayObject
  
getRect(targetCoordinateSpace:DisplayObject):Rectangle
대상 좌표 공간 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다.
DisplayObject
  
Point 객체를 Stage 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다.
DisplayObject
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
  
표시 객체를 평가하여 표시 객체와 겹치거나 교차하는지 확인합니다.
DisplayObject
  
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다.
DisplayObject
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
  
Point 객체를 표시 객체의 로컬 좌표에서 Stage 전역 좌표로 변환합니다.
DisplayObject
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher 객체에서 리스너를 제거합니다.
EventDispatcher
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 다음에 의해 정의됨
 Inherited Flash Player가 운영 체제에서 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
   표시 객체를 표시 목록에 추가할 때 전달됩니다.DisplayObject
   표시 객체가 포함된 하위 트리를 추가하거나 또는 표시 객체를 스테이지 표시 목록에 직접 추가할 때 전달됩니다.DisplayObject
 Inherited 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

참고 사항


예제

다음 예제에서는 단순한 AccessibilityProperties 객체를 TextField 인스턴스에 연결하는 방법을 보여 줍니다.

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

예제

다음 코드는 마우스가 Sprite 위로 움직일 때 Sprite의 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는 무비 클립 픽셀의 각 색상 요소와 배경 픽셀의 대응하는 각 색상 요소를 비교합니다. 예를 들어, blendModeBlendMode.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표시 객체에 있는 각 픽셀의 알파 값을 배경에 적용합니다. 부모 표시 객체의 blendModeBlendMode.LAYER로 설정해야 합니다. 예를 들어, 그림에서 부모 표시 객체(흰색 배경)는 blendMode = BlendMode.LAYER를 가집니다.
BlendMode.ERASE표시 객체의 알파 값을 기준으로 배경을 지웁니다. 부모 표시 객체의 blendModeBlendMode.LAYER로 설정해야 합니다. 예를 들어, 그림에서 부모 표시 객체(흰색 배경)는 blendMode = BlendMode.LAYER를 가집니다.
BlendMode.OVERLAY배경의 어두운 정도를 기준으로 각 픽셀의 색상을 조정합니다. 배경이 50% 회색보다 밝으면 표시 객체와 배경색이 차단되어 결과적으로 더 밝아집니다. 배경이 50% 회색보다 어두우면 색상이 곱해져서 결과적으로 더 어두워집니다. 이 설정은 음영 효과에 주로 사용됩니다.
BlendMode.HARDLIGHT표시 객체의 어두운 정도를 기준으로 각 픽셀의 색상을 조정합니다. 표시 객체가 50% 회색보다 밝으면 표시 객체와 배경의 색상이 차단되어 결과적으로 더 밝아집니다. 표시 객체가 50% 회색보다 어두우면 색상이 곱해져서 결과적으로 더 어두워집니다. 이 설정은 음영 효과에 주로 사용됩니다.


구현
    public function get blendMode():String
    public function set blendMode(value:String):void

참고 사항


예제

다음 코드는 사각형 및 원 Sprite 객체를 두 개 만들고, 포인터가 원 위를 움직일 때 원(전경)의 블렌드 모드를 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 속성을 사용하면 무비 클립이 변환될 때 즉, xy 위치가 변경될 때 성능이 향상될 수 있습니다.


구현
    public function get cacheAsBitmap():Boolean
    public function set cacheAsBitmap(value:Boolean):void

참고 사항


예제

다음 예제에서는 Shape 인스턴스에 그림자를 적용합니다. 그런 다음 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로 가정합니다.

  1. 사용자가 선택한 필터 클래스의 생성자 메서드를 사용하여 새 필터 객체를 만듭니다.
  2. myDisplayObject.filters 배열의 값을 myFilters 등의 임시 배열에 지정합니다.
  3. 새 필터 객체를 myFilters 임시 배열에 추가합니다.
  4. 임시 배열의 값을 myDisplayObject.filters 배열에 지정합니다.

filters 배열이 정의되어 있지 않으면 임시 배열을 사용할 필요가 없습니다. 대신 사용자가 만든 하나 이상의 필터 객체가 포함된 배열 리터럴을 직접 지정할 수 있습니다. 예제 단원의 첫 번째 예제에서는 정의된 filters 배열과 정의되지 않은 배열을 모두 처리하는 코드를 사용하여 그림자 필터를 추가합니다.

기존 필터 객체를 수정하려면 filters 배열의 복사본을 수정해야 합니다.

  1. filters 배열의 값을 myFilters 등의 임시 배열에 지정합니다.
  2. 임시 배열 myFilters를 사용하여 속성을 수정합니다. 예를 들어, 배열에 있는 첫 번째 필터의 품질 속성을 설정하려면 myFilters[0].quality = 1; 코드를 사용할 수 있습니다.
  3. 임시 배열의 값을 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

예제

다음 코드는 두 개의 TextField 객체를 만들고 각 객체에 대해 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 객체 자체는 그려지지 않습니다. 마스크를 제거하려면 masknull로 설정합니다.

마스크 객체의 크기를 조절하려면 마스크 객체가 표시 목록에 있어야 합니다. startDrag() 메서드를 호출하여 마스크 Sprite 객체를 드래그하려면 해당 객체가 표시 목록에 있어야 합니다. Sprite를 통해 전달되는 mouseDown 이벤트를 기준으로 마스크 Sprite에 대한 startDrag() 메서드를 호출하려면 Sprite의 buttonMode 속성을 true로 설정합니다.


구현
    public function get mask():DisplayObject
    public function set mask(value:DisplayObject):void

예제

다음 코드는 TextField 객체에 대한 마스크로 설정된 Sprite 객체와 TextField 객체를 만듭니다. 사용자가 텍스트 필드를 클릭하면 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

예제

다음 코드는 Sprite 객체를 만들고 사용자가 Sprite를 클릭할 때 mouseXmouseY 위치를 추적합니다.
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

예제

다음 코드는 Sprite 객체를 만들고 사용자가 Sprite를 클릭할 때 mouseXmouseY 위치를 추적합니다.
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 제작 도구의 타임라인에 배치된 객체에 이 속성을 설정하려는 경우입니다.

예제

다음 코드는 두 개의 Sprite 객체를 만들고 사용자가 객체 중 하나를 클릭할 때 연관된 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

참고 사항


예제

다음 코드는 파란색 원으로 Shape 객체를 만들고 해당 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() 메서드를 호출하도록 합니다.

예제

다음 코드는 세 개의 Sprite 객체를 만들고 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

예제

다음 코드는 Stage 객체, 로드되지 않은(표시 목록에 추가되기 전과 추가된 후 모두 해당) 표시 객체(Loader 객체) 및 로드된 객체(로드된 Bitmap 객체) 각각에 대한 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

예제

다음 코드는 Sprite 객체를 만들고 사용자가 클릭하면 객체를 회전시킵니다.

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를 나타냅니다.

표시 객체의 크기를 조절하거나 확장하는 경우 사각형 안의 객체는 정상적으로 크기가 조절되지만 사각형 밖의 객체는 scale9Grid 규칙에 따라 크기가 조절됩니다.

75%로 크기 조절
50%로 크기 조절
25%로 크기 조절
가로로 150% 확장

scale9Grid 설정은 구성 요소로 사용할 표시 객체를 설정하는 데 주로 사용되며, 구성 요소의 크기를 조절할 때 가장자리 영역은 같은 폭을 유지합니다.


구현
    public function get scale9Grid():Rectangle
    public function set scale9Grid(value:Rectangle):void

오류
ArgumentError — 유효하지 않은 인수를 메서드로 전달하는 경우입니다.

참고 사항


예제

다음 코드는 graphics 속성에서 그려진 사각형을 갖는 Shape 객체를 만듭니다. 사각형은 테두리로 20픽셀 두께의 선을 사용하며 그래디언트로 채워집니다. 타이머 이벤트가 scale() 함수를 호출하고 이 함수는 scaleXscaleY 속성을 조정하여 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% 크기와 같습니다.

로컬 좌표계의 크기 조절은 전체 픽셀에 정의된 xy 속성 설정에 영향을 줍니다.


구현
    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% 크기와 같습니다.

로컬 좌표계의 크기 조절은 전체 픽셀에 정의된 xy 속성 설정에 영향을 줍니다.


구현
    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 객체의 xy 속성을 변경할 때 해당 사각형 내에서 스크롤합니다.

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

예제

다음 코드는 두 개의 TextField 객체를 만들고 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, concatenatedColorTransformpixelBounds)은 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 속성의 colorTransformmatrix 속성을 조정합니다.

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

예제

다음 코드는 Timer 객체를 사용하여 표시 객체의 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

예제

다음 코드는 두 개의 TextField 객체를 만들고 각 객체에 대해 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 — 사용할 좌표계를 정의하는 표시 객체입니다.

반환값
RectangletargetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체 영역을 정의하는 사각형입니다.

참고 사항

getRect()메서드 
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

targetCoordinateSpace 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다. getRect() 메서드에서 반환된 값은 getBounds() 메서드에서 반환된 값보다 작거나 같습니다.

참고: localToGlobal()globalToLocal() 메서드를 사용하면 표시 객체의 로컬 좌표를 스테이지 좌표로, 또는 스테이지 좌표를 로컬 좌표로 각각 변환할 수 있습니다.

매개 변수

targetCoordinateSpace:DisplayObject — 사용할 좌표계를 정의하는 표시 객체입니다.

반환값
RectangletargetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체 영역을 정의하는 사각형입니다.

참고 사항


예제

다음 예제에서는 획이 추가 영역을 차지하기 때문에 getBounds() 메서드가 getRect() 메서드보다 더 큰 사각형을 반환하는 결과를 보여 줍니다. 이 경우 triangle Sprite에는 lineStyle() 메서드의 widthjointStyle 매개 변수로 인해 추가 획이 포함됩니다. 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 클래스의 인스턴스를 만듭니다. 지정하는 xy 값은 기본 표시 영역의 원점(0,0)을 기준으로 하기 때문에 전역 좌표를 나타냅니다. 그런 다음 Point 인스턴스를 globalToLocal() 메서드에 매개 변수로 전달합니다. 이 메서드는 표시 객체의 원점이 아니라 Stage의 원점을 기준으로 xy 값을 갖는 새 Point 객체를 반환합니다.

매개 변수

point:Point — Point 클래스를 사용하여 만든 객체입니다. Point 객체는 xy 좌표를 속성으로 지정합니다.

반환값
Point — 표시 객체 기준의 좌표를 갖는 Point 객체입니다.

참고 사항


예제

다음 코드는 Shape 객체를 만들고 여러 포인트를 매개 변수로 사용하여 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입니다.

예제

다음 코드는 세 개의 Shape 객체를 만들고 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

표시 객체를 평가하여 xy 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다. xy 매개 변수는 표시 객체 컨테이너가 스테이지가 아닌 한 표시 객체를 포함하는 표시 객체 컨테이너가 아닌 스테이지의 좌표 공간에 점을 지정합니다.

매개 변수

x:Number — 이 객체에 대해 테스트할 x 좌표입니다.
 
y:Number — 이 객체에 대해 테스트할 y 좌표입니다.
 
shapeFlag:Boolean (default = false) — 객체(true)의 실제 픽셀을 검사할 것인지 아니면 경계 상자(false)를 검사할 것인지를 나타냅니다.

반환값
Boolean — 표시 객체가 지정된 점과 겹치거나 교차하면 true이고, 그렇지 않으면 false입니다.

참고 사항


예제

다음 코드는 Shape 객체를 만들고 여러 포인트를 매개 변수로 사용하여 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 객체를 표시 객체의 로컬 좌표에서 스테이지 전역 좌표로 변환합니다.

이 메서드를 사용하면 지정된 xy 좌표를 특정 표시 객체의 원점(0,0)을 기준으로 하는 값(로컬 좌표)에서 Stage 원점을 기준으로 하는 값(전역 좌표)으로 변환할 수 있습니다.

이 메서드를 사용하려면 먼저 Point 클래스의 인스턴스를 만듭니다. 지정하는 xy 값은 표시 객체의 원점을 기준으로 하기 때문에 로컬 좌표를 나타냅니다.

그런 다음, 만들어진 Point 인스턴스를 localToGlobal() 메서드에 매개 변수로 전달합니다. 이 메서드는 표시 객체의 원점이 아니라 Stage 원점을 기준으로 xy 값을 갖는 새 Point 객체를 반환합니다.

매개 변수

point:Point — Point 클래스를 사용하여 만든 점의 이름 또는 식별자로, xy 좌표를 속성으로 지정합니다.

반환값
Point — Stage 기준의 좌표를 갖는 Point 객체입니다.

참고 사항


예제

다음 코드는 Sprite 객체를 만듭니다. Sprite의 mouseXmouseY 속성은 표시 객체의 좌표 공간에 있습니다. 이 코드에서는 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
Event.type property = flash.events.Event.ADDED

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

표시 객체가 표시 목록에 추가될 때 전달됩니다. DisplayObjectContainer.addChild()DisplayObjectContainer.addChildAt() 메서드가 이 이벤트를 트리거합니다.

added 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target표시 목록에 추가할 DisplayObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.

참고 사항

addedToStage 이벤트  
이벤트 객체 유형: flash.events.Event
Event.type property = flash.events.Event.ADDED_TO_STAGE

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9.0.28.0

표시 객체가 Stage 표시 목록에 추가될 때 표시 객체가 포함된 하위 트리 이외의 트리에서 직접 또는 해당 트리를 통해서 전달됩니다. DisplayObjectContainer.addChild()DisplayObjectContainer.addChildAt() 메서드가 이 이벤트를 트리거합니다.

addedToStage 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
targetDisplayObject 인스턴스가 포함된 하위 트리 추가를 통해 또는 직접, 스테이지 표시 목록에 추가되는 DisplayObject 인스턴스입니다. DisplayObject 인스턴스가 직접 추가되는 경우에는 이 이벤트 전에 added 이벤트가 발생합니다.

참고 사항

enterFrame 이벤트  
이벤트 객체 유형: flash.events.Event
Event.type property = flash.events.Event.ENTER_FRAME

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

재생 헤드가 새 프레임에 들어갈 때 전달됩니다. 재생 헤드가 이동하지 않거나 프레임이 하나만 있을 경우 이 이벤트는 프레임 속도와 연동하여 계속해서 전달됩니다. 이 이벤트는 수신하는 모든 표시 객체에 동시에 전달됩니다.

enterFrame 이벤트 객체의 type 속성 값을 정의합니다.

참고: 이 이벤트는 "캡처 단계"를 통과하지 않으며 대상이 표시 목록에 있는지 여부에 관계없이 대상으로 직접 전달됩니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
targetENTER_FRAME 이벤트에 대한 리스너가 등록되어 있는 모든 DisplayObject 인스턴스입니다.
removed 이벤트  
이벤트 객체 유형: flash.events.Event
Event.type property = flash.events.Event.REMOVED

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

표시 객체가 표시 목록에서 제거되기 직전에 전달됩니다. DisplayObjectContainer 클래스의 removeChild()removeChildAt() 메서드가 이 이벤트를 생성합니다.

새 객체를 위한 공간을 확보하기 위해 특정 객체를 제거해야 하는 경우 DisplayObjectContainer 객체의 addChild(), addChildAt()setChildIndex() 메서드도 이 이벤트를 생성합니다.

removed 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target표시 목록에서 제거할 DisplayObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.
removedFromStage 이벤트  
이벤트 객체 유형: flash.events.Event
Event.type property = 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 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
targetDisplayObject 인스턴스가 포함된 하위 트리의 제거를 통해 또는 직접, 스테이지 표시 목록에서 제거되는 DisplayObject 인스턴스입니다. DisplayObject 인스턴스가 직접 추가되는 경우에는 이 이벤트 전에 removed 이벤트가 발생합니다.
render 이벤트  
이벤트 객체 유형: flash.events.Event
Event.type property = 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 속성 값을 정의합니다.

참고: 이 이벤트는 "캡처 단계"를 통과하지 않으며 대상이 표시 목록에 있는지 여부에 관계없이 대상으로 직접 전달됩니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse: 기본 비헤이비어를 취소할 수 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
targetRENDER 이벤트에 대한 리스너가 등록되어 있는 모든 DisplayObject 인스턴스입니다.
예제 예제 사용 방법
DisplayObjectExample.as

다음 예제에서는 DisplayObjectExample 클래스를 사용하여 Stage의 모서리에 주황색 사각형을 그린 후 각 이벤트에 대한 텍스트 정보를 표시함으로써 이벤트에 응답합니다. 이는 다음 단계로 이루어집니다.
  1. 사각형의 색상 및 크기에 대해 클래스 속성이 선언됩니다.
  2. 생성자가 draw() 메서드를 호출하여 Stage의 기본 좌표(x = 0, y = 0)에 주황색 사각형을 그립니다.
  3. 다음과 같은 이벤트 리스너 메서드가 사각형에 연결됩니다.
    • 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