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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

例を表示

関連項目

flash.display.DisplayObject
コア表示クラス
表示オブジェクトコンテナの操作


パブリック プロパティ
 プロパティ定義元
 InheritedaccessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
DisplayObject
 Inheritedalpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
DisplayObject
 InheritedblendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
DisplayObject
 InheritedcacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。
DisplayObject
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 InheritedcontextMenu : ContextMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
オブジェクトが doubleClick イベントを受け取るかどうかを指定します。
InteractiveObject
 Inheritedfilters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
DisplayObject
 InheritedfocusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。
InteractiveObject
 Inheritedheight : Number
表示オブジェクトの高さを示します (ピクセル単位)。
DisplayObject
 InheritedloaderInfo : LoaderInfo
[read-only] この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
 Inheritedmask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
  mouseChildren : Boolean
オブジェクトの子に対してマウスが有効かどうかを調べます。
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
このオブジェクトがマウスメッセージを受け取るかどうかを指定します。
InteractiveObject
 InheritedmouseX : Number
[read-only] マウス位置の x 座標を示します (ピクセル単位)。
DisplayObject
 InheritedmouseY : Number
[read-only] マウス位置の y 座標を示します (ピクセル単位)。
DisplayObject
 Inheritedname : String
DisplayObject のインスタンス名を示します。
DisplayObject
  numChildren : int
[read-only] このオブジェクトの子の数を返します。
DisplayObjectContainer
 InheritedopaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedroot : DisplayObject
[read-only] ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
DisplayObject
 Inheritedrotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
DisplayObject
 Inheritedscale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
DisplayObject
 InheritedscaleX : Number
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
DisplayObject
 InheritedscaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
DisplayObject
 InheritedscrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
DisplayObject
 Inheritedstage : Stage
[read-only] 表示オブジェクトのステージです。
DisplayObject
  tabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。
DisplayObjectContainer
 InheritedtabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。
InteractiveObject
 InheritedtabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。
InteractiveObject
  textSnapshot : TextSnapshot
[read-only] この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。
DisplayObjectContainer
 Inheritedtransform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
DisplayObject
 Inheritedvisible : Boolean
表示オブジェクトが可視かどうかを示します。
DisplayObject
 Inheritedwidth : Number
表示オブジェクトの幅を示します (ピクセル単位)。
DisplayObject
 Inheritedx : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
DisplayObject
 Inheritedy : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
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
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
DisplayObject
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
  
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。
DisplayObjectContainer
  
DisplayObjectContainer の子リストの指定されたインデックス位置から子 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 がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited 表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
 Inherited 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。DisplayObject
 Inherited ユーザーが InteractiveObject をポインティングデバイスのメインボタンでクリックしたときに送出されます。InteractiveObject
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
 Inherited オブジェクトの doubleClickEnabled フラグが true に設定されている場合にユーザーが InteractiveObject をポインティングデバイスのメインボタンで 2 回続けてすばやくクリックすると送出されます。InteractiveObject
 Inherited 再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
 Inherited 表示オブジェクトがフォーカスを取得したときに送出されます。InteractiveObject
 Inherited 表示オブジェクトがフォーカスを失ったときに送出されます。InteractiveObject
 Inherited ユーザーがキーを押したときに送出されます。InteractiveObject
 Inherited ユーザーがキーボード操作によってフォーカスを変更しようとすると送出されます。InteractiveObject
 Inherited ユーザーがキーを離したときに送出されます。InteractiveObject
 Inherited Flash Player ウィンドウの InteractiveObject インスタンスの上でユーザーがポインティングデバイスのボタンを押すと送出されます。InteractiveObject
 Inherited ユーザーがポインティングデバイスでフォーカスを変更しようとすると送出されます。InteractiveObject
 Inherited ユーザーが InteractiveObject の上でポインティングデバイスを移動させたときに送出されます。InteractiveObject
 Inherited ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 Inherited ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。InteractiveObject
 Inherited ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスの上でポインティングデバイスのボタンを解放したときに送出されます。InteractiveObject
 Inherited Flash Player ウィンドウの InteractiveObject インスタンスの上でマウスホイールを回転させたときに送出されます。InteractiveObject
 Inherited 表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited 表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
 Inherited ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 Inherited ユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。InteractiveObject
 Inherited オブジェクトの tabChildren フラグの値が変更されたときに送出されます。InteractiveObject
 Inherited オブジェクトの tabEnabled フラグが変更されたときに送出されます。InteractiveObject
 Inherited オブジェクトの tabIndex プロパティの値が変更されたときに送出されます。InteractiveObject
プロパティの詳細
mouseChildrenプロパティ
mouseChildren:Boolean  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : 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  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : 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  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : 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  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : 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
Player のバージョン : Flash Player 9

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

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

言語バージョン : ActionScript 3.0
Player のバージョン : 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
Player のバージョン : Flash Player 9

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

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

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

パラメータ

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
Player のバージョン : 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
Player のバージョン : 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
Player のバージョン : 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
Player のバージョン : 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
Player のバージョン : 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
Player のバージョン : 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
Player のバージョン : Flash Player 9

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

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

パラメータ

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

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

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



次の例では、container という名前の表示オブジェクトコンテナを作成し、次に 2 つの子表示オブジェクトをコンテナに追加します。イベントリスナーが container オブジェクトに追加されます。これは、ユーザーがコンテナの子オブジェクトをクリックし