| Package | flash.display |
| Class | public class DisplayObjectContainer |
| Inheritance | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| Subclasses | Loader , Sprite , Stage |
DisplayObject 는 추상 기본 클래스이기 (위해)때문에, DisplayObject 를 직접 호출할 수 없습니다. new DisplayObject() 를 호출하면 ArgumentError 예외가 슬로우 됩니다.
new DisplayObjectContainer() constructor 을 호출하면,ArgumentError 예외가 슬로우 됩니다.
자세하게는, 「ActionScript 3.0 의 프로그래밍」의 「표시의 프로그래밍」의 장을 참조해 주세요.
See also
| property | 정의 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
이 표시 object의 현재의 accessibility options입니다.
| DisplayObject | |
![]() | alpha : Number
지정된 object의 알파 투명도 값을 나타냅니다.
| DisplayObject | |
![]() | blendMode : String
사용하는 브렌드 모드를 지정하는 BlendMode 클래스의 값입니다.
| DisplayObject | |
![]() | cacheAsBitmap : Boolean
true 로 설정되어 있는 경우, 표시 object의 내부 비트 맵 표현이 Flash Player 에 캐쉬됩니다. | DisplayObject | |
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
![]() | contextMenu : ContextMenu
이 object에 관련지을 수 있었던 context menu를 지정합니다.
| InteractiveObject | |
![]() | doubleClickEnabled : Boolean
object가
doubleClick 이벤트를 받을지 어떨지를 지정합니다. | InteractiveObject | |
![]() | filters : Array
표시 object에 현재 관련지을 수 있고 있는 각 필터 object가 포함되고 있는 인덱스 첨부의 배열입니다.
| DisplayObject | |
![]() | focusRect : Object
이 object가 포커스 구형을 표시할지 어떨지를 지정합니다.
| InteractiveObject | |
![]() | height : Number
표시 object의 높이를 나타냅니다 (픽셀 단위).
| DisplayObject | |
![]() | loaderInfo : LoaderInfo
이 표시 object가 속하는 파일의 로드 정보를 포함한 LoaderInfo object를 돌려줍니다.
| DisplayObject | |
![]() | mask : DisplayObject
호출원 display object는, 지정된
mask object에 의해 마스크 됩니다. | DisplayObject | |
| mouseChildren : Boolean
object의 아이에 대해서 마우스가 유효한가 어떤가를 조사합니다.
| DisplayObjectContainer | ||
![]() | mouseEnabled : Boolean
이 object가 마우스 메세지를 받아들일지 어떨지를 지정합니다.
| InteractiveObject | |
![]() | mouseX : Number
마우스 위치의 x 좌표를 나타냅니다 (픽셀 단위).
| DisplayObject | |
![]() | mouseY : Number
마우스 위치의 y 좌표를 나타냅니다 (픽셀 단위).
| DisplayObject | |
![]() | name : String
DisplayObject 의 인스턴스명을 나타냅니다.
| DisplayObject | |
| numChildren : int
[read-only]
이 object의 아이의 수를 돌려줍니다.
| DisplayObjectContainer | ||
![]() | opaqueBackground : Object
표시 object가 특정의 배경색으로 불투명한지 어떤지를 지정합니다.
| DisplayObject | |
![]() | parent : DisplayObjectContainer
이 표시 object를 포함한 DisplayObjectContainer object를 나타냅니다.
| DisplayObject | |
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
![]() | root : DisplayObject
로드 된 SWF 파일내 display object의 경우,
root property는 그 SWF 파일이 나타내는 표시 리스트의 트리 구조 부분의 맨 위에 있는 표시 object가 됩니다. | DisplayObject | |
![]() | rotation : Number
DisplayObject 인스턴스의 원래의 위치로부터의 회전각을 번단위로 가리킵니다.
| DisplayObject | |
![]() | scale9Grid : Rectangle
현재 유효한 확대 / 축소 격자입니다.
| DisplayObject | |
![]() | scaleX : Number
기준점으로부터 적용되는 object의 수평 스케일 (
percentage)을 나타냅니다. | DisplayObject | |
![]() | scaleY : Number
object의 기준점으로부터 적용되는 object의 수직 스케일 (
percentage)을 나타냅니다. | DisplayObject | |
![]() | scrollRect : Rectangle
표시 object의 스크롤 구형의 경계.
| DisplayObject | |
![]() | stage : Stage
표시 object의 스테이지.
| DisplayObject | |
| tabChildren : Boolean
object의 아이에 대해서 탭이 유효한가 어떤가를 조사합니다.
| DisplayObjectContainer | ||
![]() | tabEnabled : Boolean
이 object가 탭 순서에 포함될지 어떨지를 지정합니다.
| InteractiveObject | |
![]() | tabIndex : int
SWF 파일내의 object의 탭 순서를 지정합니다.
| InteractiveObject | |
| textSnapshot : TextSnapshot
[read-only]
이 DisplayObjectContainer 인스턴스의 TextSnapshot object를 돌려줍니다.
| DisplayObjectContainer | ||
![]() | transform : Transform
표시 object의 매트릭스, 칼라 변환, 픽셀 경계에 관계하는 property를 가지는 object입니다.
| DisplayObject | |
![]() | visible : Boolean
표시 object가 가시인가 어떤가를 나타냅니다.
| DisplayObject | |
![]() | width : Number
표시 object의 폭을 나타냅니다 (픽셀 단위).
| DisplayObject | |
![]() | x : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 x 좌표를 나타냅니다.
| DisplayObject | |
![]() | y : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 y 좌표를 나타냅니다.
| DisplayObject | |
| Methods | 정의 | ||
|---|---|---|---|
DisplayObjectContainer ()
new DisplayObjectContainer() constructor 을 호출하면,ArgumentError 예외가 슬로우 됩니다. | DisplayObjectContainer | ||
| addChild (child:DisplayObject ):DisplayObject
이 DisplayObjectContainer 인스턴스에 child DisplayObject 인스턴스를 추가합니다.
| DisplayObjectContainer | ||
| addChildAt (child:DisplayObject , index:int ):DisplayObject
이 DisplayObjectContainer 인스턴스에 child DisplayObject 인스턴스를 추가합니다.
| DisplayObjectContainer | ||
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
| areInaccessibleObjectsUnderPoint (point:Point ):Boolean
특정의
point 포인트를 지정해 호출한 DisplayObjectContainer.getObjectsUnderPoint() Methods로부터 돌려주어진 리스트에, 시큐러티상의 제약을 위해서(때문에) 생략 되는 표시 object가 있을지 어떨지를 나타냅니다. | DisplayObjectContainer | ||
| contains (child:DisplayObject ):Boolean
지정된 표시 object가, DisplayObjectContainer 인스턴스의 아이인지, 인스턴스 자체인지를 지정합니다.
| DisplayObjectContainer | ||
![]() | dispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
| EventDispatcher | |
![]() | getBounds (targetCoordinateSpace:DisplayObject ):Rectangle
targetCoordinateSpace object의 좌표계를 기준으로 해, 표시 object의 area를 정의하는 구형을 돌려줍니다. | DisplayObject | |
| getChildAt (index:int ):DisplayObject
지정의 인덱스 위치에 있는 child 표시 object 인스턴스를 돌려줍니다.
| DisplayObjectContainer | ||
| getChildByName (name:String ):DisplayObject
지정된 이름에 일치하는 child 표시 object를 돌려줍니다.
| DisplayObjectContainer | ||
getChildIndex (child:DisplayObject ):int
child DisplayObject 인스턴스의 인덱스 위치를 돌려줍니다. | DisplayObjectContainer | ||
| getObjectsUnderPoint (point:Point ):Array
지정된 포인트아래에 있어, 이 DisplayObjectContainer 인스턴스의 child 또는 손자등인 object의 배열을 돌려줍니다.
| DisplayObjectContainer | ||
![]() | getRect (targetCoordinateSpace:DisplayObject ):Rectangle
셰이프상의 선을 제외해,
targetCoordinateSpace Parameters에 의해 정의된 좌표계에 근거해, 표시 object의 경계를 정의하는 구형을 돌려줍니다. | DisplayObject | |
![]() | globalToLocal (point:Point ):Point
point object를 스테이지 (글로벌) 좌표로부터 표시 object의 (로컬) 좌표로 변환합니다. | DisplayObject | |
![]() | hasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
| EventDispatcher | |
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | hitTestObject (obj:DisplayObject ):Boolean
표시 object를 평가해,
obj 표시 object와 중복 또는 교차할지 어떨지를 조사합니다. | DisplayObject | |
![]() | hitTestPoint (x:Number , y:Number , shapeFlag:Boolean = false):Boolean
표시 object를 평가해,
x 및 y Parameters로 지정된 포인트와 중복 또는 교차할지 어떨지를 조사합니다. | DisplayObject | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | localToGlobal (point:Point ):Point
point object를 표시 object의 (로컬) 좌표로부터 스테이지 (글로벌) 좌표로 변환합니다. | DisplayObject | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
| removeChild (child:DisplayObject ):DisplayObject
DisplayObjectContainer 인스턴스의 child 리스트로부터 지정의
child DisplayObject 인스턴스를 삭제합니다. | DisplayObjectContainer | ||
| removeChildAt (index:int ):DisplayObject
DisplayObjectContainer 의 child 리스트의 지정된
index 위치로부터 child DisplayObject 를 삭제합니다. | DisplayObjectContainer | ||
![]() | removeEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
| EventDispatcher | |
| setChildIndex (child:DisplayObject , index:int ):void
표시 object 컨테이너의 기존의 아이의 위치를 변경합니다.
| DisplayObjectContainer | ||
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
| swapChildren (child1:DisplayObject , child2:DisplayObject ):void
지정된 2 살의 child object의 z 순서 (겹침순서)를 바꿔 넣습니다.
| DisplayObjectContainer | ||
| swapChildrenAt (index1:int , index2:int ):void
아이 리스트내의 지정된 인덱스 위치에 해당하는 2 살의 child object의 z 순서 (겹침순서)를 바꿔 넣습니다.
| DisplayObjectContainer | ||
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
![]() | willTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
| EventDispatcher | |
| mouseChildren | property |
mouseChildren:Boolean [read-write]
object의 아이에 대해서 마우스가 유효한가 어떤가를 조사합니다. object가 사용 가능한 마우스의 경우, 마우스를 사용해 대화할 수 있습니다. 디폴트치는 true 입니다.
이 property는, SimpleButton 클래스는 아니고, Sprite 클래스의 인스턴스를 사용해 버튼을 작성할 경우에 도움이 됩니다. Sprite 인스턴스를 사용해 버튼을 작성하는 경우, 다른 Sprite 인스턴스를 추가하기 위해서 addChild() Methods를 사용해 버튼의 수식을 선택할 수 있습니다. 아이로서 추가하는 Sprite 인스턴스는, 친인스턴스를 타겟 object로 하는 것을 상정할 경우에, 마우스 이벤트의 타겟 object가 되는 경우가 있기 (위해)때문에, 마우스 이벤트에 대해 예기치 않은 동작을 일으킬 가능성이 있습니다. 친인스턴스가 확실히 마우스 이벤트의 타겟 object가 되도록(듯이) 하려면 , 친인스턴스의 mouseChildren property를 false 로 설정합니다.
이 property를 설정하면, 이벤트는 dispatch되지 않게 됩니다. 인터랙티브인 기능을 작성하려면 ,addEventListener() Methods를 사용할 필요가 있습니다.
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean ):void
See also
container 라는 이름의, 표시 object 컨테이너의 1 개인 Sprite object를 설정해, 그 mouseChildren property를
false 로 설정할 경우에,mouseClick 이벤트의 타겟이 그 child object의 언젠가는 아니고,container
object인 것을 나타내고 있습니다.
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 | property |
numChildren:int [read-only]이 object의 아이의 수를 돌려줍니다.
Implements public function get numChildren():int
See also
container1 및
container2 라는 이름의 2 개의 Sprite object를 설정합니다. Sprite 는 표시 object 컨테이너의 1 개입니다. 이 예에서는,
addChild() Methods를 호출해, 다음과 같은 표시 계층을 설정합니다. container1 는,
container2 의 아이이며, 다른 2 개 display object circle1 및 circle2 는,
container1 의 아이입니다. trace() Methods를 호출하면,
각 object의 아이의 수가 표시됩니다. 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 | property |
tabChildren:Boolean [read-write]object의 아이에 대해서 탭이 유효한가 어떤가를 조사합니다. object의 아이에 대해서 탭을 유효 또는 무효로 합니다.
Implements public function get tabChildren():Boolean
public function set tabChildren(value:Boolean ):void
IllegalOperationError — Stage object의 이 property를 호출하면, 예외가 슬로우 됩니다. Stage object는 이 property를 Implements하지 않습니다.
|
container1 표시 object 컨테이너를 작성해,
2 살의 탭 표시 가능한 표시 object인 circle1 와 circle2 를
그 child 리스트에 추가합니다.
import flash.display.Sprite; var container:Sprite = new Sprite(); container.tabChildren = true; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.tabEnabled = true; var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); circle2.tabEnabled = true; container.addChild(circle1); container.addChild(circle2);
| textSnapshot | property |
textSnapshot:TextSnapshot [read-only]이 DisplayObjectContainer 인스턴스의 TextSnapshot object를 돌려줍니다.
Implements public function get textSnapshot():TextSnapshot
See also
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
| DisplayObjectContainer | () | constructor |
public 함수 DisplayObjectContainer()
new DisplayObjectContainer() constructor 을 호출하면,ArgumentError 예외가 슬로우 됩니다. 그러나,다음에 나타내는 DisplayObjectContainer 의 서브 클래스에 대해서는 constructor 을 호출할 수가 있습니다.
new Loader()new Sprite()new MovieClip()| addChild | () | Methods |
public function addChild(child:DisplayObject ):DisplayObject
이 DisplayObjectContainer 인스턴스에 child DisplayObject 인스턴스를 추가합니다. child 인스턴스는, 이 DisplayObjectContainer 인스턴스에 있는 다른 모든 아이의 앞 (위)에 추가됩니다. 특정의 인덱스 위치에 아이를 추가하는 경우는,addChildAt() Methods를 사용합니다.
이미 다른 표시 object 컨테이너를 부모에게 가지는 child object를 추가하는 경우는, 이제(벌써) 한편 display object 컨테이너의 child 리스트로부터 그 object가 삭제됩니다.
Parameterschild:DisplayObject — 이 DisplayObjectContainer 인스턴스의 아이로서 추가하는 DisplayObject 인스턴스입니다.
|
DisplayObject —
child Parameters로 건네주는 DisplayObject 인스턴스입니다.
|
added:Event — 표시 object가 표시 리스트에 추가되었을 때에 dispatch됩니다. |
ArgumentError — 자가 부모와 같은 경우에 슬로우 됩니다.
|
See also
container1 및
container2 라는 이름의 2 개의 Sprite object를 설정합니다. Sprite 는 표시 object 컨테이너의 1 개입니다. 이 예에서는,
addChild() Methods를 호출해, 다음과 같은 표시 계층을 설정합니다. container1 는,
container2 의 아이이며, 다른 2 개 display object circle1 및 circle2 는,
container1 의 아이입니다. trace() Methods를 호출하면,
각 object의 아이의 수가 표시됩니다. 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 | () | Methods |
public function addChildAt(child:DisplayObject , index:int ):DisplayObject 이 DisplayObjectContainer 인스턴스에 child DisplayObject 인스턴스를 추가합니다. child 인스턴스는, 지정된 인덱스 위치에 추가됩니다. 인덱스 0 은, 이 DisplayObjectContainer object 보기 리스트의 배경 또는 맨 밑을 나타냅니다.
예를 들어, a, b, d 라고 하는 label의 3 개 display object를 인덱스 위치 0, 2, 1 에 각각 배치하면, 이하와 같이 됩니다.

