パッケージflash.display
クラスpublic class DisplayObjectContainer
継承DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
サブクラス Loader, Sprite, Stage, TextLine

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

DisplayObjectContainer クラスは、表示リストで表示オブジェクトコンテナとして機能するすべてのオブジェクトの基本クラスです。表示リストは、Flash Player または Adobe AIR に表示されるすべてのオブジェクトを管理します。 DisplayObjectContainer クラスは、表示リスト内で表示オブジェクトを配置するために使用します。各 DisplayObjectContainer オブジェクトは、オブジェクトの z 順序を編成するために独自の子リストを持っています。z 順序は、どのオブジェクトを前面、背面、その他に描画するかを決定する、前から後ろへの順序です。

DisplayObject は抽象基本クラスであるため、DisplayObject を直接呼び出すことはできません。new DisplayObject() を呼び出すと ArgumentError 例外がスローされます。

DisplayObjectContainer クラスは、子オブジェクトを持つすべてのオブジェクトの抽象基本クラスです。これは直接インスタンス化することはできません。new DisplayObjectContainer() コンストラクタを呼び出すと、ArgumentError 例外がスローされます。

詳しくは、『ActionScript 3.0 のプログラミング』の「表示のプログラミング」の章を参照してください。

例を表示

関連項目

flash.display.DisplayObject
Core display classes
Working with display objects
Working with display object containers


パブリックプロパティ
 プロパティ定義元
 InheritedaccessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
DisplayObject
 Inheritedalpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
DisplayObject
 InheritedblendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
DisplayObject
 InheritedblendShader : Shader
[書き込み専用] 前景と背景のブレンドに使用するシェーダを設定します。
DisplayObject
 InheritedcacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player または Adobe AIR にキャッシュされます。
DisplayObject
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 InheritedcontextMenu : NativeMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
オブジェクトが doubleClick イベントを受け取るかどうかを指定します。
InteractiveObject
 Inheritedfilters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
DisplayObject
 InheritedfocusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。
InteractiveObject
 Inheritedheight : Number
表示オブジェクトの高さを示します(ピクセル単位)。
DisplayObject
 InheritedloaderInfo : LoaderInfo
[読み取り専用] この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
 Inheritedmask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
  mouseChildren : Boolean
オブジェクトの子に対してマウスが有効かどうかを調べます。
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
このオブジェクトがマウスメッセージを受け取るかどうかを指定します。
InteractiveObject
 InheritedmouseX : Number
[読み取り専用] マウス位置の x 座標を示します(ピクセル単位)。
DisplayObject
 InheritedmouseY : Number
[読み取り専用] マウス位置の y 座標を示します(ピクセル単位)。
DisplayObject
 Inheritedname : String
DisplayObject のインスタンス名を示します。
DisplayObject
  numChildren : int
[読み取り専用] このオブジェクトの子の数を返します。
DisplayObjectContainer
 InheritedopaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[読み取り専用] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedroot : DisplayObject
[読み取り専用] 読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
DisplayObject
 Inheritedrotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
DisplayObject
 InheritedrotationX : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。
DisplayObject
 InheritedrotationY : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。
DisplayObject
 InheritedrotationZ : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。
DisplayObject
 Inheritedscale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
DisplayObject
 InheritedscaleX : Number
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。
DisplayObject
 InheritedscaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(percentage)を示します。
DisplayObject
 InheritedscaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。
DisplayObject
 InheritedscrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
DisplayObject
 Inheritedstage : Stage
[読み取り専用] 表示オブジェクトのステージです。
DisplayObject
  tabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。
DisplayObjectContainer
 InheritedtabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。
InteractiveObject
 InheritedtabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。
InteractiveObject
  textSnapshot : TextSnapshot
[読み取り専用] この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。
DisplayObjectContainer
 Inheritedtransform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
DisplayObject
 Inheritedvisible : Boolean
表示オブジェクトが可視かどうかを示します。
DisplayObject
 Inheritedwidth : Number
表示オブジェクトの幅を示します(ピクセル単位)。
DisplayObject
 Inheritedx : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
DisplayObject
 Inheritedy : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
DisplayObject
 Inheritedz : Number
3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。
DisplayObject
パブリックメソッド
 メソッド定義元
  
