패키지 | flash.display |
클래스 | public class DisplayObjectContainer |
상속 | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
하위 클래스 | Loader, Sprite, Stage, TextLine |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject는 추상 기본 클래스이므로 이를 직접 호출할 수 없습니다. new DisplayObject()
를 호출하면 ArgumentError
예외가 발생합니다.
new DisplayObjectContainer()
생성자를 호출하면 ArgumentError
예외가 발생합니다.
자세한 내용은 ActionScript 3.0 개발자 안내서의 "디스플레이 프로그래밍" 장을 참조하십시오.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
이 InteractiveObject 인스턴스에 대한 현재 액세스 가능성 구현(AccessibilityImplementation)입니다. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
이 표시 객체의 현재 액세스 가능성 옵션입니다. | DisplayObject | ||
alpha : Number
지정된 객체의 알파 투명도 값을 나타냅니다. | DisplayObject | ||
blendMode : String
사용할 블렌드 모드를 지정하는 BlendMode 클래스 값입니다. | DisplayObject | ||
blendShader : Shader [쓰기 전용]
전경 및 배경을 블렌딩하는 데 사용되는 셰이더를 설정합니다. | DisplayObject | ||
cacheAsBitmap : Boolean
true로 설정된 경우 Flash 런타임은 표시 객체의 내부 비트맵 표현을 캐시합니다. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
null이 아닌 경우 이 Matrix 객체는 cacheAsBitmap이 true로 설정될 때 표시 객체가 렌더링되는 방법을 정의합니다. | DisplayObject | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
contextMenu : NativeMenu
이 객체에 연결된 컨텍스트 메뉴를 지정합니다. | InteractiveObject | ||
doubleClickEnabled : Boolean
이 객체에서 doubleClick 이벤트를 받을지 여부를 지정합니다. | InteractiveObject | ||
filters : Array
현재 표시 객체와 연관된 각 필터 객체가 들어 있는 인덱싱된 배열입니다. | DisplayObject | ||
focusRect : Object
이 객체에서 포커스 사각형을 표시할지 여부를 지정합니다. | InteractiveObject | ||
height : Number
표시 객체의 높이를 픽셀 단위로 나타냅니다. | DisplayObject | ||
loaderInfo : LoaderInfo [읽기 전용]
이 표시 객체가 속한 파일의 로딩 정보가 포함된 LoaderInfo 객체를 반환합니다. | DisplayObject | ||
mask : DisplayObject
호출하는 표시 객체는 지정된 mask 객체에 의해 마스크 처리됩니다. | DisplayObject | ||
metaData : Object
PlaceObject4 태그를 통해 SWF 파일에 해당 DisplayObject의 인스턴스와 함께 메타데이터가 저장된 경우 DisplayObject 인스턴스의 메타데이터 객체를 가져옵니다. | DisplayObject | ||
mouseChildren : Boolean
해당 객체의 자식에서 마우스 또는 사용자 입력 장치가 사용하도록 설정되어 있는지 여부를 결정합니다. | DisplayObjectContainer | ||
mouseEnabled : Boolean
이 객체가 마우스 또는 기타 사용자 입력, 메시지를 수신할지 여부를 지정합니다. | InteractiveObject | ||
mouseX : Number [읽기 전용]
마우스 또는 사용자 입력 장치 위치의 x 좌표를 픽셀로 나타냅니다. | DisplayObject | ||
mouseY : Number [읽기 전용]
마우스 또는 사용자 입력 장치 위치의 y 좌표를 픽셀로 나타냅니다. | DisplayObject | ||
name : String
DisplayObject의 인스턴스 이름을 나타냅니다. | DisplayObject | ||
needsSoftKeyboard : Boolean
이 InteractiveObject 인스턴스가 포커스를 받을 때 가상 키보드(화면의 소프트웨어 키보드)를 표시할지 여부를 지정합니다. | InteractiveObject | ||
numChildren : int [읽기 전용]
이 객체의 자식 수를 반환합니다. | DisplayObjectContainer | ||
opaqueBackground : Object
표시 객체를 특정 배경색으로 불투명하게 처리할지 여부를 지정합니다. | DisplayObject | ||
parent : DisplayObjectContainer [읽기 전용]
이 표시 객체가 포함된 DisplayObjectContainer 객체를 나타냅니다. | DisplayObject | ||
root : DisplayObject [읽기 전용]
로드된 SWF 파일에 있는 표시 객체의 경우, 해당 SWF 파일이 나타내는 표시 목록의 트리 구조 부분에서 맨 위에 위치하는 표시 객체가 루트 속성이 됩니다. | DisplayObject | ||
rotation : Number
DisplayObject 인스턴스가 원점으로부터 회전한 각도입니다. | DisplayObject | ||
rotationX : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 x축 회전한 각도를 나타냅니다. | DisplayObject | ||
rotationY : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 y축 회전한 각도를 나타냅니다. | DisplayObject | ||
rotationZ : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 z축 회전한 각도를 나타냅니다. | DisplayObject | ||
scale9Grid : Rectangle
현재 적용 중인 크기 조절 격자입니다. | DisplayObject | ||
scaleX : Number
등록 포인트에서 적용된 객체의 가로 크기(백분율)를 나타냅니다. | DisplayObject | ||
scaleY : Number
객체의 등록 포인트에서 적용된 객체의 세로 크기(백분율)를 나타냅니다. | DisplayObject | ||
scaleZ : Number
객체의 등록 포인트에서 적용된 객체의 깊이 크기(백분율)를 나타냅니다. | DisplayObject | ||
scrollRect : Rectangle
표시 객체의 스크롤 사각형 경계입니다. | DisplayObject | ||
softKeyboard : String
소프트 키보드의 모양을 제어합니다. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
소프트 키보드가 표시될 때 화면에서 그대로 유지되는 영역을 정의합니다(iOS에서는 사용할 수 없음). | InteractiveObject | ||
stage : Stage [읽기 전용]
표시 객체의 Stage입니다. | DisplayObject | ||
tabChildren : Boolean
객체의 자식에서 탭 기능을 사용할 수 있는지 여부를 결정합니다. | DisplayObjectContainer | ||
tabEnabled : Boolean
이 객체가 탭 순서에 있는지 여부를 지정합니다. | InteractiveObject | ||
tabIndex : int
SWF 파일에서 객체의 탭 순서를 지정합니다. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [읽기 전용]
이 DisplayObjectContainer 인스턴스에 대한 TextSnapshot 객체를 반환합니다. | DisplayObjectContainer | ||
transform : flash.geom:Transform
표시 객체의 행렬, 색상 변환 및 픽셀 경계와 관련된 속성을 가진 객체입니다. | DisplayObject | ||
visible : Boolean
표시 객체가 표시되는지 여부를 나타냅니다. | DisplayObject | ||
width : Number
표시 객체의 폭을 픽셀 단위로 나타냅니다. | DisplayObject | ||
x : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 x 좌표를 나타냅니다. | DisplayObject | ||
y : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 y 좌표를 나타냅니다. | DisplayObject | ||
z : Number
3D parent 컨테이너를 기준으로 DisplayObject 인스턴스의 z축에 있는 z 좌표 위치를 나타냅니다. | DisplayObject |
메서드 | 정의 주체 | ||
---|---|---|---|
new DisplayObjectContainer() 생성자를 호출하면 ArgumentError 예외가 발생합니다. | DisplayObjectContainer | ||
이 DisplayObjectContainer 인스턴스에 자식 DisplayObject 인스턴스를 추가합니다. | DisplayObjectContainer | ||
이 DisplayObjectContainer 인스턴스에 자식 DisplayObject 인스턴스를 추가합니다. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
지정된 point 점으로 DisplayObjectContainer.getObjectsUnderPoint() 메서드를 호출하여 반환된 목록에서 임의의 표시 객체가 보안 제한 사항으로 인해 생략되는지 여부를 나타냅니다. | DisplayObjectContainer | ||
지정된 표시 객체가 DisplayObjectContainer 인스턴스의 자식인지 아니면 인스턴스 자체인지를 확인합니다. | DisplayObjectContainer | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체의 영역을 정의하는 사각형을 반환합니다. | DisplayObject | ||
지정된 인덱스에 존재하는 자식 표시 객체 인스턴스를 반환합니다. | DisplayObjectContainer | ||
지정된 이름을 가진 자식 표시 객체를 반환합니다. | DisplayObjectContainer | ||
자식 DisplayObject 인스턴스의 인덱스 위치를 반환합니다. | DisplayObjectContainer | ||
이 DisplayObjectContainer 인스턴스의 자식(또는 손자 등)으로서 지정된 점 아래에 있는 객체의 배열을 반환합니다. | DisplayObjectContainer | ||
대상 좌표 공간 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다. | DisplayObject | ||
Point 객체를 Stage 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다. | DisplayObject | ||
Stage(전역) 좌표의 2차원 점을 3차원 표시 객체(로컬) 좌표로 변환합니다. | DisplayObject | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
표시 객체의 경계 상자를 평가하여 obj 표시 객체의 경계 상자와 겹치거나 교차하는지 확인합니다. | DisplayObject | ||
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다. | DisplayObject | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
3차원 표시 객체의 로컬 좌표에 있는 3차원 점을 Stage 전역 좌표의 2차원 점으로 변환합니다. | DisplayObject | ||
Point 객체를 표시 객체의 로컬 좌표에서 Stage 전역 좌표로 변환합니다. | DisplayObject | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
지정된 자식 DisplayObject 인스턴스를 DisplayObjectContainer 인스턴스의 자식 목록에서 제거합니다. | DisplayObjectContainer | ||
DisplayObjectContainer 자식 목록에서 지정된 인덱스 위치에 있는 자식 DisplayObject를 제거합니다. | DisplayObjectContainer | ||
모든 자식 DisplayObject 인스턴스를 DisplayObjectContainer 인스턴스의 자식 목록에서 제거합니다. | DisplayObjectContainer | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
가상 키보드를 표시합니다. | InteractiveObject | ||
표시 객체 컨테이너에서 기존 자식의 위치를 변경합니다. | DisplayObjectContainer | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
이 객체가 루트로 지정된 모든 MovieClip의 타임라인 실행을 재귀적으로 중지합니다. | DisplayObjectContainer | ||
지정된 두 개의 자식 객체의 z 순서(전후 순서)를 맞바꿉니다. | DisplayObjectContainer | ||
자식 목록에서 지정된 두 곳의 인덱스 위치에 있는 자식 객체의 z 순서(전후 순서)를 맞바꿉니다. | DisplayObjectContainer | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
mouseChildren | 속성 |
mouseChildren:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
해당 객체의 자식에서 마우스 또는 사용자 입력 장치가 사용하도록 설정되어 있는지 여부를 결정합니다. 객체가 사용하도록 설정되어 있는 경우 사용자는 마우스 또는 사용자 입력 장치를 사용하여 객체와 상호 작용할 수 있습니다. 기본값은 true
입니다.
이 속성은 SimpleButton 클래스 대신 Sprite 클래스의 인스턴스를 사용하여 버튼을 만들 때 유용합니다. Sprite 인스턴스를 사용하여 버튼을 만들 때는 addChild()
메서드를 사용하여 별도의 Sprite 인스턴스를 추가함으로써 버튼을 꾸밀 수 있습니다. 이 프로세스는 마우스 이벤트의 예기치 못한 비헤이비어를 초래할 수 있습니다. 부모 인스턴스가 마우스 이벤트의 대상 객체가 될 것으로 생각하고 Sprite 인스턴스를 자식으로 추가했는데 Sprite 인스턴스가 대상 객체가 될 수 있기 때문입니다. 부모 인스턴스가 마우스 이벤트의 대상 객체가 되도록 하려면 부모 인스턴스의 mouseChildren
속성을 false
로 설정합니다.
이 속성을 설정할 때 전달되는 이벤트는 없습니다. 대화형 기능을 만들려면 addEventListener()
메서드를 사용해야 합니다.
구현
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean):void
관련 API 요소
예제 ( 예제 사용 방법 )
container
라는 이름의 Sprite 객체(표시 객체 컨테이너 유형)를 설정하고, 이 객체의 mouseChildren
속성을 false
로 설정할 때 mouseClick
이벤트의 대상이 해당 자식 객체 중 하나가 아니라 container
객체라는 것을 보여 줍니다.
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); container.name = "container"; addChild(container); var circle:Sprite = new Sprite(); circle.name = "circle"; circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); container.addChild(circle); container.mouseChildren = false; container.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { trace(event.target.name); // container }
numChildren | 속성 |
numChildren:int
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
이 객체의 자식 수를 반환합니다.
구현
public function get numChildren():int
예제 ( 예제 사용 방법 )
container1
및 container2
인 두 개의 Sprite 객체를 설정합니다. Sprite는 표시 객체 컨테이너 유형입니다. 예제에서는 addChild()
메서드를 호출하여 container1
은 container2
의 자식이고, 다른 두 표시 객체 circle1
과 circle2
는 container1
의 자식인 표시 계층 구조를 설정합니다. trace()
메서드를 호출하여 각 객체의 자식 수를 표시합니다. 단, 손자는 numChildren
수에 포함되지 않습니다.
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
tabChildren | 속성 |
tabChildren:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
객체의 자식에서 탭 기능을 사용할 수 있는지 여부를 결정합니다. 객체의 자식에 대한 탭 기능을 활성화하거나 비활성화합니다. 기본값은 true
입니다.
참고: Flex에서 tabChildren
속성을 사용하지 마십시오. 대신 mx.core.UIComponent.hasFocusableChildren
속성을 사용하는 것이 좋습니다.
구현
public function get tabChildren():Boolean
public function set tabChildren(value:Boolean):void
오류
IllegalOperationError — Stage 객체의 이 속성을 호출하면 예외가 발생합니다. Stage 객체는 이 속성을 구현하지 않습니다.
|
예제 ( 예제 사용 방법 )
container1
표시 객체 컨테이너를 만들고 두 개의 표시 객체인 circle1
와 circle2
를 해당 자식 목록에 추가합니다. 예제에서는 자식에 대해 tabChildren을 false
로 설정함으로써 tabIndex
를 사용하여 탭 순서를 관리할 수 있도록 합니다.
import flash.display.Sprite; var container:Sprite = new Sprite(); container.tabChildren = false; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.tabIndex = 1; var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); circle2.tabIndex = 0; container.addChild(circle1); container.addChild(circle2);
textSnapshot | 속성 |
textSnapshot:flash.text:TextSnapshot
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 DisplayObjectContainer 인스턴스에 대한 TextSnapshot 객체를 반환합니다.
구현
public function get textSnapshot():flash.text:TextSnapshot
관련 API 요소
예제 ( 예제 사용 방법 )
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
DisplayObjectContainer | () | 생성자 |
public function DisplayObjectContainer()
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
new DisplayObjectContainer()
생성자를 호출하면 ArgumentError
예외가 발생합니다. 그러나 DisplayObjectContainer의 다음 하위 클래스에 대한 생성자를 호출할 수 있습니다.
new Loader()
new Sprite()
new MovieClip()
addChild | () | 메서드 |
public function addChild(child:DisplayObject):DisplayObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
이 DisplayObjectContainer 인스턴스에 자식 DisplayObject 인스턴스를 추가합니다. 해당 자식은 이 DisplayObjectContainer 인스턴스에 속한 다른 모든 자식의 맨 앞(위)에 추가됩니다. 특정한 인덱스 위치에 자식을 추가하려면 addChildAt()
메서드를 사용합니다.
이미 다른 표시 객체 컨테이너를 부모로 삼고 있는 자식 객체를 추가하는 경우, 그 객체는 다른 표시 객체 컨테이너의 자식 목록에서 제거됩니다.
참고: stage.addChild()
명령은 게시된 SWF 파일에 보안 문제나 로드된 다른 SWF 파일과의 충돌 등의 문제를 발생시킬 수 있습니다. Flash 런타임 인스턴스 내에는 오로지 하나의 스테이지만 있습니다. 런타임에 로드하는 SWF 파일의 수는 중요하지 않습니다. 따라서 일반적으로 스테이지에 객체를 직접 추가해서는 절대 안 됩니다. 스테이지에 포함할 수 있는 객체는 루트 객체뿐입니다. 표시 목록의 모든 항목을 포함하려면 DisplayObjectContainer를 만드십시오. 그런 다음 필요한 경우 스테이지에 DisplayObjectContainer 인스턴스를 추가합니다.
매개 변수
child:DisplayObject — 이 DisplayObjectContainer 인스턴스의 자식으로 추가할 DisplayObject 인스턴스입니다.
|
DisplayObject — child 매개 변수를 통해 전달하는 DisplayObject 인스턴스입니다.
|
이벤트
added: — 표시 객체를 표시 목록에 추가할 때 전달됩니다.
|
오류
ArgumentError — 자식이 부모와 동일할 때 발생합니다. 또한 호출자가 추가되는 자식의 자식 또는 손자이면 발생합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
container1
및 container2
인 두 개의 Sprite 객체를 설정합니다. Sprite는 표시 객체 컨테이너 유형입니다. 예제에서는 addChild()
메서드를 호출하여 container1
은 container2
의 자식이고, 다른 두 표시 객체 circle1
과 circle2
는 container1
의 자식인 표시 계층 구조를 설정합니다. trace()
메서드를 호출하여 각 객체의 자식 수를 표시합니다. 단, 손자는 numChildren
수에 포함되지 않습니다.
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
addChildAt | () | 메서드 |
public function addChildAt(child:DisplayObject, index:int):DisplayObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
이 DisplayObjectContainer 인스턴스에 자식 DisplayObject 인스턴스를 추가합니다. 자식은 지정된 인덱스 위치에 추가됩니다. 인덱스 0은 이 DisplayObjectContainer 객체에 대한 표시 목록의 맨 뒤(아래)를 나타냅니다.
예를 들어 다음 예제에서는 인덱스 위치가 각각 0, 1, 2인 세 개의 표시 객체 a, b, c를 보여 줍니다.
이미 다른 표시 객체 컨테이너를 부모로 삼고 있는 자식 객체를 추가하는 경우, 그 객체는 다른 표시 객체 컨테이너의 자식 목록에서 제거됩니다.
매개 변수
child:DisplayObject — 이 DisplayObjectContainer 인스턴스의 자식으로 추가할 DisplayObject 인스턴스입니다.
| |
index:int — 자식을 추가할 인덱스 위치입니다. 이미 점유된 인덱스 위치를 지정하면 해당 위치에 있는 자식 객체부터 그 위쪽의 모든 객체가 자식 목록에서 한 자리씩 위로 이동합니다.
|
DisplayObject — child 매개 변수를 통해 전달하는 DisplayObject 인스턴스입니다.
|
이벤트
added: — 표시 객체를 표시 목록에 추가할 때 전달됩니다.
|
오류
RangeError — 자식 목록에 인덱스 위치가 존재하지 않을 때 발생합니다.
| |
ArgumentError — 자식이 부모와 동일할 때 발생합니다. 또한 호출자가 추가되는 자식의 자식 또는 손자이면 발생합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
container
표시 객체 컨테이너를 만들고 표시 객체 circle1
을 해당 표시 목록에 추가합니다. 그런 다음 container.addChildAt(circle2, 0)
을 호출하여 circle2
객체를 인덱스 위치 0(뒤쪽)에 추가하고 circle1
객체를 인덱스 위치 1로 이동시킵니다.
import flash.display.Sprite; var container:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); var circle2:Sprite = new Sprite(); container.addChild(circle1); container.addChildAt(circle2, 0); trace(container.getChildAt(0) == circle2); // true trace(container.getChildAt(1) == circle1); // true
areInaccessibleObjectsUnderPoint | () | 메서드 |
public function areInaccessibleObjectsUnderPoint(point:Point):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 point
점으로 DisplayObjectContainer.getObjectsUnderPoint()
메서드를 호출하여 반환된 목록에서 임의의 표시 객체가 보안 제한 사항으로 인해 생략되는지 여부를 나타냅니다. 기본적으로 한 도메인의 내용은 Security.allowDomain()
메서드 호출을 통해 허용되지 않는 한 다른 도메인의 객체에 액세스할 수 없습니다. 보안에 대한 자세한 내용은 Flash Player 개발자 센터 항목 보안을 참조하십시오.
point
매개 변수는 Stage의 좌표 공간에 있으며, 표시 객체 컨테이너가 Stage가 아닌 한 이 좌표는 표시 객체 컨테이너의 좌표 공간과 다를 수 있습니다. globalToLocal()
및 localToGlobal()
메서드를 사용하여 양쪽 좌표 공간 사이에서 점을 변환할 수 있습니다.
매개 변수
point:Point — 찾아볼 점입니다.
|
Boolean — true 인 경우 보안 제한 사항이 있는 자식 표시 객체가 포함된 것입니다.
|
관련 API 요소
getObjectsUnderPoint()
DisplayObject.globalToLocal()
DisplayObject.localToGlobal()
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만듭니다. 다음 코드 블록에서는 Loader 객체를 사용하여 "test.jpg"라는 이름의 JPEG 파일을 원격 파일 서버에서 로드합니다. load()
메서드에서 매개 변수로 사용된 LoaderContext 객체의 checkPolicyFile
속성이 false
로 설정되었다는 점에 유의합니다. 파일이 로드되면 이 코드는 loaded()
메서드를 호출하여 container.areInaccessibleObjectsUnderPoint()
를 호출하고 이를 통해 true
값을 반환하는 데 이는 로드된 내용이 액세스할 수 없는 도메인에서 온 것으로 간주되기 때문입니다.
import flash.display.Sprite; import flash.display.Loader; import flash.system.LoaderContext; import flash.net.URLRequest; import flash.events.Event; import flash.geom.Point; var container:Sprite = new Sprite(); var urlReq:URLRequest = new URLRequest("http://localhost/RemoteFile.swf"); var ldr:Loader = new Loader(); var context:LoaderContext = new LoaderContext(); context.checkPolicyFile = false; ldr.load(urlReq, context); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound); function loaded(event:Event):void { var pt:Point = new Point(1, 1); trace(container.areInaccessibleObjectsUnderPoint(pt)); // true } function urlNotFound(event:Event):void { trace("The URL was not found."); }
contains | () | 메서드 |
public function contains(child:DisplayObject):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 표시 객체가 DisplayObjectContainer 인스턴스의 자식인지 아니면 인스턴스 자체인지를 확인합니다. 이 DisplayObjectContainer 인스턴스를 비롯한 전체 표시 목록이 검색에 포함됩니다. 손자, 증손자 등은 각각 true
를 반환합니다.
매개 변수
child:DisplayObject — 테스트할 자식 객체입니다.
|
Boolean — child 객체가 DisplayObjectContainer의 자식이거나 컨테이너 자체인 경우에는 true 이고, 그렇지 않으면 false 입니다.
|
예제 ( 예제 사용 방법 )
contains()
메서드를 호출하면 표시됩니다.
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); var sprite4:Sprite = new Sprite(); sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite1.contains(sprite1)); // true trace(sprite1.contains(sprite2)); // true trace(sprite1.contains(sprite3)); // true trace(sprite1.contains(sprite4)); // false
getChildAt | () | 메서드 |
public function getChildAt(index:int):DisplayObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 인덱스에 존재하는 자식 표시 객체 인스턴스를 반환합니다.
매개 변수
index:int — 자식 객체의 인덱스 위치입니다.
|
DisplayObject — 지정된 인덱스 위치의 자식 표시 객체입니다.
|
오류
RangeError — 자식 목록에 해당 인덱스가 없을 때 발생합니다.
| |
SecurityError — 이 자식 표시 객체는 사용자가 액세스할 수 없는 샌드박스에 속합니다. 이러한 상황을 피하려면 자식 동영상에서 Security.allowDomain() 을 호출하도록 합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 container
객체의 자식 목록에 세 개의 표시 객체를 추가합니다. getChildAt()
메서드를 호출하면 자식 객체의 위치가 표시됩니다.
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); container.addChild(sprite1); container.addChild(sprite2); container.addChildAt(sprite3, 0); trace(container.getChildAt(0) == sprite3); // true trace(container.getChildAt(1) == sprite1); // true trace(container.getChildAt(2) == sprite2); // true
getChildByName | () | 메서드 |
public function getChildByName(name:String):DisplayObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 이름을 가진 자식 표시 객체를 반환합니다. 지정된 이름을 가진 자식 표시 객체가 둘 이상인 경우, 메서드는 자식 목록 중 첫 번째 객체를 반환합니다.
getChildAt()
메서드가 getChildByName()
메서드보다 빠릅니다. getChildAt()
메서드는 캐시된 배열에서 자식에 액세스하지만, getChildByName()
메서드는 자식에 액세스하려면 연결 목록을 순회해야 합니다.
매개 변수
name:String — 반환할 자식 이름입니다.
|
DisplayObject — 지정된 이름을 가진 자식 표시 객체입니다.
|
오류
SecurityError — 이 자식 표시 객체는 사용자가 액세스할 수 없는 샌드박스에 속합니다. 이러한 상황을 피하려면 자식 동영상에서 Security.allowDomain() 메서드를 호출하도록 합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 이 컨테이너에 두 개의 자식 표시 객체를 추가합니다. 그런 다음 이 코드는 getChildByName()
및 getChildIndex()
메서드를 호출하여 container
객체의 자식(name "sprite1"
라는 이름을 가진) 인덱스 위치를 반환합니다.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getChildIndex | () | 메서드 |
public function getChildIndex(child:DisplayObject):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
child
DisplayObject 인스턴스의 인덱스 위치를 반환합니다.
매개 변수
child:DisplayObject — 확인할 DisplayObject 인스턴스입니다.
|
int — 확인할 자식 표시 객체의 인덱스 위치입니다.
|
오류
ArgumentError — 자식 매개 변수가 이 객체의 자식이 아닐 때 발생합니다.
|
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 이 컨테이너에 두 개의 자식 표시 객체를 추가합니다. 그런 다음 이 코드는 getChildByName()
및 getChildIndex()
메서드를 호출하여 container
객체의 자식(name "sprite1"
라는 이름을 가진) 인덱스 위치를 반환합니다.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getObjectsUnderPoint | () | 메서드 |
public function getObjectsUnderPoint(point:Point):Array
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
이 DisplayObjectContainer 인스턴스의 자식(또는 손자 등)으로서 지정된 점 아래에 있는 객체의 배열을 반환합니다. 보안상의 이유로 액세스할 수 없는 자식 객체는 반환된 배열에서 생략됩니다. 이 보안 제한 사항이 반환된 배열에 영향을 미치는지 확인하려면 areInaccessibleObjectsUnderPoint()
메서드를 호출합니다.
point
매개 변수는 Stage의 좌표 공간에 있으며, 표시 객체 컨테이너가 Stage가 아닌 한 이 좌표는 표시 객체 컨테이너의 좌표 공간과 다를 수 있습니다. globalToLocal()
및 localToGlobal()
메서드를 사용하여 양쪽 좌표 공간 사이에서 점을 변환할 수 있습니다.
매개 변수
point:Point — 찾아볼 점입니다.
|
Array — 이 DisplayObjectContainer 인스턴스의 자식(또는 손자 등)으로서 지정된 점 아래에 있는 객체의 배열입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 이 컨테이너에 두 개의 겹치는 자식 표시 객체를 추가합니다. 그런 다음 이 코드는 getObjectsUnderPoint()
를 두 번 호출하는데, 처음에는 하나의 객체에만 닿는 점을 사용하고 두 번째에는 객체가 겹치는 점을 사용합니다. 그러면 반환 Array의 length
가 컨테이너에 있는 각 점의 객체 수를 표시합니다.
import flash.display.Sprite; import flash.geom.Point; var container:Sprite = new Sprite(); var square1:Sprite = new Sprite(); square1.graphics.beginFill(0xFFCC00); square1.graphics.drawRect(0, 0, 40, 40); var square2:Sprite = new Sprite(); square2.graphics.beginFill(0x00CCFF); square2.graphics.drawRect(20, 0, 30, 40); container.addChild(square1); container.addChild(square2); var pt:Point = new Point(10, 20); var objects:Array = container.getObjectsUnderPoint(pt); trace(objects.length); // 1 pt = new Point(35, 20); objects = container.getObjectsUnderPoint(pt); trace(objects.length); // 2
removeChild | () | 메서드 |
public function removeChild(child:DisplayObject):DisplayObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 child
DisplayObject 인스턴스를 DisplayObjectContainer 인스턴스의 자식 목록에서 제거합니다. 제거된 자식의 parent
속성은 null
로 설정되며, 해당 자식에 대한 다른 참조가 없을 경우 객체는 가비지 수집됩니다. DisplayObjectContainer에서 해당 자식의 위쪽에 있는 모든 표시 객체의 인덱스 위치는 1씩 줄어듭니다.
가비지 수집기는 미사용 메모리 공간을 재할당합니다. 현재 변수 또는 객체가 더 이상 다른 곳에 저장되거나 참조되지 않을 때 그에 대한 다른 참조가 없으면 가비지 수집기는 해당 변수 또는 객체가 차지하는 메모리 공간을 분석하고 정리합니다.
매개 변수
child:DisplayObject — 제거할 DisplayObject 인스턴스입니다.
|
DisplayObject — child 매개 변수를 통해 전달하는 DisplayObject 인스턴스입니다.
|
오류
ArgumentError — 자식 매개 변수가 이 객체의 자식이 아닐 때 발생합니다.
|
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 이 컨테이너에 두 개의 자식 표시 객체를 추가합니다. 이벤트 리스너를 container
객체에 추가함으로써 사용자가 컨테이너의 자식 객체를 클릭하면 removeChild()
메서드가 클릭된 자식을 컨테이너의 자식 목록에서 제거합니다.
import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); container.addChild(circle1); container.addChild(circle2); container.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { container.removeChild(DisplayObject(event.target)); }
removeChildAt | () | 메서드 |
public function removeChildAt(index:int):DisplayObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObjectContainer 자식 목록에서 지정된 index
위치에 있는 자식 DisplayObject를 제거합니다. 제거된 자식의 parent
속성은 null
로 설정되며, 해당 자식에 대한 다른 참조가 없을 경우 객체는 가비지 수집됩니다. DisplayObjectContainer에서 해당 자식의 위쪽에 있는 모든 표시 객체의 인덱스 위치는 1씩 줄어듭니다.
가비지 수집기는 미사용 메모리 공간을 재할당합니다. 현재 변수 또는 객체가 더 이상 다른 곳에 저장되거나 참조되지 않을 때 그에 대한 다른 참조가 없으면 가비지 수집기는 해당 변수 또는 객체가 차지하는 메모리 공간을 분석하고 정리합니다.
매개 변수
index:int — 제거할 DisplayObject의 자식 인덱스입니다.
|
DisplayObject — 제거된 DisplayObject 인스턴스입니다.
|
오류
SecurityError — 이 자식 표시 객체는 호출하는 객체가 액세스할 수 없는 샌드박스에 속합니다. 이러한 상황을 피하려면 자식 동영상에서 Security.allowDomain() 메서드를 호출하도록 합니다.
| |
RangeError — 자식 목록에 해당 인덱스가 없을 때 발생합니다.
|
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 이 컨테이너에 두 개의 자식 표시 객체를 추가합니다. 그런 다음 이 코드는 removeChildAt()
메서드를 호출하여 최하위 인덱스 위치(0)의 자식을 제거할 때 목록에 있는 나머지 모든 자식 객체가 한 자리씩 아래로 이동하는 것을 보여 줍니다.
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); trace(container.numChildren) // 2 container.removeChildAt(0); trace(container.numChildren) // 1 trace(container.getChildAt(0).name); // sprite2
removeChildren | () | 메서드 |
public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 3.0, Flash Player 11 |
모든 child
DisplayObject 인스턴스를 DisplayObjectContainer 인스턴스의 자식 목록에서 제거합니다. 제거된 자식의 parent
속성은 null
로 설정되며, 해당 자식에 대한 다른 참조가 없을 경우 객체는 가비지 수집됩니다.
가비지 수집기는 미사용 메모리 공간을 재할당합니다. 현재 변수 또는 객체가 더 이상 다른 곳에 저장되거나 참조되지 않을 때 그에 대한 다른 참조가 없으면 가비지 수집기는 해당 변수 또는 객체가 차지하는 메모리 공간을 분석하고 정리합니다.
매개 변수
beginIndex:int (default = 0 ) — 시작 위치입니다. 값이 0보다 작을 경우 RangeError 가 발생합니다.
| |
endIndex:int (default = 0x7fffffff ) — 끝 위치입니다. 값이 0보다 작을 경우 RangeError 가 발생합니다.
|
오류
RangeError — beginIndex 또는 endIndex 위치가 자식 목록에 있지 않을 경우 발생합니다.
|
setChildIndex | () | 메서드 |
public function setChildIndex(child:DisplayObject, index:int):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
표시 객체 컨테이너에서 기존 자식의 위치를 변경합니다. 이것은 자식 객체의 계층 구성에 영향을 줍니다. 예를 들어 다음 예제에서는 인덱스 위치가 각각 0, 1, 2인 세 개의 표시 객체 a, b, c를 보여 줍니다.
setChildIndex()
메서드를 사용하여 이미 사용 중인 인덱스 위치를 지정할 때 변경되는 위치는 표시 객체의 이전 위치와 새 위치뿐입니다. 다른 모든 것들은 그대로 있습니다. 자식이 현재 인덱스보다 낮은 인덱스로 이동되면 그 사이에 있는 모든 자식의 인덱스 참조가 하나씩 늘어납니다. 자식이 현재 인덱스보다 높은 인덱스로 이동되면 그 사이에 있는 모든 자식의 인덱스 참조가 하나씩 줄어듭니다. 예를 들어 이전 예제에서 다룬 표시 객체 컨테이너의 이름이 container
라면 다음 코드를 호출하여 a 표시 객체와 b 표시 객체의 위치를 맞바꿀 수 있습니다.
container.setChildIndex(container.getChildAt(1), 0);
이 코드는 객체를 다음과 같이 배열합니다.
매개 변수
child:DisplayObject — 인덱스 번호를 변경할 자식 DisplayObject 인스턴스입니다.
| |
index:int — child 표시 객체의 변경된 인덱스 번호입니다.
|
오류
RangeError — 자식 목록에 해당 인덱스가 없을 때 발생합니다.
| |
ArgumentError — 자식 매개 변수가 이 객체의 자식이 아닐 때 발생합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 약간씩 겹치는 세 개의 자식 표시 객체를 컨테이너에 추가합니다. 사용자가 이 객체 중 하나를 클릭하면 clicked()
메서드가 setChildIndex()
메서드를 호출하여 클릭된 객체를 container
객체의 자식 목록 중 최상위 위치로 이동시킵니다.
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.addEventListener(MouseEvent.CLICK, clicked); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(100, 40, 40); circle2.addEventListener(MouseEvent.CLICK, clicked); var circle3:Sprite = new Sprite(); circle3.graphics.beginFill(0x0000FF); circle3.graphics.drawCircle(70, 80, 40); circle3.addEventListener(MouseEvent.CLICK, clicked); container.addChild(circle1); container.addChild(circle2); container.addChild(circle3); addChild(container); function clicked(event:MouseEvent):void { var circle:Sprite = Sprite(event.target); var topPosition:uint = container.numChildren - 1; container.setChildIndex(circle, topPosition); }
stopAllMovieClips | () | 메서드 |
public function stopAllMovieClips():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 3.8, Flash Player 11.8 |
이 객체가 루트로 지정된 모든 MovieClip의 타임라인 실행을 재귀적으로 중지합니다.
실행 코드가 액세스할 수 없는 샌드박스에 속하는 자식 표시 객체는 무시됩니다.
참고: NetStream 객체를 통해 제어되는 스트리밍 미디어 재생은 중지되지 않습니다.
swapChildren | () | 메서드 |
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 두 개의 자식 객체의 z 순서(전후 순서)를 맞바꿉니다. 표시 객체 컨테이너에 있는 다른 모든 자식 객체의 인덱스 위치는 그대로 유지됩니다.
매개 변수
child1:DisplayObject — 첫 번째 자식 객체입니다.
| |
child2:DisplayObject — 두 번째 자식 객체입니다.
|
오류
ArgumentError — 어떤 자식 매개 변수도 이 객체의 자식이 아닐 때 발생합니다.
|
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 이 컨테이너에 두 개의 자식 표시 객체를 추가하고 swapChildren()
메서드를 호출한 결과를 보여 줍니다.
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); trace(container.getChildAt(0).name); // sprite1 trace(container.getChildAt(1).name); // sprite2 container.swapChildren(sprite1, sprite2); trace(container.getChildAt(0).name); // sprite2 trace(container.getChildAt(1).name); // sprite1
swapChildrenAt | () | 메서드 |
public function swapChildrenAt(index1:int, index2:int):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
자식 목록에서 지정된 두 곳의 인덱스 위치에 있는 자식 객체의 z 순서(전후 순서)를 맞바꿉니다. 표시 객체 컨테이너에 있는 다른 모든 자식 객체의 인덱스 위치는 그대로 유지됩니다.
매개 변수
index1:int — 첫 번째 자식 객체의 인덱스 위치입니다.
| |
index2:int — 두 번째 자식 객체의 인덱스 위치입니다.
|
오류
RangeError — 자식 목록에 둘 중 어떤 인덱스도 없는 경우입니다.
|
예제 ( 예제 사용 방법 )
container
라는 이름의 표시 객체 컨테이너를 만든 다음 이 컨테이너에 세 개의 자식 표시 객체를 추가하고 swapChildrenAt()
메서드를 호출하여 표시 객체 컨테이너의 자식 목록이 어떻게 재배치되는지 보여 줍니다.
import flash.display.Sprite; var container:Sprite = new 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"; container.addChild(sprite1); container.addChild(sprite2); container.addChild(sprite3); trace(container.getChildAt(0).name); // sprite1 trace(container.getChildAt(1).name); // sprite2 trace(container.getChildAt(2).name); // sprite3 container.swapChildrenAt(0, 2); trace(container.getChildAt(0).name); // sprite3 trace(container.getChildAt(1).name); // sprite2 trace(container.getChildAt(2).name); // sprite1
DisplayObjectContainerExample
클래스를 사용하여 다섯 개의 주황색 사각형을 연속해서 만듭니다. 이는 다음 단계로 이루어집니다.
- 생성자가
configureAssets()
메서드를 호출합니다. configureAssets()
메서드가child
및lastChild
Sprite 객체를 만듭니다.for
루프에서 다섯 개의 주황색 사각형을 만들고 차례로 위치를 정합니다.- CustomSprite 객체가 만들어질 때마다 그 생성자가
CustomSprite
객체의draw()
메서드를 호출하며, 이 메서드는 50 x 50픽셀 사각형을 만들기 위해 Graphics 클래스의beginFill()
,drawRect()
및endFill()
메서드를 호출합니다.addChild()
메서드는 각 사각형을 표시 목록에 추가합니다.
package { import flash.display.DisplayObject; import flash.display.Sprite; public class DisplayObjectContainerExample extends Sprite { private var gutter:uint = 5; private var childCount:uint = 5; public function DisplayObjectContainerExample() { configureAssets(); } private function configureAssets():void { var child:Sprite = new CustomSprite(); var lastChild:Sprite = child; for (var i:uint = 1; i <= childCount; i++) { child = new CustomSprite(); child.x = lastChild.x + lastChild.width + gutter; addChild(child); lastChild = child; } } } } import flash.display.Sprite; class CustomSprite extends Sprite { private var size:uint = 50; private var bgColor:uint = 0xFFCC00; public function CustomSprite() { draw(size, size); } private function draw(w:uint, h:uint):void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, w, h); graphics.endFill(); } }
Tue Jun 12 2018, 03:17 PM Z