| パッケージ | flash.display |
| public class DisplayObjectContainer | |
| 継承 | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| Subclasses | Loader, Sprite, Stage |
DisplayObject は抽象基本クラスであるため、DisplayObject を直接呼び出すことはできません。new DisplayObject() を呼び出すと ArgumentError 例外がスローされます。
new DisplayObjectContainer() コンストラクタを呼び出すと、ArgumentError 例外がスローされます。
詳しくは、『ActionScript 3.0 のプログラミング』の「表示のプログラミング」の章を参照してください。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
| DisplayObject | |
![]() | alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
| DisplayObject | |
![]() | blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
| DisplayObject | |
![]() | cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。 | DisplayObject | |
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
![]() | contextMenu : ContextMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。
| InteractiveObject | |
![]() | doubleClickEnabled : Boolean
オブジェクトが
doubleClick イベントを受け取るかどうかを指定します。 | InteractiveObject | |
![]() | filters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
| DisplayObject | |
![]() | focusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。
| InteractiveObject | |
![]() | height : Number
表示オブジェクトの高さを示します (ピクセル単位)。
| DisplayObject | |
![]() | loaderInfo : LoaderInfo
この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
| DisplayObject | |
![]() | mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された
mask オブジェクトによってマスクされます。 | DisplayObject | |
| mouseChildren : Boolean
オブジェクトの子に対してマウスが有効かどうかを調べます。
| DisplayObjectContainer | ||
![]() | mouseEnabled : Boolean
このオブジェクトがマウスメッセージを受け取るかどうかを指定します。
| InteractiveObject | |
![]() | mouseX : Number
マウス位置の x 座標を示します (ピクセル単位)。
| DisplayObject | |
![]() | mouseY : Number
マウス位置の y 座標を示します (ピクセル単位)。
| DisplayObject | |
![]() | name : String
DisplayObject のインスタンス名を示します。
| DisplayObject | |
| numChildren : int
[read-only]
このオブジェクトの子の数を返します。
| DisplayObjectContainer | ||
![]() | opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
| DisplayObject | |
![]() | parent : DisplayObjectContainer
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
| DisplayObject | |
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
![]() | root : DisplayObject
ロードされた SWF ファイル内の表示オブジェクトの場合、
root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | |
![]() | rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
| DisplayObject | |
![]() | scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
| DisplayObject | |
![]() | scaleX : Number
基準点から適用されるオブジェクトの水平スケール (
percentage) を示します。 | DisplayObject | |
![]() | scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (
percentage) を示します。 | DisplayObject | |
![]() | scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界。
| DisplayObject | |
![]() | stage : Stage
表示オブジェクトのステージ。
| DisplayObject | |
| tabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。
| DisplayObjectContainer | ||
![]() | tabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。
| InteractiveObject | |
![]() | tabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。
| InteractiveObject | |
| textSnapshot : TextSnapshot
[read-only]
この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。
| DisplayObjectContainer | ||
![]() | transform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
| DisplayObject | |
![]() | visible : Boolean
表示オブジェクトが可視かどうかを示します。
| DisplayObject | |
![]() | width : Number
表示オブジェクトの幅を示します (ピクセル単位)。
| DisplayObject | |
![]() | x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
| DisplayObject | |
![]() | y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
| DisplayObject | |
| メソッド | 定義 | ||
|---|---|---|---|
DisplayObjectContainer()
new DisplayObjectContainer() コンストラクタを呼び出すと、ArgumentError 例外がスローされます。 | DisplayObjectContainer | ||
| addChild(child:DisplayObject):DisplayObject
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
| DisplayObjectContainer | ||
| addChildAt(child:DisplayObject, index:int):DisplayObject
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
| DisplayObjectContainer | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
| areInaccessibleObjectsUnderPoint(point:Point):Boolean
特定の
point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。 | DisplayObjectContainer | ||
| contains(child:DisplayObject):Boolean
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。
| DisplayObjectContainer | ||
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() | getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | |
| getChildAt(index:int):DisplayObject
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。
| DisplayObjectContainer | ||
| getChildByName(name:String):DisplayObject
指定された名前に一致する子表示オブジェクトを返します。
| DisplayObjectContainer | ||
getChildIndex(child:DisplayObject):int
child DisplayObject インスタンスのインデックス位置を返します。 | DisplayObjectContainer | ||
| getObjectsUnderPoint(point:Point):Array
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子または孫などであるオブジェクトの配列を返します。
| DisplayObjectContainer | ||
![]() | getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、
targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | |
![]() | globalToLocal(point:Point):Point
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。 | DisplayObject | |
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | hitTestObject(obj:DisplayObject):Boolean
表示オブジェクトを評価して、
obj 表示オブジェクトと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() | hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、
x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() | localToGlobal(point:Point):Point
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。 | DisplayObject | |
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
| removeChild(child:DisplayObject):DisplayObject
DisplayObjectContainer インスタンスの子リストから指定の
child DisplayObject インスタンスを削除します。 | DisplayObjectContainer | ||
| removeChildAt(index:int):DisplayObject
DisplayObjectContainer の子リストの指定された
index 位置から子 DisplayObject を削除します。 | DisplayObjectContainer | ||
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
| setChildIndex(child:DisplayObject, index:int):void
表示オブジェクトコンテナの既存の子の位置を変更します。
| DisplayObjectContainer | ||
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
| swapChildren(child1:DisplayObject, child2:DisplayObject):void
指定された 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。
| DisplayObjectContainer | ||
| swapChildrenAt(index1:int, index2:int):void
子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。
| DisplayObjectContainer | ||
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| mouseChildren | プロパティ |
mouseChildren:Boolean [read-write]
オブジェクトの子に対してマウスが有効かどうかを調べます。オブジェクトが使用可能なマウスの場合、マウスを使用して対話できます。デフォルト値は true です。
このプロパティは、SimpleButton クラスではなく、Sprite クラスのインスタンスを使用してボタンを作成するときに役立ちます。Sprite インスタンスを使用してボタンを作成する場合、他の Sprite インスタンスを追加するために addChild() メソッドを使用してボタンの修飾を選択できます。子として追加する Sprite インスタンスは、親インスタンスをターゲットオブジェクトとすることを想定するときに、マウスイベントのターゲットオブジェクトとなる場合があるため、マウスイベントについて予期しない動作を引き起こす可能性があります。親インスタンスが確実にマウスイベントのターゲットオブジェクトになるようにするには、親インスタンスの mouseChildren プロパティを false に設定します。
このプロパティを設定すると、イベントは送出されなくなります。インタラクティブな機能を作成するには、addEventListener() メソッドを使用する必要があります。
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean):void
関連項目
container という名前の、表示オブジェクトコンテナの 1 つである 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]このオブジェクトの子の数を返します。
実装 public function get numChildren():int
関連項目
container1 および
container2 という名前の 2 つの Sprite オブジェクトを設定します。Sprite は表示オブジェクトコンテナの 1 つです。この例では、
addChild() メソッドを呼び出して、次のような表示階層を設定します。container1 は、
container2 の子であり、他の 2 つの表示オブジェクト 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 [read-write]オブジェクトの子に対してタブが有効かどうかを調べます。オブジェクトの子に対してタブを有効または無効にします。
実装 public function get tabChildren():Boolean
public function set tabChildren(value:Boolean):void
IllegalOperationError — Stage オブジェクトのこのプロパティを呼び出すと、例外がスローされます。Stage オブジェクトはこのプロパティを実装しません。
|
container1 表示オブジェクトコンテナを作成して、
2 つのタブ表示可能な表示オブジェクトである circle1 と circle2 を
その子リストに追加します。
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 | プロパティ |
textSnapshot:TextSnapshot [read-only]この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。
実装 public function get textSnapshot():TextSnapshot
関連項目
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
| DisplayObjectContainer | () | コンストラクタ |
public 関数 DisplayObjectContainer()
new DisplayObjectContainer() コンストラクタを呼び出すと、ArgumentError 例外がスローされます。しかし、次に示す DisplayObjectContainer のサブクラスについてはコンストラクタを呼び出すことができます。
new Loader()new Sprite()new MovieClip()| addChild | () | メソッド |
public function addChild(child:DisplayObject):DisplayObject
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。子インスタンスは、この DisplayObjectContainer インスタンスにある他のすべての子の前 (上) に追加されます。特定のインデックス位置に子を追加する場合は、addChildAt() メソッドを使用します。
既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。
パラメータchild:DisplayObject — この DisplayObjectContainer インスタンスの子として追加する DisplayObject インスタンスです。
|
DisplayObject —
child パラメータで渡す DisplayObject インスタンスです。
|
added:Event — 表示オブジェクトが表示リストに追加されたときに送出されます。 |
ArgumentError — 子が親と同じ場合にスローされます。
|
関連項目
container1 および
container2 という名前の 2 つの Sprite オブジェクトを設定します。Sprite は表示オブジェクトコンテナの 1 つです。この例では、
addChild() メソッドを呼び出して、次のような表示階層を設定します。container1 は、
container2 の子であり、他の 2 つの表示オブジェクト 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この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。子インスタンスは、指定されたインデックス位置に追加されます。インデックス 0 は、この DisplayObjectContainer オブジェクトの表示リストの背景または一番下を表します。
たとえば、a、b、d というラベルの 3 個の表示オブジェクトをインデックス位置 0、2、1 にそれぞれ配置すると、以下のようになります。