新しい DisplayObjectContainer() コンストラクタを呼び出すと、ArgumentError 例外がスローされます。
DisplayObjectContainer
  
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
DisplayObjectContainer
  
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
  
特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。
DisplayObjectContainer
  
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。
DisplayObjectContainer
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
DisplayObject
  
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。
DisplayObjectContainer
  
指定された名前に一致する子表示オブジェクトを返します。
DisplayObjectContainer
  
子 DisplayObject インスタンスのインデックス位置を返します。
DisplayObjectContainer
  
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子(または孫など)であるオブジェクトの配列を返します。
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
DisplayObject
 Inherited
point オブジェクトをステージ(グローバル)座標から表示オブジェクトの(ローカル)座標に変換します。
DisplayObject
 Inherited
ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。
DisplayObject
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。
DisplayObject
 Inherited
point オブジェクトを表示オブジェクトの(ローカル)座標からステージ(グローバル)座標に変換します。
DisplayObject
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。
DisplayObjectContainer
  
DisplayObjectContainer の子リストの指定された index 位置から子 DisplayObject を削除します。
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
表示オブジェクトコンテナの既存の子の位置を変更します。
DisplayObjectContainer
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
指定された 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。
DisplayObjectContainer
  
swapChildrenAt(index1:int, index2:int):void
子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。
DisplayObjectContainer
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited「ブロードキャスト イベント」- Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
 Inherited表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。DisplayObject
 Inheritedユーザーがコンテキストメニューから「削除」を選択した場合に送信されます。InteractiveObject
 Inheritedユーザーが同じ InteractiveObject 上でポインティングデバイスのメインボタンを押して離すと送出されます。InteractiveObject
 InheritedAIR アプリケーションでこのインタラクティブオブジェクトに関連付けられているコンテキストメニューをユーザージェスチャがトリガすると送出されます。InteractiveObject
 Inheritedユーザーがコピー操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「コピー」を選択した場合に送信されます。InteractiveObject
 Inheritedユーザーがカット操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「カット」を選択した場合に送信されます。InteractiveObject
 Inherited「ブロードキャストイベント」- Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
 Inheritedオブジェクトの doubleClickEnabled フラグが true に設定されている場合にユーザーが InteractiveObject をポインティングデバイスのメインボタンで 2 回続けてすばやくクリックすると送出されます。InteractiveObject
 Inherited[ブロードキャストイベント] 再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
 Inherited[ブロードキャストイベント] 再生ヘッドが現在のフレームを終了するときに送出されます。DisplayObject
 Inherited表示オブジェクトがフォーカスを取得した後に送出されます。InteractiveObject
 Inherited表示オブジェクトがフォーカスを失った後に送出されます。InteractiveObject
 Inherited[ブロードキャストイベント] フレーム表示オブジェクトのコンストラクタが実行した後で、かつフレームスクリプトが実行される前に送出されます。DisplayObject
 Inheritedユーザーがキーを押したときに送出されます。InteractiveObject
 Inheritedユーザーがキーボード操作によってフォーカスを変更しようとすると送出されます。InteractiveObject
 Inheritedユーザーがキーを離したときに送出されます。InteractiveObject
 Inheritedユーザーが同じ InteractiveObject 上でポインティングデバイスの中央ボタンを押して離すと送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンス上でポインティングデバイスの中央ボタンを押したときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを押したときに送出されます。InteractiveObject
 Inheritedユーザーがポインティングデバイスでフォーカスを変更しようとすると送出されます。InteractiveObject
 InheritedInteractiveObject の上で、ユーザーがポインティングデバイスを移動させたときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。InteractiveObject
 Inheritedマウスホイールが InteractiveObject インスタンス上を回転するときに送出されます。InteractiveObject
 Inheritedユーザーがドラッグジェスチャを止めると、ドラッグイニシエータ InteractiveObject から送出されます。InteractiveObject
 Inheritedドラッグされたオブジェクトがターゲットにドロップされ、そのドロップ操作が DragManager.acceptDragDrop() の呼び出しで受け入れられた場合に、ターゲットの InteractiveObject から送出されます。InteractiveObject
 Inheritedドラッグジェスチャが境界に入ると、InteractiveObject から送出されます。InteractiveObject
 Inheritedドラッグジェスチャが境界を出ると、InteractiveObject から送出されます。InteractiveObject
 Inheritedドラッグジェスチャが境界の範囲内で行われている間、InteractiveObject から継続的に送出されます。InteractiveObject
 Inheritedドラッグ操作の開始時に、DragManager.doDrag() 呼び出しのドラッグイニシエータとして指定されている InteractiveObject から送出されます。InteractiveObject
 Inheritedドラッグ操作が行われている間に、DragManager.doDrag() 呼び出しのドラッグイニシエータとして指定されている InteractiveObject から送出されます。InteractiveObject
 Inheritedユーザーがペースト操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「ペースト」を選択した場合に送信されます。InteractiveObject
 Inherited表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited[ブロードキャストイベント] 表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
 Inheritedユーザーが同じ InteractiveObject 上でポインティングデバイスの右ボタンを押して離すと送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを押したときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 Inheritedユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。InteractiveObject
 Inheritedユーザーがすべて選択操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「すべて選択」を選択した場合に送信されます。InteractiveObject
 Inheritedオブジェクトの tabChildren フラグの値が変更されたときに送出されます。InteractiveObject
 Inheritedオブジェクトの tabEnabled フラグが変更されたときに送出されます。InteractiveObject
 Inheritedオブジェクトの tabIndex プロパティの値が変更されたときに送出されます。InteractiveObject
