パッケージ | flash.display |
クラス | public class DisplayObjectContainer |
継承 | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
サブクラス | Loader, Sprite, Stage, TextLine |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject は抽象基本クラスであるため、DisplayObject を直接呼び出すことはできません。new DisplayObject()
を呼び出すと ArgumentError
例外がスローされます。
new DisplayObjectContainer()
コンストラクターを呼び出すと、ArgumentError
例外がスローされます。
詳しくは、『ActionScript 3.0 開発ガイド』の「表示のプログラミング」の章を参照してください。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
この InteractiveObject インスタンスの現在のアクセシビリティの実装(AccessibilityImplementation)です。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。 | DisplayObject | ||
alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。 | DisplayObject | ||
blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。 | DisplayObject | ||
blendShader : Shader [書き込み専用]
前景と背景のブレンドに使用するシェーダーを設定します。 | DisplayObject | ||
cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash ランタイムにキャッシュされます。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
null 以外の場合、この Matrix オブジェクトは、cacheAsBitmap を true に設定したときの表示オブジェクトのレンダリング方法を定義します。 | DisplayObject | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
contextMenu : NativeMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。 | InteractiveObject | ||
doubleClickEnabled : Boolean
オブジェクトが doubleClick イベントを受け取るかどうかを指定します。 | InteractiveObject | ||
filters : Array
表示オブジェクトに現在関連付けられている各フィルターオブジェクトが格納されているインデックス付きの配列です。 | DisplayObject | ||
focusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。 | InteractiveObject | ||
height : Number
表示オブジェクトの高さを示します(ピクセル単位)。 | DisplayObject | ||
loaderInfo : LoaderInfo [読み取り専用]
この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。 | DisplayObject | ||
mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。 | DisplayObject | ||
metaData : Object
メタデータが PlaceObject4 タグによってこの DisplayObject のインスタンスと一緒に SWF ファイル内に保存されている場合に、DisplayObject インスタンスのメタデータオブジェクトを取得します。 | DisplayObject | ||
mouseChildren : Boolean
オブジェクトの子がマウスまたはユーザー入力デバイスに対応しているかどうかを判断します。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
このオブジェクトでマウスまたはその他のユーザー入力メッセージを受け取るかどうかを指定します。 | InteractiveObject | ||
mouseX : Number [読み取り専用]
マウスまたはユーザー入力デバイスの x 軸の位置をピクセルで示します。 | DisplayObject | ||
mouseY : Number [読み取り専用]
マウスまたはユーザー入力デバイスの y 軸の位置をピクセルで示します。 | DisplayObject | ||
name : String
DisplayObject のインスタンス名を示します。 | DisplayObject | ||
needsSoftKeyboard : Boolean
この InteractiveObject インスタンスがフォーカスを受け取ったときに、仮想キーボード(画面上のソフトキーボード)を表示するかどうかを指定します。 | InteractiveObject | ||
numChildren : int [読み取り専用]
このオブジェクトの子の数を返します。 | DisplayObjectContainer | ||
opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。 | DisplayObject | ||
parent : DisplayObjectContainer [読み取り専用]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。 | DisplayObject | ||
root : DisplayObject [読み取り専用]
読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | ||
rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。 | DisplayObject | ||
rotationX : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。 | DisplayObject | ||
rotationY : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。 | DisplayObject | ||
rotationZ : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。 | DisplayObject | ||
scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。 | DisplayObject | ||
scaleX : Number
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 | DisplayObject | ||
scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。 | DisplayObject | ||
scaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。 | DisplayObject | ||
scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。 | DisplayObject | ||
softKeyboard : String
ソフトキーボードの外観を制御します。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
ソフトキーボードが表示されたときに画面に表示したままにする領域を定義します(iOS では使用不可)。 | InteractiveObject | ||
stage : Stage [読み取り専用]
表示オブジェクトのステージです。 | DisplayObject | ||
tabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。 | DisplayObjectContainer | ||
tabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。 | InteractiveObject | ||
tabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。 | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [読み取り専用]
この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。 | DisplayObjectContainer | ||
transform : flash.geom:Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。 | DisplayObject | ||
visible : Boolean
表示オブジェクトが可視かどうかを示します。 | DisplayObject | ||
width : Number
表示オブジェクトの幅を示します(ピクセル単位)。 | DisplayObject | ||
x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。 | DisplayObject | ||
y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。 | DisplayObject | ||
z : Number
3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。 | DisplayObject |
メソッド | 定義元 | ||
---|---|---|---|
新しい DisplayObjectContainer() コンストラクターを呼び出すと、ArgumentError 例外がスローされます。 | DisplayObjectContainer | ||
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。 | DisplayObjectContainer | ||
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。 | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。 | DisplayObjectContainer | ||
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。 | DisplayObjectContainer | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | ||
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。 | DisplayObjectContainer | ||
指定された名前に一致する子表示オブジェクトを返します。 | DisplayObjectContainer | ||
子 DisplayObject インスタンスのインデックス位置を返します。 | DisplayObjectContainer | ||
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子(または孫など)であるオブジェクトの配列を返します。 | DisplayObjectContainer | ||
シェイプ上の線を除き、targetCoordinateSpace パラメーターによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | ||
point オブジェクトをステージ(グローバル)座標から表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | ||
ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。 | DisplayObject | ||
表示オブジェクトを評価して、x および y パラメーターで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。 | DisplayObject | ||
point オブジェクトを表示オブジェクトの(ローカル)座標からステージ(グローバル)座標に変換します。 | DisplayObject | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。 | DisplayObjectContainer | ||
DisplayObjectContainer の子リストの指定された index 位置から子 DisplayObject を削除します。 | DisplayObjectContainer | ||
DisplayObjectContainer インスタンスの子リストから、すべての child DisplayObject インスタンスを削除します。 | DisplayObjectContainer | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
仮想キーボードを前面に表示します。 | InteractiveObject | ||
表示オブジェクトコンテナの既存の子の位置を変更します。 | DisplayObjectContainer | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
このオブジェクトでルート指定されているすべての MovieClip のタイムラインでの実行を再帰的に停止します。 | DisplayObjectContainer | ||
指定された 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。 | DisplayObjectContainer | ||
子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。 | DisplayObjectContainer | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
mouseChildren | プロパティ |
mouseChildren:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
オブジェクトの子がマウスまたはユーザー入力デバイスに対応しているかどうかを判断します。対応している場合、ユーザーはマウスやユーザー入力デバイスを使用して、オブジェクトを操作できます。デフォルト値は true
です。
このプロパティは、SimpleButton クラスではなく、Sprite クラスのインスタンスを使用してボタンを作成するときに役立ちます。Sprite インスタンスを使用してボタンを作成する場合、他の Sprite インスタンスを追加するために addChild()
メソッドを使用してボタンの修飾を選択できます。子として追加する Sprite インスタンスは、親インスタンスをターゲットオブジェクトとすることを想定するときに、マウスイベントのターゲットオブジェクトとなる場合があるため、マウスイベントについて予期しない動作を引き起こす可能性があります。親インスタンスが確実にマウスイベントのターゲットオブジェクトになるようにするには、親インスタンスの mouseChildren
プロパティを false
に設定します。
このプロパティを設定しても、イベントは送出されません。インタラクティブな機能を作成するには、addEventListener()
メソッドを使用する必要があります。
実装
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean):void
関連する API エレメント
例 ( この例の使用方法 )
container
という名前の Sprite オブジェクト(一種の表示オブジェクトコンテナ)を設定し、mouseChildren
プロパティを false
に設定するとき、mouseClick
イベントのターゲットは、その子オブジェクトのいずれかではなく、container
オブジェクトになります。
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); container.name = "container"; addChild(container); var circle:Sprite = new Sprite(); circle.name = "circle"; circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); container.addChild(circle); container.mouseChildren = false; container.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { trace(event.target.name); // container }
numChildren | プロパティ |
numChildren:int
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
このオブジェクトの子の数を返します。
実装
public function get numChildren():int
例 ( この例の使用方法 )
container1
および container2
という名前の 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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
オブジェクトの子に対してタブが有効かどうかを調べます。オブジェクトの子に対してタブを有効または無効にします。デフォルト値は true
です。
注意:Flex では、tabChildren
プロパティを使用しないでください。代わりに、mx.core.UIComponent.hasFocusableChildren
プロパティを使用します。
実装
public function get tabChildren():Boolean
public function set tabChildren(value:Boolean):void
例外
IllegalOperationError — Stage オブジェクトのこのプロパティを呼び出すと、例外がスローされます。Stage オブジェクトはこのプロパティを実装しません。
|
例 ( この例の使用方法 )
container1
表示オブジェクトコンテナを作成し、2 つの表示オブジェクト circle1
と circle2
をその子リストに追加します。例では、tabChildren を子の false
に設定するため、tabIndex
を使用して自身のタブ順を管理できます。
import flash.display.Sprite; var container:Sprite = new Sprite(); container.tabChildren = false; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.tabIndex = 1; var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); circle2.tabIndex = 0; container.addChild(circle1); container.addChild(circle2);
textSnapshot | プロパティ |
textSnapshot:flash.text:TextSnapshot
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。
実装
public function get textSnapshot():flash.text:TextSnapshot
関連する API エレメント
例 ( この例の使用方法 )
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
DisplayObjectContainer | () | コンストラクター |
public function DisplayObjectContainer()
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
new DisplayObjectContainer()
コンストラクターを呼び出すと、ArgumentError
例外がスローされます。ただし、次に示す DisplayObjectContainer のサブクラスについてはコンストラクターを呼び出すことができます。
new Loader()
new Sprite()
new MovieClip()
addChild | () | メソッド |
public function addChild(child:DisplayObject):DisplayObject
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。子インスタンスは、この DisplayObjectContainer インスタンスにある他のすべての子の前(上)に追加されます(特定のインデックス位置に子を追加する場合は、addChildAt()
メソッドを使用します)。
既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。
注意:コマンド stage.addChild()
は、セキュリティに関する問題や読み込まれた他の SWF ファイルとの競合など、パブリッシュされた SWF ファイルで発生する問題の原因になることがあります。 ランタイムに読み込まれた SWF ファイルの数に関わりなく、Flash ランタイムインスタンス内に存在する Stage は 1つだけです。したがって、通常は、オブジェクトを Stage に直接追加しないでください。Stage に含められるオブジェクトはルートオブジェクトだけです。DisplayObjectContainer を作成して、表示リストのすべてのアイテムを含めます。必要に応じて、その DisplayObjectContainer を Stage に追加します。
パラメーター
child:DisplayObject — この DisplayObjectContainer インスタンスの子として追加する DisplayObject インスタンスです。
|
DisplayObject — child パラメーターで渡す DisplayObject インスタンスです。
|
イベント
added: — 表示オブジェクトが表示リストに追加されたときに送出されます。
|
例外
ArgumentError — 子が親と同じ場合にスローされます。呼び出し元が、追加されている子の子(または孫など)の場合もスローされます。
|
関連する API エレメント
例 ( この例の使用方法 )
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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。子インスタンスは、指定されたインデックス位置に追加されます。インデックス 0 は、この DisplayObjectContainer オブジェクトの表示リストの背景または一番下を表します。
例えば、a、b、c というラベルの 3 個の表示オブジェクトをインデックス位置 0、2、1 にそれぞれ配置すると、以下のようになります。
既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。
パラメーター
child:DisplayObject — この DisplayObjectContainer インスタンスの子として追加する DisplayObject インスタンスです。
| |
index:int — 子を追加するインデックス位置です。既にオブジェクトが置かれているインデックス位置を指定すると、その位置にあるオブジェクトとその上に位置するすべてのオブジェクトが、子リスト内で 1 つ上の位置に移動します。
|
DisplayObject — child パラメーターで渡す DisplayObject インスタンスです。
|
イベント
added: — 表示オブジェクトが表示リストに追加されたときに送出されます。
|
例外
RangeError — インデックス位置が子リストに存在しない場合にスローされます。
| |
ArgumentError — 子が親と同じ場合にスローされます。呼び出し元が、追加されている子の子(または孫など)の場合もスローされます。
|
関連する API エレメント
例 ( この例の使用方法 )
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, Flash Lite 4 |
特定の point
ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint()
メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。デフォルトでは、Security.allowDomain()
メソッドの呼び出しによって許可されていない限り、あるドメインのコンテンツから別のドメインのオブジェクトにアクセスすることはできません。セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。
point
パラメーターは、ステージの座標空間内にあり、表示オブジェクトコンテナの座標空間とは異なる場合があります。ただし、表示オブジェクトがステージである場合、座標空間は同じです。globalToLocal()
メソッドおよび localToGlobal()
メソッドを使用すると、これらの座標空間の間でポイントを変換できます。
パラメーター
point:Point — 注目するポイントです。
|
Boolean — true は、そのポイントがセキュリティ上の制限のある子表示オブジェクトを含んでいることを示します。
|
関連する API エレメント
getObjectsUnderPoint()
DisplayObject.globalToLocal()
DisplayObject.localToGlobal()
例 ( この例の使用方法 )
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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。検索には、この DisplayObjectContainer インスタンスの入った表示リスト全体が含まれます。孫、ひ孫などがそれぞれ true
を返します。
パラメーター
child:DisplayObject — テストする子オブジェクトです。
|
Boolean — true となります(child オブジェクトが DisplayObjectContainer の子であるか、コンテナ自体である場合)。そうでない場合は、false となります。
|
例 ( この例の使用方法 )
contains()
メソッドを呼び出すと表示されます。
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); var sprite4:Sprite = new Sprite(); sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite1.contains(sprite1)); // true trace(sprite1.contains(sprite2)); // true trace(sprite1.contains(sprite3)); // true trace(sprite1.contains(sprite4)); // false
getChildAt | () | メソッド |
public function getChildAt(index:int):DisplayObject
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。
パラメーター
index:int — 子オブジェクトのインデックス位置です。
|
DisplayObject — 指定されたインデックス位置にある子表示オブジェクトです。
|
例外
RangeError — インデックスが子リストに存在しない場合にスローされます。
| |
SecurityError — この子表示オブジェクトは、アクセス権が与えられていない Sandbox に属しています。子ムービーで Security.allowDomain() を呼び出すことにより、この状況を回避できます。
|
関連する API エレメント
例 ( この例の使用方法 )
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, Flash Lite 4 |
指定された名前に一致する子表示オブジェクトを返します。指定された名前を持つ子表示オブジェクトが複数存在する場合、メソッドは子リストの最初のオブジェクトを返します。
getChildAt()
メソッドは、getChildByName()
メソッドよりも処理が高速です。getChildAt()
メソッドはキャッシュ配列の子にアクセスしますが、getChildByName()
メソッドでは子にアクセスするためにリンクされたリストを移動する必要があります。
パラメーター
name:String — 返される子の名前です。
|
DisplayObject — 指定された名前を持つ子表示オブジェクトです。
|
例外
SecurityError — この子表示オブジェクトは、アクセス権が与えられていない Sandbox に属しています。子ムービーで Security.allowDomain() メソッドを呼び出すことにより、この状況を回避できます。
|
関連する API エレメント
例 ( この例の使用方法 )
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, Flash Lite 4 |
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, Flash Lite 4 |
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子(または孫など)であるオブジェクトの配列を返します。セキュリティ上の理由でアクセスできない子オブジェクトは返される配列から除かれます。このようなセキュリティ上の制限が、返される配列に与えている影響について判別するには、areInaccessibleObjectsUnderPoint()
メソッドを呼び出します。
point
パラメーターは、ステージの座標空間内にあり、表示オブジェクトコンテナの座標空間とは異なる場合があります。ただし、表示オブジェクトがステージである場合、座標空間は同じです。globalToLocal()
メソッドおよび localToGlobal()
メソッドを使用すると、これらの座標空間の間でポイントを変換できます。
パラメーター
point:Point — 注目するポイントです。
|
Array — 指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子または孫などであるオブジェクトの配列です。
|
関連する API エレメント
例 ( この例の使用方法 )
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, Flash Lite 4 |
DisplayObjectContainer インスタンスの子リストから指定の child
DisplayObject インスタンスを削除します。削除された子の parent
プロパティは null
に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。DisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。
ガベージコレクターは、未使用のメモリスペースの再割り当てを行います。 変数またはオブジェクトがアクティブに参照されなくなり、任意の場所に保存されていない場合、ガベージコレクターによってメモリ内が探索され、それらに対する参照が存在しなければメモリスペースを占有している変数またはオブジェクトが一掃されます。
パラメーター
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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObjectContainer の子リストの指定された index
位置から子 DisplayObject を削除します。削除された子の parent
プロパティは null
に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。DisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。
ガベージコレクターは、未使用のメモリスペースの再割り当てを行います。 変数またはオブジェクトがアクティブに参照されなくなり、任意の場所に保存されていない場合、ガベージコレクターによってメモリ内が探索され、それらに対する参照が存在しなければメモリスペースを占有している変数またはオブジェクトが一掃されます。
パラメーター
index:int — 削除する DisplayObject の子インデックスです。
|
DisplayObject — 削除された DisplayObject インスタンスです。
|
例外
SecurityError — この子表示オブジェクトは、呼び出し元オブジェクトにアクセス権が与えられていない 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
removeChildren | () | メソッド |
public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 3.0, Flash Player 11 |
DisplayObjectContainer インスタンスの子リストからすべての child
DisplayObject インスタンスを削除します。削除された子の parent
プロパティは null
に設定されます。これらの子に対する参照が存在しない場合、オブジェクトはガベージコレクションによって収集されます。
ガベージコレクターは、未使用のメモリスペースの再割り当てを行います。 変数またはオブジェクトがアクティブに参照されなくなり、任意の場所に保存されていない場合、ガベージコレクターによってメモリ内が探索され、それらに対する参照が存在しなければメモリスペースを占有している変数またはオブジェクトが一掃されます。
パラメーター
beginIndex:int (default = 0 ) — 開始位置。値が 0 よりも小さい場合は、RangeError がスローされます。
| |
endIndex:int (default = 0x7fffffff ) — 終了位置。値が 0 よりも小さい場合は、RangeError がスローされます。
|
例外
RangeError — beginIndex または endIndex の位置が子リストに存在しない場合にスローされます。
|
setChildIndex | () | メソッド |
public function setChildIndex(child:DisplayObject, index:int):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
表示オブジェクトコンテナの既存の子の位置を変更します。これは、子オブジェクトのレイヤーに影響します。例えば、a、b、c というラベルの 3 個の表示オブジェクトをインデックス位置 0、1、2 にそれぞれ配置すると、以下のようになります。
setChildIndex()
を使用し、既に占有されているインデックス位置を指定した場合、表示オブジェクトの前の位置と新しい位置の間にある位置だけが変化します。その他は変化しません。現在のインデックスよりも小さいインデックスに子を移動すると、その間のすべての子が、それぞれのインデックス参照について 1 増加します。現在のインデックスよりも大きいインデックスに子を移動すると、その間のすべての子が、それぞれのインデックス参照について 1 減少します。例えば、上記の例の表示オブジェクトコンテナの名前が container
である場合、次に示すコードを呼び出すことによって、a および b というラベルが付けられた表示オブジェクトの位置を入れ替えることができます。
container.setChildIndex(container.getChildAt(1), 0);
このコードによって、次に示すようなオブジェクトの配置になります。
パラメーター
child:DisplayObject — インデックス番号を変更する子 DisplayObject インスタンスです。
| |
index:int — child 表示オブジェクトの結果のインデックス番号です。
|
例外
RangeError — インデックスが子リストに存在しない場合にスローされます。
| |
ArgumentError — 子パラメーターがこのオブジェクトの子でない場合にスローされます。
|
関連する API エレメント
例 ( この例の使用方法 )
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); }
stopAllMovieClips | () | メソッド |
public function stopAllMovieClips():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 3.8, Flash Player 11.8 |
このオブジェクトでルート指定されているすべての MovieClip のタイムラインでの実行を再帰的に停止します。
実行コードにアクセス権限が与えられていないサンドボックスに属する子表示オブジェクトは無視されます。
注意:NetStream オブジェクトによって制御されるストリーミングメディアの再生は停止されません。
swapChildren | () | メソッド |
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定された 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, Flash Lite 4 |
子リスト内の指定されたインデックス位置に該当する 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
を使用して、5 つのオレンジ色の四角形を連続して作成します。これを行うには、以下の手順を実行します。
- コンストラクターは
configureAssets()
メソッドを呼び出します。 configureAssets()
メソッドは、child
およびlastChild
Sprite オブジェクトを作成します。for
ループは、オレンジ色の四角形を 5 個作成し、それらを 1 つずつ配置します。- 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(); } }
Tue Jun 12 2018, 10:34 AM Z