既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。
パラメータchild:DisplayObject — この DisplayObjectContainer インスタンスの子として追加する DisplayObject インスタンスです。
|
|
index:int — 子を追加するインデックス位置です。既にオブジェクトが置かれているインデックス位置を指定すると、その位置にあるオブジェクトとその上に位置するすべてのオブジェクトが、子リスト内で 1 つ上の位置に移動します。
|
DisplayObject —
child パラメータで渡す DisplayObject インスタンスです。
|
added:Event — 表示オブジェクトが表示リストに追加されたときに送出されます。 |
RangeError — インデックス位置が子リストに存在しない場合にスローされます。
|
|
ArgumentError — 子が親と同じ場合にスローされます。
|
関連項目
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
特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。デフォルトでは、Security.allowDomain() メソッドの呼び出しによって許可されていない限り、あるドメインのコンテンツから別のドメインのオブジェクトにアクセスすることはできません。
詳細については、次のトピックを参照してください。
point パラメータは、ステージの座標空間内にあり、表示オブジェクトコンテナの座標空間とは異なる場合があります。ただし、表示オブジェクトがステージである場合、座標空間は同じです。globalToLocal() メソッドおよび localToGlobal() メソッドを使用すると、これらの座標空間の間でポイントを変換できます。
point:Point — 注目するポイントです。
|
Boolean —
true は、そのポイントがセキュリティ上の制限のある子表示オブジェクトを含んでいることを示します。
|
関連項目
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.");
}
| contains | () | メソッド |
public function contains(child:DisplayObject):Boolean
指定された表示オブジェクトが、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指定のインデックス位置にある子表示オブジェクトインスタンスを返します。
パラメータindex:int — 子オブジェクトのインデックス位置です。
|
DisplayObject —
指定されたインデックス位置にある子表示オブジェクトです。
|
RangeError — インデックスが子リストに存在しない場合にスローされます。
|
|
SecurityError — この子表示オブジェクトは、アクセス権が与えられていないサンドボックスに属しています。子ムービーで Security.allowDomain() を呼び出すことにより、この状況を回避できます。
|
関連項目
container
という名前の表示オブジェクトコンテナを作成してから、container オブジェクトの子リストに 3 つの表示オブジェクトを追加します。
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指定された名前に一致する子表示オブジェクトを返します。指定された名前を持つ子表示オブジェクトが複数存在する場合、メソッドは子リストの最初のオブジェクトを返します。
getChildAt() メソッドは、getChildByName() メソッドよりも処理が高速です。getChildAt() メソッドはキャッシュ配列の子にアクセスしますが、getChildByName() メソッドでは子にアクセスするためにリンクされたリストを移動する必要があります。
name:String — 返される子の名前。
|
DisplayObject —
指定された名前を持つ子表示オブジェクトです。
|
SecurityError — この子表示オブジェクトは、アクセス権が与えられていないサンドボックスに属しています。子ムービーで 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
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
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子または孫などであるオブジェクトの配列を返します。セキュリティ上の理由でアクセスできない子オブジェクトは返される配列から除かれます。このようなセキュリティ上の制限が、返される配列に与えている影響について判別するには、areInaccessibleObjectsUnderPoint() メソッドを呼び出します。
point パラメータは、ステージの座標空間内にあり、表示オブジェクトコンテナの座標空間とは異なる場合があります。ただし、表示オブジェクトがステージである場合、座標空間は同じです。globalToLocal() メソッドおよび localToGlobal() メソッドを使用すると、これらの座標空間の間でポイントを変換できます。
point:Point — 注目するポイントです。
|
Array —
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子または孫などであるオブジェクトの配列。
|
関連項目
container
という名前の表示オブジェクトコンテナを作成して、そのコンテナに重なり合う 2 つの子表示オブジェクトを追加します。その後、コードは
getObjectsUnderPoint() を 2 回呼び出します。最初の呼び出しでは 1 つのオブジェクトだけに接するポイントを使用し、
次の呼び出しでは、オブジェクトが重なり合うポイントを使用します。返される配列の 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
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。削除された子の parent プロパティは null に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。DisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。
ガベージコレクターとは、Flash Player が未使用のメモリースペースを再割り当てする処理のことです。変数またはオブジェクトがアクティブに参照されなくなり、任意の場所に保存されていない場合、ガベージコレクターによってメモリー内が探索され、それらに対する参照が存在しなければメモリースペースを占有している変数またはオブジェクトが一掃されます。
パラメータchild:DisplayObject — 削除する DisplayObject インスタンスです。
|
DisplayObject —
child パラメータで渡す 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
DisplayObjectContainer の子リストの指定された index 位置から子 DisplayObject を削除します。削除された子の parent プロパティは null に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。DisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。
ガベージコレクターとは、Flash Player が未使用のメモリースペースを再割り当てする処理のことです。変数またはオブジェクトがアクティブに参照されなくなり、任意の場所に保存されていない場合、ガベージコレクターによってメモリー内が探索され、それらに対する参照が存在しなければメモリースペースを占有している変数またはオブジェクトが一掃されます。
パラメータindex:int — 削除するDisplayObject の子インデックスです。
|
DisplayObject —
削除された DisplayObject インスタンスです。
|
SecurityError — この子表示オブジェクトは、呼び出し元オブジェクトにアクセス権が与えられていないサンドボックスに属しています。子ムービーで 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表示オブジェクトコンテナの既存の子の位置を変更します。これは、子オブジェクトのレイヤーに影響します。たとえば、a、b、c というラベルの 3 個の表示オブジェクトをインデックス位置 0、1、2 にそれぞれ配置すると、以下のようになります。