プロパティの詳細
mouseChildrenプロパティ
mouseChildren:Boolean  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

オブジェクトの子に対してマウスが有効かどうかを調べます。オブジェクトが使用可能なマウスの場合、マウスを使用して対話できます。デフォルト値は true です。

このプロパティは、SimpleButton クラスではなく、Sprite クラスのインスタンスを使用してボタンを作成するときに役立ちます。Sprite インスタンスを使用してボタンを作成する場合、他の Sprite インスタンスを追加するために addChild() メソッドを使用してボタンの修飾を選択できます。子として追加する Sprite インスタンスは、親インスタンスをターゲットオブジェクトとすることを想定するときに、マウスイベントのターゲットオブジェクトとなる場合があるため、マウスイベントについて予期しない動作を引き起こす可能性があります。親インスタンスが確実にマウスイベントのターゲットオブジェクトになるようにするには、親インスタンスの mouseChildren プロパティを false に設定します。

このプロパティを設定しても、イベントは送出されません。インタラクティブな機能を作成するには、addEventListener() メソッドを使用する必要があります。



実装
    public function get mouseChildren():Boolean
    public function set mouseChildren(value:Boolean):void

関連項目



次の例では、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

このオブジェクトの子の数を返します。



実装
    public function get numChildren():int

関連項目



次の例では、container1 および container2 という名前の 2 つの Sprite オブジェクトを設定します。 Sprite は表示オブジェクトコンテナの 1 つです。 例では、addChild() メソッドを呼び出して、次のような表示階層を設定します。container1container2 の子で、他の 2 つの表示オブジェクト circle1circle2 は、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

オブジェクトの子に対してタブが有効かどうかを調べます。オブジェクトの子に対してタブを有効または無効にします。デフォルト値は true です。



実装
    public function get tabChildren():Boolean
    public function set tabChildren(value:Boolean):void

例外
IllegalOperationError — Stage オブジェクトのこのプロパティを呼び出すと、例外がスローされます。Stage オブジェクトはこのプロパティを実装しません。


次の例では、container1 表示オブジェクトコンテナを作成し、2 つの表示オブジェクト circle1circle2 をその子リストに追加します。 例では、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);
この例の結果を表示するには、ファイルをコンパイルして実行します。いずれかの円をクリックした後に、Tab キーを押すと、フォーカスがある表示オブジェクトを切り替えることができます。フォーカスを持っている表示オブジェクトは、黄色でハイライト表示された矩形で示されます。
textSnapshotプロパティ 
textSnapshot:TextSnapshot  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。



実装
    public function get textSnapshot():TextSnapshot

関連項目



次に示す例は、Flash オーサリング環境でのみ機能します。Flex では、静止テキストをファイルに追加する方法はありません。この例のための Flash ファイルを準備するには、ムービーの最初のフレームに静止テキストフィールドを追加します。その後、最初のフレームに次に示すスクリプトを挿入して、ファイルを実行します。出力は、追加した静止テキストとなります。
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
コンストラクタの詳細
DisplayObjectContainer()コンストラクタ
public function DisplayObjectContainer()

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