이미 다른 표시 object 컨테이너를 부모에게 가지는 child object를 추가하는 경우는, 이제(벌써) 한편 display object 컨테이너의 child 리스트로부터 그 object가 삭제됩니다.
Parameterschild:DisplayObject — 이 DisplayObjectContainer 인스턴스의 아이로서 추가하는 DisplayObject 인스턴스입니다.
|
|
index:int — 자를 추가하는 인덱스 위치입니다. 이미 object가 놓여져 있는 인덱스 위치를 지정하면, 그 위치에 있는 object와 그 위에 위치하는 모든 object가, child 리스트내에서 1 개상의 위치로 이동합니다.
|
DisplayObject —
child Parameters로 건네주는 DisplayObject 인스턴스입니다.
|
added:Event — 표시 object가 표시 리스트에 추가되었을 때에 dispatch됩니다. |
RangeError — 인덱스 위치가 child 리스트에 존재하지 않는 경우에 슬로우 됩니다.
|
|
ArgumentError — 자가 부모와 같은 경우에 슬로우 됩니다.
|
See also
container 표시 object 컨테이너를 작성해,
표시 object circle1 를 표시 리스트에 추가합니다. 그 후,
container.addChildAt(circle2, 0) 를 호출해,circle2 object를 인덱스 위치.
0 (배면)에 추가해,circle1 object를 인덱스 위치 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 | () | Methods |
public function areInaccessibleObjectsUnderPoint(point:Point ):Boolean
특정의 point 포인트를 지정해 호출한 DisplayObjectContainer.getObjectsUnderPoint() Methods로부터 돌려주어진 리스트에, 시큐러티상의 제약을 위해서(때문에) 생략 되는 표시 object가 있을지 어떨지를 나타냅니다. 디폴트에서는,Security.allowDomain() Methods의 호출에 의해 허가되어 있지 않은 한, 어느 도메인의 컨텐츠로부터 다른 도메인의 object에 액세스 할 수 없습니다.
상세한 것에 대하여는, 다음의 주제를 참조해 주세요.
point Parameters는, 스테이지의 좌표 공간내에 있어, 표시 object 컨테이너의 좌표 공간과는 다른 경우가 있습니다. 다만, 표시 object가 스테이지인 경우, 좌표 공간은 같습니다. globalToLocal() Methods 및 localToGlobal() Methods를 사용하면, 이러한 좌표 공간의 사이에 포인트를 변환할 수 있습니다.
point:Point — 주목하는 포인트입니다.
|
Boolean —
true 는, 그 포인트가 시큐러티상의 제한이 있는 child 표시 object를 포함하고 있는 것을 나타냅니다.
|
See also
container 라는 이름 display object 컨테이너를 작성합니다.
다음의 코드 블록에서는, Loader object를 사용해 리모트 파일 서버로부터 "test.jpg" 라는 이름의 JPEG 파일을 로드합니다.
LoaderContext object의 checkPolicyFile property
(load() Methods의 Parameters로서 사용된다)는false 로 설정됩니다. 파일이 일단 로드 되면, 코드는
loaded() Methods를 호출해, 다음에 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 | () | Methods |
public function contains(child:DisplayObject ):Boolean
지정된 표시 object가, DisplayObjectContainer 인스턴스의 아이인지, 인스턴스 자체인지를 지정합니다. 검색에는, 이 DisplayObjectContainer 인스턴스가 들어간 표시 리스트 전체가 포함됩니다. 손자, 히 손자등이 각각 true 를 돌려줍니다.
child:DisplayObject — 테스트하는 child object입니다.
|
Boolean —
child object가 DisplayObjectContainer 의 아이인지, 컨테이너 자체인 경우,true 가 됩니다. 그렇지 않은 경우는,false 가 됩니다.
|
contains() Methods를 호출하는 것에 의해 표시됩니다.
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 | () | Methods |
public function getChildAt(index:int ):DisplayObject 지정의 인덱스 위치에 있는 child 표시 object 인스턴스를 돌려줍니다.
Parametersindex:int — 자 object의 인덱스 위치입니다.
|
DisplayObject —
지정된 인덱스 위치에 있는 child 표시 object입니다.
|
RangeError — 인덱스가 child 리스트에 존재하지 않는 경우에 슬로우 됩니다.
|
|
SecurityError — 이 child 표시 object는, 액세스권이 주어지지 않은 샌드 박스에 속하고 있습니다. child 무비로 Security.allowDomain() 를 호출하는 것으로, 이 상황을 회피할 수 있습니다.
|
See also
container
(이)라는 이름 display object 컨테이너를 작성하고 나서,container object의 child 리스트에 3 개 display object를 추가합니다.
getChildAt() Methods를 호출하면, child object의 위치가 표시됩니다.
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 | () | Methods |
public function getChildByName(name:String ):DisplayObject 지정된 이름에 일치하는 child 표시 object를 돌려줍니다. 지정된 이름을 가지는 child 표시 object가 복수 존재하는 경우, Methods는 child 리스트의 최초의 object를 돌려줍니다.
getChildAt() Methods는,getChildByName() Methods보다 처리가 고속으로. getChildAt() Methods는 캐쉬 배열의 아이에게 액세스 합니다만,getChildByName() Methods에서는 아이에게 액세스 하기 위해서 링크 된 리스트를 이동할 필요가 있습니다.
name:String — 돌려주어지는 아이의 이름.
|
DisplayObject —
지정된 이름을 가지는 child 표시 object입니다.
|
SecurityError — 이 child 표시 object는, 액세스권이 주어지지 않은 샌드 박스에 속하고 있습니다. child 무비로 Security.allowDomain() Methods를 호출하는 것으로, 이 상황을 회피할 수 있습니다.
|
See also
container 라는 이름 display object 컨테이너를 작성하고 나서, 2 살의 child 표시 object를 컨테이너에 추가합니다.
그 후, 코드는 getChildByName() Methods 및 getChildIndex()
Methods를 호출해,container object
(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 | () | Methods |
public function getChildIndex(child:DisplayObject ):int
child DisplayObject 인스턴스의 인덱스 위치를 돌려줍니다.
child:DisplayObject — 특정하는 DisplayObject 인스턴스입니다.
|
int —
특정하는 child 표시 object의 인덱스 위치입니다.
|
ArgumentError — 자 Parameters가 이 object의 아이가 아닌 경우에 슬로우 됩니다.
|
container 라는 이름 display object 컨테이너를 작성하고 나서, 2 살의 child 표시 object를 컨테이너에 추가합니다.
그 후, 코드는 getChildByName() Methods 및 getChildIndex()
Methods를 호출해,container object
(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 | () | Methods |
public function getObjectsUnderPoint(point:Point ):Array
지정된 포인트아래에 있어, 이 DisplayObjectContainer 인스턴스의 child 또는 손자등인 object의 배열을 돌려줍니다. 시큐러티상의 이유로써 액세스 할 수 없는 child object는 돌려주어지는 배열로부터 제외해집니다. 이러한 시큐러티상의 제한이, 돌려주어지는 배열에게 주고 있는 영향에 대해 판별하려면 ,areInaccessibleObjectsUnderPoint() Methods를 호출합니다.
point Parameters는, 스테이지의 좌표 공간내에 있어, 표시 object 컨테이너의 좌표 공간과는 다른 경우가 있습니다. 다만, 표시 object가 스테이지인 경우, 좌표 공간은 같습니다. globalToLocal() Methods 및 localToGlobal() Methods를 사용하면, 이러한 좌표 공간의 사이에 포인트를 변환할 수 있습니다.
point:Point — 주목하는 포인트입니다.
|
Array —
지정된 포인트아래에 있어, 이 DisplayObjectContainer 인스턴스의 child 또는 손자등인 object의 배열.
|
See also
container
(이)라는 이름 display object 컨테이너를 작성해, 그 컨테이너서로 과 겹쳐지는 2 살의 child 표시 object를 추가합니다. 그 후, 코드는
getObjectsUnderPoint() 를 2 회 호출합니다. 최초의 호출에서는 1 개의 object인 만큼 접하는 포인트를 사용해,
다음의 호출에서는, object가 서로 겹치는 포인트를 사용합니다. 돌려주어지는 배열의 length 는,
컨테이너내의 각 포인트에서의 object의 수를 나타냅니다.
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 | () | Methods |
public function removeChild(child:DisplayObject ):DisplayObject
DisplayObjectContainer 인스턴스의 child 리스트로부터 지정의 child DisplayObject 인스턴스를 삭제합니다. 삭제된 아이의 parent property는 null 로 설정됩니다. 그 아이에 대한 참조가 존재하지 않는 경우, 그 object는 가베지 콜렉션에 의해 수집됩니다. DisplayObjectContainer 의 아이보다 상위에 있는 표시 object의 인덱스 위치는 1 개 내립니다.
가베지 컬렉터란, Flash Player 가 미사용의 메모리 스페이스를 재할인 맞히고 하는 처리입니다. 변수 또는 object가 액티브하게 참조되지 않게 되어, 임의의 장소에 보존되어 있지 않은 경우, 가베지 컬렉터에 의해 메모리내가 탐색되어 그것들에 대한 참조가 존재하지 않으면 메모리 스페이스를 점유 하고 있는 변수 또는 object가 일소 됩니다.
Parameterschild:DisplayObject — 삭제하는 DisplayObject 인스턴스입니다.
|
DisplayObject —
child Parameters로 건네주는 DisplayObject 인스턴스입니다.
|
ArgumentError — 자 Parameters가 이 object의 아이가 아닌 경우에 슬로우 됩니다.
|
container 라는 이름 display object 컨테이너를 작성하고 나서, 2 살의 child 표시 object를 컨테이너에 추가합니다.
event listener가 container object에 추가되면,
유저가 컨테이너의 child object를 클릭할 경우에,removeChild() Methods가,
컨테이너의 child 리스트로부터 클릭한 아이를 삭제하게 됩니다.
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 | () | Methods |
public function removeChildAt(index:int ):DisplayObject
DisplayObjectContainer 의 child 리스트의 지정된 index 위치로부터 child DisplayObject 를 삭제합니다. 삭제된 아이의 parent property는 null 로 설정됩니다. 그 아이에 대한 참조가 존재하지 않는 경우, 그 object는 가베지 콜렉션에 의해 수집됩니다. DisplayObjectContainer 의 아이보다 상위에 있는 표시 object의 인덱스 위치는 1 개 내립니다.
가베지 컬렉터란, Flash Player 가 미사용의 메모리 스페이스를 재할인 맞히고 하는 처리입니다. 변수 또는 object가 액티브하게 참조되지 않게 되어, 임의의 장소에 보존되어 있지 않은 경우, 가베지 컬렉터에 의해 메모리내가 탐색되어 그것들에 대한 참조가 존재하지 않으면 메모리 스페이스를 점유 하고 있는 변수 또는 object가 일소 됩니다.
Parametersindex:int — 삭제하는 DisplayObject 의 child 인덱스입니다.
|
DisplayObject —
삭제된 DisplayObject 인스턴스입니다.
|
SecurityError — 이 child 표시 object는, 호출원object에 액세스권이 주어지지 않은 샌드 박스에 속하고 있습니다. child 무비로 Security.allowDomain() Methods를 호출하는 것으로, 이 상황을 회피할 수 있습니다.
|
|
RangeError — 인덱스가 child 리스트에 존재하지 않는 경우에 슬로우 됩니다.
|
container 라는 이름 display object 컨테이너를 작성하고 나서, 2 살의 child 표시 object를 컨테이너에 추가합니다.
계속되는 코드는,removeChildAt() Methods를 호출해
최하정도의 인덱스 위치 (0)에 있는 아이를 삭제할 경우에, 리스트내의 다른 child object가
1 개 내리는 것을 나타내고 있습니다.
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
| setChildIndex | () | Methods |
public function setChildIndex(child:DisplayObject , index:int ):void 표시 object 컨테이너의 기존의 아이의 위치를 변경합니다. 이것은, child object의 layer에 영향을 줍니다. 예를 들어, a, b, c 라고 하는 label의 3 개 display object를 인덱스 위치 0, 1, 2 에 각각 배치하면, 이하와 같이 됩니다.

setChildIndex() Methods를 사용해, 이미 사용되고 있는 인덱스 위치를 지정하는 경우, 그 위치를 사용하고 있는 아이와 child 리스트로 그 아이보다 상위에 있는 모든 object는, 리스트상의 위치가 1 개 오릅니다. 예를 들어, 상기의 View the examples object 컨테이너의 이름이 container 인 경우, 다음에 나타내는 코드를 호출하는 것에 의해, a 및 b 라고 하는 label를 붙일 수 있었던 표시 object의 위치를 바꿔 넣을 수가 있습니다.
container.setChildIndex(container.getChildAt(1), 0);
이 코드에 의해, 다음에 나타내는 것 같은 object의 배치가 됩니다.

child:DisplayObject — 인덱스 번호를 변경하는 child DisplayObject 인스턴스입니다.
|
|
index:int — child 표시 object의 결과의 인덱스 번호입니다.
|
RangeError — 인덱스가 child 리스트에 존재하지 않는 경우에 슬로우 됩니다.
|
|
ArgumentError — 자 Parameters가 이 object의 아이가 아닌 경우에 슬로우 됩니다.
|
See also
container 라는 이름 display object 컨테이너를 작성해, 조금씩 서로 겹치는 3 개의
child 표시 object를 컨테이너에 추가합니다. 유저가 이러한 object를 클릭하면,
clicked() Methods는 setChildIndex()
Methods를 호출해, 클릭한 object를
container object의 child 리스트의 최상정도로 이동합니다.
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);
}
| swapChildren | () | Methods |
public function swapChildren(child1:DisplayObject , child2:DisplayObject ):void 지정된 2 살의 child object의 z 순서 (겹침순서)를 바꿔 넣습니다. 표시 object 컨테이너의 다른 모든 child object는, 같은 인덱스 위치에 남겨집니다.
Parameterschild1:DisplayObject — 선두의 child object입니다.
|
|
child2:DisplayObject — 2 번째의 child object입니다.
|
ArgumentError — 자 Parameters가 모두 이 object의 아이가 아닌 경우에 슬로우 됩니다.
|
container 라는 이름 display object 컨테이너를 작성하고 나서, 그 컨테이너에 2 살의 child 표시 object를 추가합니다.
게다가swapChildren() Methods를 호출하는 경우의 영향을 나타내고 있습니다.
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 | () | Methods |
public function swapChildrenAt(index1:int , index2:int ):void 아이 리스트내의 지정된 인덱스 위치에 해당하는 2 살의 child object의 z 순서 (겹침순서)를 바꿔 넣습니다. 표시 object 컨테이너의 다른 모든 child object는, 같은 인덱스 위치에 남겨집니다.
Parametersindex1:int — 최초의 child object의 인덱스 위치입니다.
|
|
index2:int — 2 번째의 child object의 인덱스 위치입니다.
|
RangeError — 인덱스가 child 리스트에 존재하지 않습니다.
|
container 라는 이름 display object 컨테이너를 작성하고 나서, 그 컨테이너에 3 살의 child 표시 object를 추가합니다.
게다가 표시 object 컨테이너의 child 리스트를 재배치하는 swapChildrenAt() Methods의
호출 방법을 나타내고 있습니다.
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 클래스를 사용해,
오렌지색의 사각형을 5 개 연속해 작성합니다. 이것을 실시하려면 , 이하의 순서를 실행합니다.
configureAssets() Methods를 호출합니다. configureAssets() Methods는,child 와
lastChild 의 Sprite object를 작성합니다. for 루프는, 오렌지색의 사각형을 5 개 작성해,
그것들을 1 개씩 배치합니다. draw()
Methods (CustomSprite object)를 호출합니다. 이것은,
Graphics 클래스의 beginFill(),drawRect(), 및 endFill() Methods를 호출하는 것에 의해,
50 픽셀 사방의 사각형을 작성합니다. addChild() Methods에 의해, 각각의 사각형을
표시 리스트에 추가합니다.
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();
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/display/DisplayObjectContainer.html