setChildIndex() メソッドを使用して、既に使用されているインデックス位置を指定する場合、その位置を使用している子と、子リストでその子より上位にあるすべてのオブジェクトは、リスト上の位置が 1 つ上がります。たとえば、上記の例の表示オブジェクトコンテナの名前が container である場合、次に示すコードを呼び出すことによって、a および b というラベルが付けられた表示オブジェクトの位置を入れ替えることができます。
container.setChildIndex(container.getChildAt(1), 0);
このコードによって、次に示すようなオブジェクトの配置になります。

child:DisplayObject — インデックス番号を変更する子 DisplayObject インスタンスです。
|
|
index:int — child 表示オブジェクトの結果のインデックス番号です。
|
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指定された 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子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。表示オブジェクトコンテナの他のすべての子オブジェクトは、同じインデックス位置に残されます。
パラメータindex1:int — 最初の子オブジェクトのインデックス位置です。
|
|
index2:int — 2 番目の子オブジェクトのインデックス位置です。
|
RangeError — インデックスが子リストに存在しません。
|
container という名前の表示オブジェクトコンテナを作成してから、そのコンテナに 3 つの子表示オブジェクトを追加します。
さらに、表示オブジェクトコンテナの子リストを再配置する 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 クラスを使用して、
オレンジ色の四角形を 5 個連続して作成します。これを行うには、以下の手順を実行します。
configureAssets() メソッドを呼び出します。configureAssets() メソッドは、child と
lastChild の Sprite オブジェクトを作成します。for ループは、オレンジ色の四角形を 5 個