new DisplayObjectContainer() コンストラクタを呼び出すと、ArgumentError 例外がスローされます。ただし、次に示す DisplayObjectContainer のサブクラスについてはコンストラクタを呼び出すことができます

メソッドの詳細
addChild()メソッド
public function addChild(child:DisplayObject):DisplayObject

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。子インスタンスは、この DisplayObjectContainer インスタンスにある他のすべての子の前(上)に追加されます(特定のインデックス位置に子を追加する場合は、addChildAt() メソッドを使用します)。

既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。

パラメータ

child:DisplayObject — この DisplayObjectContainer インスタンスの子として追加する DisplayObject インスタンスです。

戻り値
DisplayObjectchild パラメータで渡す DisplayObject インスタンスです。

イベント
added:Event — 表示オブジェクトが表示リストに追加されたときに送出されます。

例外
ArgumentError — 子が親と同じ場合にスローされます。呼び出し元が、追加されている子の子(または孫など)の場合もスローされます。

関連項目




次の例では、container1 および container2 という名前の 2 つの Sprite オブジェクトを設定します。 Sprite は表示オブジェクトコンテナの 1 つです。 例では、addChild() メソッドを呼び出して、次のような表示階層を設定します。container1container2 の子で、他の 2 つの表示オブジェクト circle1circle2 は、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

この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。子インスタンスは、指定されたインデックス位置に追加されます。インデックス 0 は、この DisplayObjectContainer オブジェクトの表示リストの背景または一番下を表します。

例えば、a、b、c というラベルの 3 個の表示オブジェクトをインデックス位置 0、2、1 にそれぞれ配置すると、以下のようになります。

a の上に c、c の上に b

既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。

パラメータ

child:DisplayObject — この DisplayObjectContainer インスタンスの子として追加する DisplayObject インスタンスです。
 
index:int — 子を追加するインデックス位置です。既にオブジェクトが置かれているインデックス位置を指定すると、その位置にあるオブジェクトとその上に位置するすべてのオブジェクトが、子リスト内で 1 つ上の位置に移動します。

戻り値
DisplayObjectchild パラメータで渡す DisplayObject インスタンスです。

イベント
added:Event — 表示オブジェクトが表示リストに追加されたときに送出されます。

例外
RangeError — インデックス位置が子リストに存在しない場合にスローされます。
 
ArgumentError — 子が親と同じ場合にスローされます。呼び出し元が、追加されている子の子(または孫など)の場合もスローされます。

関連項目




次の例では、container 表示オブジェクトコンテナを作成し、表示オブジェクト circle1 をその表示リストに追加します。次に container.addChildAt(circle2, 0) を呼び出します。これは、circle2 オブジェクトをインデックス位置ゼロ(黒)に追加し、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

特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。デフォルトでは、Security.allowDomain() メソッドの呼び出しによって許可されていない限り、あるドメインのコンテンツから別のドメインのオブジェクトにアクセスすることはできません。

詳しくは、次のトピックを参照してください。

point パラメータは、ステージの座標空間内にあり、表示オブジェクトコンテナの座標空間とは異なる場合があります。ただし、表示オブジェクトがステージである場合、座標空間は同じです。globalToLocal() メソッドおよび localToGlobal() メソッドを使用すると、これらの座標空間の間でポイントを変換できます。

パラメータ

point:Point — 注目するポイントです。

戻り値
Booleantrue は、そのポイントがセキュリティ上の制限のある子表示オブジェクトを含んでいることを示します。

関連項目




次に示すコードは container という名前の表示オブジェクトコンテナを作成します。 次のコードブロックでは、Loader オブジェクトを使用してリモートファイルサーバーから「test.jpg」という名前の JPEG ファイルを読み込みます。 LoaderContext オブジェクトの checkPolicyFile プロパティ(load() メソッドでパラメータとして使用)が、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."); 
}
この例では、このコードによって生成される SWF ファイルが JPEG ファイルとは異なるドメインから読み込まれ、読み込まれた JPEG ファイルがポイント (1, 1) に置かれることを想定しています。
contains()メソッド 
public function contains(child:DisplayObject):Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。検索には、この DisplayObjectContainer インスタンスの入った表示リスト全体が含まれます。孫、ひ孫などがそれぞれ true を返します。

パラメータ

child:DisplayObject — テストする子オブジェクトです。

戻り値
Booleantrue となります(child オブジェクトが DisplayObjectContainer の子であるか、コンテナ自体である場合)。そうでない場合は、false となります。



次の例では、Sprite オブジェクトの数を設定し、いくつかを他の子リストに追加します。Sprite オブジェクトは、表示オブジェクトコンテナの 1 つです。さまざまなオブジェクト間の関係は、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

指定のインデックス位置にある子表示オブジェクトインスタンスを返します。

パラメータ

index:int — 子オブジェクトのインデックス位置です。

戻り値
DisplayObject — 指定されたインデックス位置にある子表示オブジェクトです。

例外
RangeError — インデックスが子リストに存在しない場合にスローされます。
 
SecurityError — この子表示オブジェクトは、アクセス権が与えられていない Sandbox に属しています。子ムービーで Security.allowDomain() を呼び出すことにより、この状況を回避できます。

関連項目




次の例では、container という名前の表示オブジェクトコンテナを作成し、次に 3 つの表示オブジェクトを 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

指定された名前に一致する子表示オブジェクトを返します。指定された名前を持つ子表示オブジェクトが複数存在する場合、メソッドは子リストの最初のオブジェクトを返します。

getChildAt() メソッドは、getChildByName() メソッドよりも処理が高速です。getChildAt() メソッドはキャッシュ配列の子にアクセスしますが、getChildByName() メソッドでは子にアクセスするためにリンクされたリストを移動する必要があります。

パラメータ

name:String — 返される子の名前です。

戻り値
DisplayObject — 指定された名前を持つ子表示オブジェクトです。

例外
SecurityError — この子表示オブジェクトは、アクセス権が与えられていない Sandbox に属しています。子ムービーで Security.allowDomain() メソッドを呼び出すことにより、この状況を回避できます。

関連項目




次の例では、container という名前の表示オブジェクトコンテナを作成し、次に 2 つの子表示オブジェクトをコンテナに追加します。次にコードは 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

child DisplayObject インスタンスのインデックス位置を返します。

パラメータ

child:DisplayObject — 特定する DisplayObject インスタンスです。

戻り値
int — 特定する子表示オブジェクトのインデックス位置です。

例外
ArgumentError — 子パラメータがこのオブジェクトの子でない場合にスローされます。



次の例では、container という名前の表示オブジェクトコンテナを作成し、次に 2 つの子表示オブジェクトをコンテナに追加します。次にコードは 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

指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子(または孫など)であるオブジェクトの配列を返します。セキュリティ上の理由でアクセスできない子オブジェクトは返される配列から除かれます。このようなセキュリティ上の制限が、返される配列に与えている影響について判別するには、areInaccessibleObjectsUnderPoint() メソッドを呼び出します。

point パラメータは、ステージの座標空間内にあり、表示オブジェクトコンテナの座標空間とは異なる場合があります。ただし、表示オブジェクトがステージである場合、座標空間は同じです。globalToLocal() メソッドおよび localToGlobal() メソッドを使用すると、これらの座標空間の間でポイントを変換できます。

パラメータ

point:Point — 注目するポイントです。

戻り値
Array — 指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子または孫などであるオブジェクトの配列です。

関連項目




次の例では、container という名前の表示オブジェクトコンテナを作成し、次に重なり合う 2 つの子表示オブジェクトをコンテナに追加します。さらにコードは getObjectsUnderPoint() を 2 回(最初は 1 つのオブジェクトのみに接するポイントを使用して、次にオブジェクトが重なり合うポイントを使用して)呼び出し、返された 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

DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。削除された子の parent プロパティは null に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。DisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。

ガベージコレクターは、未使用のメモリスペースの再割り当てを行います。 変数またはオブジェクトがアクティブに参照されなくなり、任意の場所に保存されていない場合、ガベージコレクターによってメモリ内が探索され、それらに対する参照が存在しなければメモリスペースを占有している変数またはオブジェクトが一掃されます。

パラメータ

child:DisplayObject — 削除する DisplayObject インスタンスです。

戻り値
DisplayObjectchild パラメータで渡す DisplayObject インスタンスです。

例外
ArgumentError — 子パラメータがこのオブジェクトの子でない場合にスローされます。



次の例では、container という名前の表示オブジェクトコンテナを作成し、次に 2 つの子表示オブジェクトをコンテナに追加します。イベントリスナーが 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

DisplayObjectContainer の子リストの指定された index 位置から子 DisplayObject を削除します。削除された子の parent プロパティは null に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。DisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。

ガベージコレクターは、未使用のメモリスペースの再割り当てを行います。 変数またはオブジェクトがアクティブに参照されなくなり、任意の場所に保存されていない場合、ガベージコレクターによってメモリ内が探索され、それらに対する参照が存在しなければメモリスペースを占有している変数またはオブジェクトが一掃されます。

パラメータ

index:int — 削除する DisplayObject の子インデックスです。

戻り値
DisplayObject — 削除された DisplayObject インスタンスです。

例外
SecurityError — この子表示オブジェクトは、呼び出し元オブジェクトにアクセス権が与えられていない Sandbox に属しています。子ムービーで Security.allowDomain() メソッドを呼び出すことにより、この状況を回避できます。
 
RangeError — インデックスが子リストに存在しない場合にスローされます。



次の例では、container という名前の表示オブジェクトコンテナを作成し、次に 2 つの子表示オブジェクトをコンテナに追加します。removeChildAt() メソッドを呼び出して、最下位のインデックス位置 (0) にある子を削除するときに、リスト内の他の子オブジェクトが 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()メソッド 
public function setChildIndex(child:DisplayObject, index:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

表示オブジェクトコンテナの既存の子の位置を変更します。これは、子オブジェクトのレイヤーに影響します。例えば、a、b、c というラベルの 3 個の表示オブジェクトをインデックス位置 0、1、2 にそれぞれ配置すると、以下のようになります。

a の上に b、b の上に c

setChildIndex() を使用し、既に占有されているインデックス位置を指定した場合、表示オブジェクトの前の位置と新しい位置の間にある位置だけが変化します。その他は変化しません。現在のインデックスよりも小さいインデックスに子を移動すると、その間のすべての子が、それぞれのインデックス参照について 1 増加します。現在のインデックスよりも大きいインデックスに子を移動すると、その間のすべての子が、それぞれのインデックス参照について 1 減少します。例えば、上記の例の表示オブジェクトコンテナの名前が container である場合、次に示すコードを呼び出すことによって、a および b というラベルが付けられた表示オブジェクトの位置を入れ替えることができます。

container.setChildIndex(container.getChildAt(1), 0);

このコードによって、次に示すようなオブジェクトの配置になります。

b の上に a、a の上に c

パラメータ

child:DisplayObject — インデックス番号を変更する子 DisplayObject インスタンスです。
 
index:intchild 表示オブジェクトの結果のインデックス番号です。


例外
RangeError — インデックスが子リストに存在しない場合にスローされます。
 
ArgumentError — 子パラメータがこのオブジェクトの子でない場合にスローされます。

関連項目




次の例では、container という名前の表示オブジェクトコンテナを作成し、次に少しずつ重なり合う 3 つの子表示オブジェクトをコンテナに追加します。ユーザーがこれらのオブジェクトのいずれかをクリックしたとき、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);
}
swapChildren()メソッド 
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

指定された 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。表示オブジェクトコンテナの他のすべての子オブジェクトは、同じインデックス位置に残されます。

パラメータ

child1:DisplayObject — 先頭の子オブジェクトです。
 
child2:DisplayObject — 2 番目の子オブジェクトです。


例外
ArgumentError — 子パラメータがいずれもこのオブジェクトの子でない場合にスローされます。



次の例では、container という名前の表示オブジェクトコンテナを作成し、次に 2 つの子表示オブジェクトをコンテナに追加して、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

子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。表示オブジェクトコンテナの他のすべての子オブジェクトは、同じインデックス位置に残されます。

パラメータ

index1:int — 最初の子オブジェクトのインデックス位置です。
 
index2:int — 2 番目の子オブジェクトのインデックス位置です。


例外
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.as

次の例では、クラス DisplayObjectContainerExample を使用して、5 つのオレンジ色の四角形を連続して作成します。これを行うには、以下の手順を実行します。
  1. コンストラクタは configureAssets() メソッドを呼び出します。
  2. configureAssets() メソッドは、child および lastChild Sprite オブジェクトを作成します。
  3. for ループは、オレンジ色の四角形を 5 個作成し、それらを 1 つずつ配置します。
  4. CustomSprite オブジェクトが作成されるたびに、そのコンストラクタは draw() メソッド(CustomSprite オブジェクトのメソッド)を呼び出します。これにより、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();
    }
}