パッケージflash.display
クラスpublic class DisplayObject
継承DisplayObject Inheritance EventDispatcher Inheritance Object
実装 IBitmapDrawable
サブクラス AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video

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

DisplayObject クラスは、表示リストに含めることのできるすべてのオブジェクトに関する基本クラスです。表示リストは、Flash Player または Adobe AIR に表示されるすべてのオブジェクトを管理します。 DisplayObjectContainer クラスは、表示リスト内で表示オブジェクトを配置するために使用します。DisplayObjectContainer オブジェクトは子表示オブジェクトを持つことができます。これに対して、他の表示オブジェクト (例えば Shape、TextField オブジェクト) は [リーフ] ノードです。つまり、親と兄弟だけを持ち、子はありません。

DisplayObject クラスは、基本機能 (例えばオブジェクトの x 方向および y 方向の位置) に加えて、オブジェクトの拡張プロパティ (例えば変換マトリックス) をサポートします。

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

すべての表示オブジェクトは DisplayObject クラスから継承します。

DisplayObject クラス自体は、画面上でのコンテンツの描画のための API を含みません。そのため、DisplayObject クラスのカスタムサブクラスを作成する場合は、Shape、Sprite、Bitmap、SimpleButton、TextField または MovieClip など、画面上にコンテンツを描画する API を持つサブクラスの 1 つを拡張する必要があります。

DisplayObject クラスには、複数のブロードキャストイベントが含まれます。通常、個々のイベントのターゲットは、特定の DisplayObject インスタンスです。例えば、added イベントのターゲットは、表示リストに追加された特定の DisplayObject インスタンスです。単一のターゲットを持つことにより、イベントリスナーの配置が、そのターゲット(および場合によっては表示リスト上のターゲットの祖先)に制限されます。ただし、ブロードキャストイベントの場合は、ターゲットが特定の DisplayObject インスタンスではなく、表示リストに含まれていない DisplayObject インスタンスを含む、すべての DisplayObject インスタンスになります。これは、任意の DisplayObject インスタンスにリスナーを追加して、ブロードキャストイベントを監視できることを意味します。DisplayObject クラスは、DisplayObject クラスの Events テーブルにリストされたブロードキャストイベントだけでなく、EventDispatcher クラスのブロードキャストイベントである activatedeactivate も継承します。

ActionScript 1.0 および 2.0 の MovieClip、TextField、および Button クラスで使用されていたいくつかのプロパティ(たとえば _alpha_height_name_width_x_y など)と同等のプロパティが、ActionScript 3.0 DisplayObject クラスに存在します。これらの名前は変更され、アンダースコア (_) 文字では始まりません。

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

例を表示

関連項目

flash.display.DisplayObjectContainer
Core display classes
Properties and methods of the DisplayObject class
Example: Applying a matrix transformation to a display object


パブリックプロパティ
 プロパティ定義元
  accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
DisplayObject
  alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
DisplayObject
  blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
DisplayObject
  blendShader : Shader
[書き込み専用] 前景と背景のブレンドに使用するシェーダを設定します。
DisplayObject
  cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player または Adobe AIR にキャッシュされます。
DisplayObject
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  filters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
DisplayObject
  height : Number
表示オブジェクトの高さを示します (ピクセル単位)。
DisplayObject
  loaderInfo : LoaderInfo
[読み取り専用] この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
  mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
  mouseX : Number
[読み取り専用] マウス位置の x 座標を示します(ピクセル単位)。
DisplayObject
  mouseY : Number
[読み取り専用] マウス位置の y 座標を示します(ピクセル単位)。
DisplayObject
  name : String
DisplayObject のインスタンス名を示します。
DisplayObject
  opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
  parent : DisplayObjectContainer
[読み取り専用] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  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
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(percentage)を示します。
DisplayObject
  scaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。
DisplayObject
  scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
DisplayObject
  stage : Stage
[読み取り専用] 表示オブジェクトのステージです。
DisplayObject
  transform : 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
パブリックメソッド
 メソッド定義元
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
  
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
DisplayObject
  
getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
DisplayObject
  
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
DisplayObject
  
ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。
DisplayObject
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。
DisplayObject
  
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。
DisplayObject
  
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
DisplayObject
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
  表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
  表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。DisplayObject
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  [ブロードキャストイベント] 再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
  [ブロードキャストイベント] 再生ヘッドが現在のフレームを終了するときに送出されます。DisplayObject
  [ブロードキャストイベント] フレーム表示オブジェクトのコンストラクタが実行した後で、かつフレームスクリプトが実行される前に送出されます。DisplayObject
  表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
  表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。DisplayObject
  [ブロードキャストイベント] 表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
プロパティの詳細
accessibilityPropertiesプロパティ
accessibilityProperties:AccessibilityProperties

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

この表示オブジェクトの現在のアクセシビリティオプションです。accessibilityProperties プロパティ、または accessibilityProperties 内のいずれかのフィールドを変更した場合、変更内容を有効にするには、Accessibility.updateProperties() メソッドを呼び出す必要があります。



実装
    public function get accessibilityProperties():AccessibilityProperties
    public function set accessibilityProperties(value:AccessibilityProperties):void

関連項目



次の例では、単純な AccessibilityProperties オブジェクトを TextField インスタンスに割り当てる方法を示します。

import flash.text.TextField;
import flash.accessibility.AccessibilityProperties;
import flash.accessibility.Accessibility;
import flash.system.Capabilities;

var tf:TextField = new TextField();
tf.text = "hello";

var accessProps:AccessibilityProperties = new AccessibilityProperties();
accessProps.name = "Greeting";

tf.accessibilityProperties = accessProps;

if (Capabilities.hasAccessibility) {
    Accessibility.updateProperties();
}

trace(tf.accessibilityProperties.name); // Greeting
alphaプロパティ 
alpha:Number

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

指定されたオブジェクトのアルファ透明度値を示します。有効な値は 0 (完全な透明) ~ 1 (完全な不透明) です。デフォルト値は 1 です。alpha が 0 に設定されている表示オブジェクト、表示されない場合でも、アクティブです。



実装
    public function get alpha():Number
    public function set alpha(value:Number):void


次のコードでは、スプライト上にマウスが移動したときに、スプライトの alpha プロパティを 50% に設定します。
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);

function dimObject(event:MouseEvent):void {
    event.target.alpha = 0.5;
}

function restoreObject(event:MouseEvent):void {
    event.target.alpha = 1.0;
}
blendModeプロパティ 
blendMode:String

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

使用するブレンドモードを指定する BlendMode クラスの値です。内部的には、2 つの方法でビットマップを描画できます。ブレンドモードを有効にした場合、または外部クリッピングマスクを使用する場合には、ビットマップで塗りつぶされた四角形シェイプをベクターレンダーに追加することによってビットマップが描画されます。このプロパティを無効な値に設定しようとすると、Flash Player または Adobe AIR は値を BlendMode.NORMAL に設定します。

blendMode プロパティは、表示オブジェクトの各ピクセルに影響します。 各ピクセルは、3 つの要素カラー(赤、緑、青)で構成されており、各要素カラーは 0x00 ~ 0xFF の値を持ちます。Flash Player または Adobe AIR は、ムービークリップ内の 1 つのピクセルの各要素カラーを、背景のピクセルの対応するカラーと比較します。 たとえば、blendModeBlendMode.LIGHTEN に設定されている場合、Flash Player または Adobe AIR は表示オブジェクトの赤の値と背景の赤の値とを比較して、明るい方の値を表示色の赤の成分として使用します。

次の表では、blendMode の設定について説明します。BlendMode クラスは、使用可能なストリング値を定義します。表の中の図は、別の表示オブジェクト (1) に重なった円形の表示オブジェクト (2) に適用される blendMode 値を示しています。

四角形の数字 1 円の数字 2

BlendMode 定数説明
BlendMode.NORMALブレンドモード NORMAL表示オブジェクトは、背景の前に表示されます。表示オブジェクトのピクセル値は、背景のピクセル値より優先されます。表示オブジェクトが透明な部分では、背景が表示されます。
BlendMode.LAYERブレンドモード LAYER表示オブジェクトに関する透明度グループを強制的に作成します。つまり、表示オブジェクトが処理される前に、一時バッファ内で表示オブジェクトが事前に構成されます。ビットマップキャッシュを使って表示オブジェクトが事前キャッシュされる場合、または表示オブジェクトが、blendModeBlendMode.NORMAL 以外に設定された子オブジェクトを少なくとも 1 つ含む表示オブジェクトコンテナである場合には、これが自動的に実行されます。
BlendMode.MULTIPLYブレンドモード MULTIPLY表示オブジェクトの要素カラーの値と背景色の要素カラーの値を乗算した後、0xFF で割って正規化し、色を暗くします。この設定は、シャドウや深度効果によく使用されます。

例えば、表示オブジェクトのピクセルの要素カラー (赤など) と背景のピクセルの対応するカラーの値が共に 0x88 の場合、乗算した結果は 0x4840 です。0xFF で除算すると、その要素カラーの値は 0x48 になります。これは、表示オブジェクトまたは背景の色よりも暗くなります。

BlendMode.SCREENブレンドモード SCREEN表示オブジェクトの色の補数 (逆) と背景色の補数を乗算して、ブリーチ効果を得ます。この設定は、ハイライトや、表示オブジェクトの黒い領域の削除によく使用されます。
BlendMode.LIGHTENブレンドモード LIGHTEN表示オブジェクトの要素カラーと背景色のうち明るい方 (値が大きい方) の色を選択します。この設定は、重ね合わせタイプによく使用されます。

例えば、表示オブジェクトのピクセルの RGB 値が 0xFFCC33 で、背景のピクセルの RGB 値が 0xDDF800 の場合、0xFF > 0xDD、0xCC < 0xF8、および 0x33 > 0x00 = 33 であるので、表示されるピクセルの RGB 値は 0xFFF833 になります。

BlendMode.DARKENブレンドモード DARKEN表示オブジェクトの要素カラーと背景色のうち暗い方 (値が小さい方) の色を選択します。この設定は、重ね合わせタイプによく使用されます。

例えば、表示オブジェクトのピクセルの RGB 値が 0xFFCC33, で、背景のピクセルの RGB 値が 0xDDF800 の場合、0xFF > 0xDD、0xCC < 0xF8、0x33 > 0x00 = 33 であるので、表示されるピクセルの RGB 値は 0xDDCC00 になります。

BlendMode.DIFFERENCEブレンドモード DIFFERENCE表示オブジェクトの要素カラーと背景色を比較し、2 つの要素カラーのうち明るい方の値から暗い方の値を差し引きます。この設定は、明るい色によく使用されます。

例えば、表示オブジェクトの 1 つのピクセルの RGB 値が 0xFFCC33 で、背景のピクセルの RGB 値が 0xDDF800 の場合、0xFF - 0xDD = 0x22、0xF8 - 0xCC = 0x2C、0x33 - 0x00 = 0x33 であるため、表示されるピクセルの RGB 値は 0x222C33 になります。

BlendMode.ADDブレンドモード ADD表示オブジェクトの要素カラーの値を背景色に加算し、その際に上限 0xFF を適用します。この設定は、2 つのオブジェクト間で色を明るくするディゾルブをアニメーションにするときによく使用されます。

例えば、表示オブジェクトのピクセルの RGB 値が 0xAAA633 で、背景のピクセルの RGB 値が 0xDD2200 の場合、0xAA + 0xDD > 0xFF、0xA6 + 0x22 = 0xC8、および 0x33 + 0x00 = 0x33 であるので、表示されるピクセルの RGB 値は 0xFFC833 になります。

BlendMode.SUBTRACTブレンドモード SUBTRACT下限を 0 として、表示オブジェクトの要素カラーの値をその背景色の値から減算します。この設定は、2 つのオブジェクト間で色を暗くするディゾルブをアニメーションにするときによく使用されます。

例えば、表示オブジェクトの 1 つのピクセルの RGB 値が 0xAA2233 で、背景のピクセルの RGB 値が 0xDDA600 の場合、0xDD - 0xAA = 0x33、0xA6 - 0x22 = 0x84、0x00 - 0x33 < 0x00 であるので、表示されるピクセルの RGB 値は 0x338400 になります。

BlendMode.INVERTブレンドモード INVERT背景を反転します。
BlendMode.ALPHAブレンドモード ALPHA表示オブジェクトの各ピクセルのアルファ値を背景に適用します。これを行うには、親表示オブジェクトの blendModeBlendMode.LAYER に設定されている必要があります。たとえば、図の親表示オブジェクト (白い背景) は、blendMode = BlendMode.LAYER に設定されています。
BlendMode.ERASEブレンドモード ERASE表示オブジェクトのアルファ値に基づいて背景を消去します。これを行うには、親表示オブジェクトの blendModeBlendMode.LAYER に設定されている必要があります。たとえば、図の親表示オブジェクト (白い背景) は、blendMode = BlendMode.LAYER に設定されています。
BlendMode.OVERLAYブレンドモード OVERLAY背景の暗さに基づいて、各ピクセルの色を調整します。背景が 50% グレーよりも明るい場合、表示オブジェクトと背景の色が網がけされ、より明るくなります。背景が 50% グレーよりも暗い場合、2 つの色が乗算されて、より暗くなります。この設定は、シャドウ効果によく使用されます。
BlendMode.HARDLIGHTブレンドモード HARDLIGHT表示オブジェクトの暗さに基づいて、各ピクセルの色を調整します。表示オブジェクトが 50% グレーよりも明るい場合、表示オブジェクトと背景の色が網がけされ、より明るくなります。表示オブジェクトが 50% グレーよりも暗い場合、2 つの色が乗算されて、より暗くなります。この設定は、シャドウ効果によく使用されます。
BlendMode.SHADERN/Aカスタムシェーダルーチンを使用して、カラーを調整します。使用するシェーダは、blendShader プロパティに割り当てられた Shader インスタンスとして指定されます。Shader インスタンスに表示オブジェクトの blendShader プロパティを設定すると、表示オブジェクトの blendMode プロパティが BlendMode.SHADER に自動的に設定されます。blendShader プロパティを先に設定しないで blendMode プロパティを BlendMode.SHADER に設定すると、blendMode プロパティは BlendMode.NORMAL に設定されます。



実装
    public function get blendMode():String
    public function set blendMode(value:String):void

関連項目



次のコードでは、四角形と円の 2 つのスプライトオブジェクトを作成し、マウスポインタが円の上に移動すると、前景の円のブレンドモードを BlendMode.SUBTRACT に設定します。
import flash.display.Sprite;
import flash.display.BlendMode;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF88CC);
square.graphics.drawRect(0, 0, 80, 80);
addChild(square);

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);

function dimObject(event:MouseEvent):void {
    event.target.blendMode = BlendMode.SUBTRACT;
}

function restoreObject(event:MouseEvent):void {
    event.target.blendMode = BlendMode.NORMAL;
}
blendShaderプロパティ 
blendShader:Shader  [書き込み専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

前景と背景のブレンドに使用するシェーダを設定します。blendMode プロパティを BlendMode.SHADER に設定すると、指定された Shader が表示オブジェクトのブレンドモード出力の作成に使用されます。

Shader インスタンスに表示オブジェクトの blendShader プロパティを設定すると、表示オブジェクトの blendMode プロパティが BlendMode.SHADER に自動的に設定されます。blendMode プロパティが BlendMode.SHADER に設定される blendShader プロパティを設定した後で blendMode プロパティの値を変更すると、ブレンドモードがリセットされ、blendMode プロパティを BlendMode.SHADER に設定するだけでブレンドシェーダを使用できます。ブレンドモードに使用したシェーダを変更する場合を除いて、blendShader プロパティを再度設定する必要はありません。

blendShader プロパティに割り当てた Shader は、少なくとも 2 つ以上の image4 入力を指定する必要があります。入力は、関連付けられている ShaderInput オブジェクトの input プロパティを使用してコードで指定する必要はありません。 背景表示オブジェクトが、最初の入力として(index 0 の入力)自動的に使用されます。前景表示オブジェクトは、2 番目の入力として(index 1 の入力)使用されます。ブレンドシェーダとして使用するシェーダは、2 つ以上入力を指定できます。その場合、追加の入力は、ShaderInput インスタンスの input プロパティを設定することで指定する必要があります。

Shader インスタンスをこのプロパティに割り当てると、シェーダが内部的にコピーされます。ブレンド操作は、元のシェーダを参照するのではなく、その内部コピーを使用します。パラメータ値、入力、バイトコードの変更などの変更をシェーダに加えたとしても、ブレンドモードで使用したコピーシェーダにはその変更は適用されません。



実装
    public function set blendShader(value:Shader):void

例外
ArgumentError — シェーダ出力タイプがこの操作に対応しない場合(シェーダは pixel4 出力を指定する必要があります)。
 
ArgumentError — シェーダが指定したイメージ入力が 2 より少ないか、または最初の 2 つの入力が image4 入力でない場合。
 
ArgumentError — シェーダが指定したイメージ入力が存在しない場合。
 
ArgumentError — ByteArray または Vector の場合。<Number> インスタンスが入力として使用され、ShaderInput の width および height プロパティが指定されていない、または指定された値が入力オブジェクトのデータ量と一致しない場合。詳しくは、ShaderInput.input プロパティを参照してください。

関連項目

cacheAsBitmapプロパティ 
cacheAsBitmap:Boolean

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

true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player または Adobe AIR にキャッシュされます。 このキャッシュ処理により、複雑なベクターコンテンツを含んでいる表示オブジェクトのパフォーマンスを向上できます。

ビットマップがキャッシュされている表示オブジェクトのすべてのベクターデータは、メイン表示ではなくビットマップに描画されます。その後、ビットマップは、最も近いピクセル境界に吸着された非伸縮、非回転のピクセルとして、メイン表示にコピーされます。ピクセルは、親オブジェクトと 1 対 1 でマップされます。ビットマップの境界が変更されると、ビットマップは伸縮されるのではなく、再作成されます。

cacheAsBitmap プロパティが true に設定されていない限り、内部ビットマップは作成されません。

cacheAsBitmap プロパティを true に設定した後、レンダリングは変更されませんが、表示オブジェクトはピクセルへの吸着を自動的に実行します。アニメーションの速度は、ベクターコンテンツの複雑さに応じて大幅に速くなる可能性があります。

フィルタを表示オブジェクトに適用すると、cacheAsBitmap プロパティは常に自動的に true に設定されます (filter 配列が空でない場合)。また、表示オブジェクトにフィルタが適用される場合、cacheAsBitmap はその表示オブジェクトの true と報告されます (たとえプロパティを false に設定した場合でも)。表示オブジェクトのすべてのフィルタをクリアすると、cacheAsBitmap は以前の設定に戻ります。

以下のような場合には、cacheAsBitmap プロパティが true に設定されていても表示オブジェクトはビットマップを使用せず、代わりにベクターデータから描画します。

cacheAsBitmap プロパティは、その内容がほぼ静的で、拡大や縮小、回転が頻繁に行われないムービークリップに最適です。そのようなムービークリップでは、cacheAsBitmap プロパティによって、ムービークリップの変換時 (その x 位置と y 位置の変更時) にパフォーマンスが向上する可能性があります。



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

関連項目



次の例では、Shape インスタンスにドロップシャドウを適用します。その後、cacheAsBitmap プロパティの値 (この値はフィルタの適用時に true に設定される) をトレースします。
import flash.display.Sprite;
import flash.filters.DropShadowFilter

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);

addChild(circle);

trace(circle.cacheAsBitmap); // false

var filter:DropShadowFilter = new DropShadowFilter();
circle.filters = [filter];

trace(circle.cacheAsBitmap); // true
filtersプロパティ 
filters:Array

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

表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。flash.filters パッケージには、使用可能な特定のフィルタを定義する複数のクラスが含まれています。

ActionScript コードを使用することにより、設計時または実行時に Flash オーサリングツールでフィルタを適用できます。ActionScript を使ってフィルタを適用するには、filters 配列全体の一時コピーを作成してその一時配列を変更した後、一時配列の値を filters 配列に割り当てて戻す必要があります。新しいフィルタオブジェクトを filters 配列に直接追加することはできません。

ActionScript を使ってフィルタを追加するには、次の手順を実行する必要があります (ターゲット表示オブジェクトの名前を myDisplayObject とします)。

  1. 適切なフィルタクラスのコンストラクタメソッドを使用して、新しいフィルタオブジェクトを作成します。
  2. myDisplayObject.filters 配列の値を、myFilters などの名前の一時配列に代入します。
  3. 新しいフィルタオブジェクトを一時配列 myFilters に追加します。
  4. 一時配列の値を myDisplayObject.filters 配列に代入します。

filters 配列が未定義の場合、一時配列を使用する必要はありません。その代わりに、作成される 1 つまたは複数のフィルタオブジェクトを格納する配列リテラルを直接割り当てることができます。最初の例では、定義済みおよび未定義の filters 配列を処理するコードを使用して、ドロップシャドウフィルタを追加します。

既存のフィルタオブジェクトを変更するには、次のように、filters 配列のコピーを変更する必要があります。

  1. filters 配列の値を、myFilters などの名前の一時配列に代入します。
  2. 一時配列 myFilters を使用してプロパティを変更します。たとえば、配列内の最初のフィルタの quality プロパティを設定するには、次のようなコードを使用できます。myFilters[0].quality = 1;
  3. 一時配列の値を filters 配列に代入します。

ロード時には、表示オブジェクトにフィルタが関連付けられている場合、透明なビットマップとして表示オブジェクト自身をキャッシュするようにマークされます。これ以降、表示オブジェクトに有効なフィルタリストがある限り、表示オブジェクトはビットマップとしてキャッシュされます。このソースビットマップは、フィルタ効果のソースイメージとして使用されます。通常、それぞれの表示オブジェクトには 2 つのビットマップがあります。1 つはフィルタ適用前の元の表示オブジェクトのビットマップ、もう 1 つはフィルタ適用後の最終イメージのビットマップです。最終イメージはレンダリング時に使用されます。表示オブジェクトが変更されない限り、最終イメージを更新する必要はありません。

flash.filters パッケージにはフィルタ用のクラスが含まれます。例えば、DropShadow フィルタを作成するには、次のようにすることができます。

     import flash.filters.DropShadowFilter
     var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
     

is 演算子を使用して、filter 配列内のそれぞれのインデックス位置に割り当てられるフィルタの種類を判別できます。たとえば、次のコードは、DropShadowFilter である filters 配列内の最初のフィルタの位置を判別する方法を示しています。

     import flash.text.TextField;
     import flash.filters.*;
     var tf:TextField = new TextField();
     var filter1:DropShadowFilter = new DropShadowFilter();
     var filter2:GradientGlowFilter = new GradientGlowFilter();
     tf.filters = [filter1, filter2];
     
     tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0
     addChild(tf)
     
     function filterPosition(displayObject:DisplayObject, filterClass:Class):int {
         for (var i:uint = 0; i < displayObject.filters.length; i++) {
             if (displayObject.filters[i] is filterClass) {
                 return i;
             }
         }
         return -1;
     }
     

メモ : 新しいフィルタオブジェクトを DisplayObject.filters 配列に直接追加できないため、次のコードは、myDisplayObject という名前のターゲット表示オブジェクトに影響を与えません。

     myDisplayObject.filters.push(myDropShadow);
     



実装
    public function get filters():Array
    public function set filters(value:Array):void

例外
ArgumentError filters に ShaderFilter が含まれ、シェーダ出力タイプがこの操作に対応しない場合(シェーダは pixel4 出力を指定する必要があります)。
 
ArgumentError filters に ShaderFilter が含まれ、シェーダがイメージ出力を指定していないか、最初の入力が image4 入力でない場合。
 
ArgumentError filters に ShaderFilter が含まれ、シェーダが指定したイメージ入力が存在しない場合。
 
ArgumentError filters に ShaderFilter、ByteArray、または Vector が含まれる場合。<Number> インスタンスがシェーダ入力として使用され、ShaderInput の width および height プロパティが指定されていない、または指定された値が入力データのデータ量と一致しない場合。詳しくは、ShaderInput.input プロパティを参照してください。

関連項目

heightプロパティ 
height:Number

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

表示オブジェクトの高さを示します (ピクセル単位)。この高さは、表示オブジェクトのコンテンツの境界に基づいて計算されます。次のコードに示すように、この height プロパティを設定すると、それに合わせて scaleY プロパティの値が調整されます。

    var rect:Shape = new Shape();
    rect.graphics.beginFill(0xFF0000);
    rect.graphics.drawRect(0, 0, 100, 100);
    trace(rect.scaleY) // 1;
    rect.height = 200;
    trace(rect.scaleY) // 2;

TextField と Video オブジェクトを除いて、height を別の値に設定しようとしても、コンテンツのない表示オブジェクト (例えば、空のスプラインなど) の高さは 0 になります。



実装
    public function get height():Number
    public function set height(value:Number):void


次のコードでは、2 つの TextField オブジェクトを作成し、それぞれの height プロパティを調整します。このとき、調整はそれぞれの textHeight プロパティに基づいて行われます。また、その y プロパティを設定することで、2 番目のテキストフィールドを配置します。
import flash.text.TextField;

var tf1:TextField = new TextField();
tf1.text = "Text Field 1";
tf1.border = true;
tf1.wordWrap = true;
tf1.width = 40;
tf1.height = tf1.textHeight + 5;
addChild(tf1);

var tf2:TextField = new TextField();
tf2.text = "Text Field 2";
tf2.border = true;
tf2.wordWrap = true;
tf2.width = 40;
tf2.height = tf2.textHeight + 5;
tf2.y = tf1.y + tf1.height + 5;
addChild(tf2);
loaderInfoプロパティ 
loaderInfo:LoaderInfo  [読み取り専用]

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

この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。loaderInfo プロパティは、SWF ファイルのルート表示オブジェクト用、または (ActionScript を使用して描画されるビットマップではなく) ロードされるビットマップ用として定義されています。loaderInfo オブジェクト (myDisplayObject という名前の表示オブジェクトを含んでいる SWF ファイルに関連) を見つけるには、myDisplayObject.root.loaderInfo を使用します。

this.root.loaderInfo.addEventListener(Event.COMPLETE, func) を呼び出すことにより、大きな SWF ファイルのダウンロードを監視できます。



実装
    public function get loaderInfo():LoaderInfo

関連項目



次のコードでは、this が表示オブジェクトを参照するものと想定しています。このコードでは、表示オブジェクトのルート SWF ファイルの URL を出力します。
 trace (this.loaderInfo.url);
 
maskプロパティ 
mask:DisplayObject

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

呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。ステージの拡大および縮小時にマスクが確実に機能するためには、表示リストのアクティブな部分に mask 表示オブジェクトが含まれている必要があります。mask オブジェクト自体は描画されません。マスクを除去するには masknull に設定します。

マスクオブジェクトを拡大および縮小するためには、そのオブジェクトが表示リストに含まれている必要があります。 (startDrag() メソッドを呼び出すことにより) マスク Sprite オブジェクトをドラッグするためには、そのオブジェクトが表示リストに含まれなければなりません。、マスクスプライトに対して startDrag() メソッドを呼び出すには(この呼び出しは、スプライトによって送出される mouseDown イベントに基づきます)、スプライトの buttonMode プロパティを true に設定します。

注意:単一の mask オブジェクトは、複数の呼び出し元表示オブジェクトをマスクするためには使用できません。mask が 2 番目の表示オブジェクトに割り当てられると、そのオブジェクトは最初の表示オブジェクトのマスクとして削除され、最初の表示オブジェクトの mask プロパティは null になります。



実装
    public function get mask():DisplayObject
    public function set mask(value:DisplayObject):void


次のコードでは、TextField オブジェクトと Sprite オブジェクトを作成し、Sprite オブジェクトを TextField オブジェクトのマスクとして設定します。ユーザーがテキストフィールドをクリックすると、drag() イベントリスナー機能が、マスク Sprite オブジェクトの startDrag() メソッドを呼び出します。
import flash.text.TextField;
import flash.display.Sprite;
import flash.events.MouseEvent;

var tf:TextField = new TextField();
tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " 
            + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
tf.selectable = false;
tf.wordWrap = true;
tf.width = 150;
addChild(tf);

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 40, 40);
addChild(square);

tf.mask = square;

tf.addEventListener(MouseEvent.MOUSE_DOWN, drag);
tf.addEventListener(MouseEvent.MOUSE_UP, noDrag);

function drag(event:MouseEvent):void {
    square.startDrag();
}
function noDrag(event:MouseEvent):void {
    square.stopDrag();
}
mouseXプロパティ 
mouseX:Number  [読み取り専用]

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

マウス位置の x 座標を示します(ピクセル単位)。

メモ : DisplayObject が回転している場合、返される x 座標は回転前のオブジェクトの座標を反映します。



実装
    public function get mouseX():Number


次のコードでは、Sprite オブジェクトを作成し、ユーザーがスプライトをクリックすると、mouseX および mouseY の位置がトレースされます。
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);

square.addEventListener(MouseEvent.CLICK, traceCoordinates);

function traceCoordinates(event:MouseEvent):void {
    trace(square.mouseX, square.mouseY);
}
mouseYプロパティ 
mouseY:Number  [読み取り専用]

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

マウス位置の y 座標を示します(ピクセル単位)。

メモ : DisplayObject が回転している場合、返される y 座標は回転前のオブジェクトの座標を反映します。



実装
    public function get mouseY():Number


次のコードでは、Sprite オブジェクトを作成し、ユーザーがスプライトをクリックすると、mouseX および mouseY の位置がトレースされます。
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);

square.addEventListener(MouseEvent.CLICK, traceCoordinates);

function traceCoordinates(event:MouseEvent):void {
    trace(square.mouseX, square.mouseY);
}
nameプロパティ 
name:String

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

DisplayObject のインスタンス名を示します。親表示オブジェクトコンテナの子リスト内でオブジェクトを識別するには、表示オブジェクトコンテナの getChildByName() メソッドを呼び出します。



実装
    public function get name():String
    public function set name(value:String):void

例外
IllegalOperationError — Flash オーサリングツールで、タイムライン上に配置されたオブジェクトに対して、このプロパティを設定しようとした場合


次のコードでは、2 つの Sprite オブジェクトを作成し、ユーザーがいずれかのオブジェクトをクリックしたときに関連付けられる name プロパティをトレースします。
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFF0000);
circle1.graphics.drawCircle(40, 40, 40);
circle1.name = "circle1";
addChild(circle1);
circle1.addEventListener(MouseEvent.CLICK, traceName);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x0000FF);
circle2.graphics.drawCircle(140, 40, 40);
circle2.name = "circle2";
addChild(circle2);
circle2.addEventListener(MouseEvent.CLICK, traceName);

function traceName(event:MouseEvent):void {
    trace(event.target.name);
}
opaqueBackgroundプロパティ 
opaqueBackground:Object

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

表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。透明のビットマップにはアルファチャンネルデータが含まれ、透明に描画されます。不透明のビットマップには、アルファチャンネルがありません (したがって透明のビットマップより速くレンダリングされます)。ビットマップが不透明の場合、使用する独自の背景色を指定する必要があります。

数値が設定された場合、これは数値によって指定される RGB 背景色を持つ不透明な (透明でない) サーフェスになります。null (デフォルト値) に設定された場合、表示オブジェクトの背景は透明になります。

opaqueBackground プロパティの主な用途は、レンダリング最適化のために cacheAsBitmap プロパティと共に使用することです。cacheAsBitmap プロパティが true に設定されている表示オブジェクトでは、opaqueBackground を設定すると、レンダリングのパフォーマンスが向上する可能性があります。

不透明な背景領域は照合されません (hitTestPoint() メソッドを、shapeFlag パラメータを true に設定して呼び出す場合)。

不透明な背景領域は、マウスイベントに反応しません。



実装
    public function get opaqueBackground():Object
    public function set opaqueBackground(value:Object):void

関連項目



次のコードでは、青色の円の Shape オブジェクトを作成し、その opaqueBackground プロパティを赤色 (0xFF0000) に設定します。
import flash.display.Shape;

var circle:Shape = new Shape();
circle.graphics.beginFill(0x0000FF);
circle.graphics.drawCircle(40, 40, 40);
circle.opaqueBackground = 0xFF0000;
addChild(circle);
parentプロパティ 
parent:DisplayObjectContainer  [読み取り専用]

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

この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。表示リスト階層内の現在の表示オブジェクトの上位にある表示オブジェクトへの相対パスを指定するには、parent プロパティを使用します。

parent を使用して表示リストの複数のレベルを上に移動するには、次のようにします。

     this.parent.parent.alpha = 20;
     



実装
    public function get parent():DisplayObjectContainer

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


次のコードでは、3 つの Sprite オブジェクトを作成し、parent プロパティに表示リスト階層が反映されるしくみを示します。

import flash.display.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";

sprite1.addChild(sprite2);
sprite2.addChild(sprite3);

trace(sprite2.parent.name); // sprite1
trace(sprite3.parent.name); // sprite2
trace(sprite3.parent.parent.name); // sprite1
rootプロパティ 
root:DisplayObject  [読み取り専用]

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

ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティは、その SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。ロードされたイメージファイルを表す Bitmap オブジェクトの場合、root プロパティは、Bitmap オブジェクトそのものになります。ロードされた最初の SWF ファイルのメインクラスのインスタンスの場合、root プロパティは、表示オブジェクトそのものになります。Stage オブジェクトの root プロパティは、Stage オブジェクトそのものになります。表示リストに追加されていない表示オブジェクトの場合、root プロパティには、null が設定されます。ただし、表示リスト外ではあるものの、ロードされた SWF ファイルの最上位の表示オブジェクトの子である表示オブジェクトコンテナに追加されていている場合は除きます。

例えば、Sprite() コンストラクタメソッドを呼び出して新しい Sprite オブジェクトを作成した場合、表示リスト (または、表示リストの外にあるが、SWF ファイルの最上位の表示オブジェクトの子である表示オブジェクトコンテナ) に追加されるまで、root プロパティは null になります。

ロードされた SWF ファイルの場合、ファイルのロードに使用した Loader オブジェクトが表示リストに存在しない可能性もありますが、SWF ファイルの最上位の表示オブジェクトの root プロパティには、オブジェクトそのものが設定されます。Loader オブジェクトでは、root プロパティは設定されません。この状態は、root プロパティが設定されている表示オブジェクトの子として追加されるまで続きます。



実装
    public function get root():DisplayObject


次のコードでは、Stage オブジェクト、表示リストに追加される前と後の両方の表示オブジェクト (Loader オブジェクト)、およびロードされたオブジェクト (ロードされた Bitmap オブジェクト) の root プロパティの違いを表示します。
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;

trace(stage.root); // [object Stage]

var ldr:Loader = new Loader();
trace (ldr.root); // null

addChild(ldr); 
trace (ldr.root); // [object ...]

var urlReq:URLRequest = new URLRequest("example.jpg");
ldr.load(urlReq);

ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);

function loaded(event:Event):void {
    trace(ldr.content.root); // [object Bitmap]
}
rotationプロパティ 
rotation:Number

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

DisplayObject インスタンスの元の位置からの回転角を度単位で示します。時計回りに回転させる場合は 0 ~ 180 の値を指定します。反時計回りに回転させる場合は 0 ~ -180 の値を指定します。この範囲を超える値は、360 に加算または 360 から減算され、範囲内に収まる値になるように調整されます。たとえば、my_video.rotation = 450 というステートメントは my_video.rotation = 90 と同義です。



実装
    public function get rotation():Number
    public function set rotation(value:Number):void


次のコードでは、Sprite オブジェクトを作成し、ユーザーがそれをクリックすると、オブジェクトが回転します。

import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(-50, -50, 100, 100);
square.x = 150;
square.y = 150;
addChild(square);

square.addEventListener(MouseEvent.CLICK, rotate);

function rotate(event:MouseEvent):void {
        square.rotation += 15;
}
rotationXプロパティ 
rotationX:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。時計回りに回転させる場合は 0 ~ 180 の値を指定します。反時計回りに回転させる場合は 0 ~ -180 の値を指定します。この範囲を超える値は、360 を加算または減算して、範囲内に収まる値になるように調整されます。



実装
    public function get rotationX():Number
    public function set rotationX(value:Number):void


この例では、2 つの楕円の rotationX プロパティと rotationY プロパティを使用して、これらの楕円を回転させます。最初の楕円の基準点は、楕円の中心に設定されています。この楕円は、その中心を軸にして回転します。2 つ目の楕円は、外部のポイントを軸にして回転します。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.geom.*;
    import flash.display.Graphics;
    import flash.events.TimerEvent;
    import flash.utils.Timer;

    public class RotationExample1 extends MovieClip {
        private var ellipse:Shape = new Shape();
        private var speed:int = 10;
        private var ellipse1:Shape;
        private var ellipse2:Shape;
        
        public function RotationExample1():void {

            ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), 
                                    (this.stage.stageHeight / 2));
            
            ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), 
                                          (this.stage.stageHeight / 2));

            this.addChild(ellipse1);
            this.addChild(ellipse2);

            var t:Timer = new Timer(50);
            t.addEventListener(TimerEvent.TIMER, timerHandler);
            t.start();
        }

        private function drawEllipse(x1, y1, x2, y2):Shape {
        
            var e:Shape = new Shape();
            e.graphics.beginFill(0xFF0000);
            e.graphics.lineStyle(2);
            e.graphics.drawEllipse(x1, y1, 100, 80);
            e.graphics.endFill();

            e.x  = x2;  
            e.y  = y2;
            e.z = 1;
            return e;
        }

        private function timerHandler(event:TimerEvent):void {
            ellipse1.rotationY += speed;    
            ellipse1.rotationX -= speed;

            ellipse2.rotationY += speed;    
            ellipse2.rotationX -= speed;
        }
    }
}
rotationYプロパティ 
rotationY:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。時計回りに回転させる場合は 0 ~ 180 の値を指定します。反時計回りに回転させる場合は 0 ~ -180 の値を指定します。この範囲を超える値は、360 を加算または減算して、範囲内に収まる値になるように調整されます。



実装
    public function get rotationY():Number
    public function set rotationY(value:Number):void


この例では、2 つの楕円の rotationX プロパティと rotationY プロパティを使用して、これらの楕円を回転させます。最初の楕円の基準点は、楕円の中心に設定されています。この楕円は、その中心を軸にして回転します。2 つ目の楕円は、外部のポイントを軸にして回転します。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.geom.*;
    import flash.display.Graphics;
    import flash.events.TimerEvent;
    import flash.utils.Timer;

    public class RotationExample1 extends MovieClip {
        private var ellipse:Shape = new Shape();
        private var speed:int = 10;
        private var ellipse1:Shape;
        private var ellipse2:Shape;
        
        public function RotationExample1():void {

            ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), 
                                    (this.stage.stageHeight / 2));
            
            ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), 
                                          (this.stage.stageHeight / 2));

            this.addChild(ellipse1);
            this.addChild(ellipse2);

            var t:Timer = new Timer(50);
            t.addEventListener(TimerEvent.TIMER, timerHandler);
            t.start();
        }

        private function drawEllipse(x1, y1, x2, y2):Shape {
        
            var e:Shape = new Shape();
            e.graphics.beginFill(0xFF0000);
            e.graphics.lineStyle(2);
            e.graphics.drawEllipse(x1, y1, 100, 80);
            e.graphics.endFill();

            e.x  = x2;  
            e.y  = y2;
            e.z = 1;
            return e;
        }

        private function timerHandler(event:TimerEvent):void {
            ellipse1.rotationY += speed;    
            ellipse1.rotationX -= speed;

            ellipse2.rotationY += speed;    
            ellipse2.rotationX -= speed;
        }
    }
}
rotationZプロパティ 
rotationZ:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。時計回りに回転させる場合は 0 ~ 180 の値を指定します。反時計回りに回転させる場合は 0 ~ -180 の値を指定します。この範囲を超える値は、360 を加算または減算して、範囲内に収まる値になるように調整されます。



実装
    public function get rotationZ():Number
    public function set rotationZ(value:Number):void
scale9Gridプロパティ 
scale9Grid:Rectangle

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

現在有効な拡大 / 縮小グリッドです。null に設定されている場合、拡大または縮小変換が適用されると表示オブジェクト全体は通常どおりに拡大または縮小されます。

scale9Grid プロパティを定義すると、グリッドの中央領域を定義する scale9Grid 矩形に基づいて、9 つの領域からなるグリッドに表示オブジェクトが分割されます。グリッドの他の 8 領域は、次のような領域です。

矩形で定義される、中心以外の 8 つの領域は、拡大 / 縮小時に特別な規則が適用される額縁のようなものと考えることができます。

scale9Grid プロパティが設定されているときに表示オブジェクトを拡大 / 縮小すると、テキストとグラデーションはすべて通常どおり拡大 / 縮小しますが、それ以外の種類のオブジェクトには次のような規則が適用されます。

表示オブジェクトが回転されると、それ以降の拡大 / 縮小はすべて通常どおりになり、scale9Grid プロパティは無視されます。

たとえば、次のような表示オブジェクトと、その表示オブジェクトの scale9Grid として適用される矩形があるとします。

表示オブジェクトのイメージ

表示オブジェクトです。

表示オブジェクトの 9 領域での拡大 / 縮小

赤の矩形は scale9Grid を表します。

表示オブジェクトを拡大 / 縮小または伸縮すると、矩形内のオブジェクトは通常どおり拡大 / 縮小しますが、矩形外のオブジェクトは scale9Grid の規則に従って拡大 / 縮小します。

75% に縮小 : 75% の表示オブジェクト
50% に縮小 : 50% の表示オブジェクト
25% に縮小 : 25% の表示オブジェクト
水平方向に 150% 伸長 : 150% に伸長された表示

scale9Grid 設定の一般的な使用法は、拡大 / 縮小時にエッジ領域が同じ幅に保たれるコンポーネントとして表示オブジェクトをセットアップすることです。



実装
    public function get scale9Grid():Rectangle
    public function set scale9Grid(value:Rectangle):void

例外
ArgumentError — メソッドに無効な引数を渡した場合

関連項目



次のコードでは、Shape オブジェクトを作成し、その graphics プロパティで矩形を描画します。矩形は、太さ 20 ピクセルの線を境界に使用し、グラデーションで塗りつぶします。タイマーイベントでは scale() 関数を呼び出し、scaleX プロパティおよび scaleY プロパティを調整して、Shape オブジェクトを拡大 / 縮小します。scale9Grid が Shape オブジェクトに適用されるため、矩形の境界線は拡大 / 縮小されず、グラデーションの塗りのみが拡大 / 縮小されます。

import flash.display.Shape;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.InterpolationMethod;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.utils.Timer;
import flash.events.TimerEvent;

var square:Shape = new Shape();
square.graphics.lineStyle(20, 0xFFCC00);
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10);
square.graphics.beginGradientFill(GradientType.RADIAL, 
            [0xffff00, 0x0000ff], 
            [100, 100], 
            [0, 0xFF], 
            gradientMatrix, 
            SpreadMethod.REFLECT, 
            InterpolationMethod.RGB, 
            0.9);
square.graphics.drawRect(0, 0, 100, 100);

var grid:Rectangle = new Rectangle(20, 20, 60, 60);
square.scale9Grid = grid ;

addChild(square);

var tim:Timer = new Timer(100);
tim.start();
tim.addEventListener(TimerEvent.TIMER, scale);

var scaleFactor:Number = 1.01;

function scale(event:TimerEvent):void {
    square.scaleX *= scaleFactor;
    square.scaleY *= scaleFactor;
    
    if (square.scaleX > 2.0) {
        scaleFactor = 0.99;
    }
    if (square.scaleX < 1.0) {
        scaleFactor = 1.01;
    }
}
scaleXプロパティ 
scaleX:Number

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

基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 デフォルトの基準点は (0,0) です。1.0 は縮尺 100% と同等です。

ローカル座標系を拡大 / 縮小すると、x および y プロパティの値が変化します。この変化は、整数のピクセル数で表されます。



実装
    public function get scaleX():Number
    public function set scaleX(value:Number):void


次のコードでは、Sprite オブジェクトを作成し、その graphics プロパティで矩形を描画します。ユーザーがスプライトをクリックすると、スプライトは 10% 拡大されます。

import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

square.addEventListener(MouseEvent.CLICK, scale);

function scale(event:MouseEvent):void {
    square.scaleX *= 1.10;
    square.scaleY *= 1.10;
}
scaleYプロパティ 
scaleY:Number

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

オブジェクトの基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。 デフォルトの基準点は (0,0) です。1.0 は縮尺 100% です。

ローカル座標系を拡大 / 縮小すると、x および y プロパティの値が変化します。この変化は、整数のピクセル数で表されます。



実装
    public function get scaleY():Number
    public function set scaleY(value:Number):void


次のコードでは、Sprite オブジェクトを作成し、その graphics プロパティで矩形を描画します。ユーザーがスプライトをクリックすると、スプライトは 10% 拡大されます。

import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

square.addEventListener(MouseEvent.CLICK, scale);

function scale(event:MouseEvent):void {
    square.scaleX *= 1.10;
    square.scaleY *= 1.10;
}
scaleZプロパティ 
scaleZ:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。デフォルトの基準点は (0,0) です。1.0 は縮尺 100% です。

ローカル座標系を拡大 / 縮小すると、xy、および z プロパティの値が変化します。この変化は、整数のピクセル数で表されます。



実装
    public function get scaleZ():Number
    public function set scaleZ(value:Number):void

関連項目

scrollRectプロパティ 
scrollRect:Rectangle

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

表示オブジェクトのスクロール矩形の境界です。表示オブジェクトは矩形で定義されたサイズにトリミングされ、x および y プロパティ (scrollRect オブジェクトのプロパティ) を変更すると、表示オブジェクトは矩形の内部でスクロールします。

scrollRect 矩形オブジェクトのプロパティは、表示オブジェクトの座標空間を使用し、表示オブジェクト全体と同じように拡大および縮小されます。スクロールしている表示オブジェクト上のトリミングされたウィンドウの隅の境界は、表示オブジェクトの原点 (0,0)、および矩形の幅と高さによって定義されるポイントです。これらは原点を中心に配置されるのではなく、原点を使って領域の左上隅を定義します。スクロールされる表示オブジェクトは、常にピクセル増分全体の中でスクロールします。

x プロパティ (scrollRect 矩形オブジェクトのプロパティ) を設定することにより、オブジェクトを左右にスクロールできます。y プロパティ (scrollRect 矩形オブジェクトのプロパティ) を設定することにより、オブジェクトを上下にスクロールできます。表示オブジェクトを 90 度回転して左右にスクロールすると、この表示オブジェクトは実際には上下にスクロールします。



実装
    public function get scrollRect():Rectangle
    public function set scrollRect(value:Rectangle):void

関連項目



次の例では、scrollRect プロパティが、表示オブジェクトである circle のスクロール領域を定義する方法を示しています。circle オブジェクトをクリックすると、clicked() イベントハンドラメソッドは、y プロパティ(scrollRect プロパティ(circle オブジェクトのプロパティ)のプロパティ)を調整し、結果としてオブジェクトが下にスクロールします。

import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(200, 200, 200);
circle.scrollRect = new Rectangle(0, 0, 200, 200);
addChild(circle);

circle.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    var rect:Rectangle = event.target.scrollRect;
    rect.y -= 5;
    event.target.scrollRect = rect;
}
stageプロパティ 
stage:Stage  [読み取り専用]

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

表示オブジェクトのステージです。Flash アプリケーションには Stage オブジェクトが 1 つだけあります。たとえば、複数の表示オブジェクトを作成して表示リストにロードすることができます。その場合、(ロードされた SWF ファイルに表示オブジェクトが属する場合であっても) それぞれの表示オブジェクトの stage プロパティは、同じ Stage オブジェクトを参照します。

表示オブジェクトが表示リストに追加されていない場合、stage プロパティは null に設定されます。



実装
    public function get stage():Stage


次のコードは、2 つの TextField オブジェクトを作成し、Stage オブジェクトの width プロパティを使用して、テキストフィールドを配置します。

import flash.text.TextField;

var tf1:TextField = new TextField();
tf1.text = "Text Field 1";
tf1.border = true;
tf1.x = 10;
addChild(tf1);
tf1.width = tf1.stage.stageWidth / 2 - 10;

var tf2:TextField = new TextField();
tf2.text = "Text Field 2";
tf2.border = true;
tf2.x = tf1.x + tf1.width + 5;
addChild(tf2);
tf2.width = tf2.stage.stageWidth / 2 - 10;

trace(stage.stageWidth);
transformプロパティ 
transform:Transform

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

表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。特定のプロパティつまり matrix、colorTransform、および 3 つの読み取り専用プロパティ (concatenatedMatrixconcatenatedColorTransform、および pixelBounds) については、Transform クラスの最初の部分で説明します。

変形オブジェクトの各プロパティは、それ自身がオブジェクトです。この概念は重要です。matrix オブジェクトまたは colorTransform オブジェクトの新しい値を設定する唯一の方法は、新しいオブジェクトを作成し、そのオブジェクトを transform.matrix プロパティまたは transform.colorTransform プロパティにコピーすることです。

例えば、表示オブジェクトのマトリックスの tx 値を増やすには、次のようにして matrix オブジェクト全体のコピーを作成した後、新しいオブジェクトを変形オブジェクトの matrix プロパティにコピーする必要があります。


    var myMatrix:Matrix = myDisplayObject.transform.matrix;  
    myMatrix.tx += 10; 
    myDisplayObject.transform.matrix = myMatrix;  
    

tx プロパティを直接設定することはできません。次のコードは myDisplayObject に影響を与えません。


    myDisplayObject.transform.matrix.tx += 10;
    

また、変形オブジェクト全体をコピーし、それを別の表示オブジェクトの transform プロパティに割り当てることもできます。たとえば、次のコードでは、変形オブジェクト全体を myOldDisplayObj から myNewDisplayObj にコピーします。

myNewDisplayObj.transform = myOldDisplayObj.transform;

生成される表示オブジェクト myNewDisplayObj のマトリックス、カラー変換、ピクセル境界は、古い表示オブジェクト myOldDisplayObj と同じ値になります。



実装
    public function get transform():Transform
    public function set transform(value:Transform):void

関連項目



次のコードでは、Sprite オブジェクト square を設定します。ユーザーがスプライトをクリックすると、transformer() メソッドにより、colorTransform プロパティおよび matrix プロパティ (スプライトの transform プロパティのプロパティ) が調整されます。

import flash.display.Sprite;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Transform;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.lineStyle(20, 0xFF2200);
square.graphics.beginFill(0x0000DD);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

var resultColorTransform:ColorTransform = new ColorTransform();
resultColorTransform.alphaMultiplier = 0.5;
resultColorTransform.redOffset = 155;
resultColorTransform.greenMultiplier = 0.5;

var skewMatrix:Matrix = new Matrix(1, 1, 0, 1);

square.addEventListener(MouseEvent.CLICK, transformer);

function transformer(event:MouseEvent):void {
    var transformation:Transform = square.transform;
    var tempMatrix:Matrix = square.transform.matrix;
    tempMatrix.concat(skewMatrix);
    square.transform.colorTransform = resultColorTransform;
    
    square.transform.matrix = tempMatrix;
}
visibleプロパティ 
visible:Boolean

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

表示オブジェクトが可視かどうかを示します。非可視の表示オブジェクトは無効になります。例えば、ある InteractiveObject インスタンスが visible=false に設定されている場合、これをクリックすることはできません。



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


次のコードでは、Timer オブジェクトを使用して、表示オブジェクトの visible プロパティを定期的に変更する関数を呼び出して、点滅効果を達成します。

import flash.text.TextField;
import flash.utils.Timer;
import flash.events.TimerEvent;

var tf:TextField = new TextField();
tf.text = "Hello.";
addChild(tf);

var tim:Timer = new Timer(250);
tim.start();
tim.addEventListener(TimerEvent.TIMER, blinker);

function blinker(event:TimerEvent):void {
    tf.visible = !tf.visible;
}
widthプロパティ 
width:Number

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

表示オブジェクトの幅を示します (ピクセル単位)。この幅は、表示オブジェクトのコンテンツの境界に基づいて計算されます。次のコードに示すように、この width プロパティを設定すると、それに合わせて scaleX プロパティの値が調整されます。

    var rect:Shape = new Shape();
    rect.graphics.beginFill(0xFF0000);
    rect.graphics.drawRect(0, 0, 100, 100);
    trace(rect.scaleX) // 1;
    rect.width = 200;
    trace(rect.scaleX) // 2;

TextField と Video オブジェクトを除いて、width を別の値に設定しようとしても、コンテンツのない表示オブジェクト (例えば、空のスプラインなど) の幅は 0 になります。



実装
    public function get width():Number
    public function set width(value:Number):void


次のコードでは、Sprite オブジェクト square を設定します。ユーザーがスプライトをクリックすると、widen() メソッドが、スプライトの width プロパティを増加します。

import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

square.addEventListener(MouseEvent.CLICK, widen);

function widen(event:MouseEvent):void {
    square.width += 10;
}
xプロパティ 
x:Number

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

親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。変形されている DisplayObjectContainer にオブジェクトが含まれる場合、そのオブジェクトの座標系は、それを囲む DisplayObjectContainer のローカル座標系になります。したがって、反時計回りに 90 度回転した DisplayObjectContainer の場合、その DisplayObjectContainer の子は、反時計回りに 90 度回転した座標系を継承します。オブジェクトの座標は、基準点の位置を参照します。



実装
    public function get x():Number
    public function set x(value:Number):void


次のコードでは、circle Sprite オブジェクトを設定します。Timer オブジェクトを使用して、スプライトの x プロパティを 50 ミリ秒ごとに変更します。

import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(100, 100, 100);
addChild(circle);

var tim:Timer = new Timer(50);
tim.start();
tim.addEventListener(TimerEvent.TIMER, bounce);

var xInc:Number = 2;

function bounce(event:TimerEvent):void {
    circle.x += xInc;
    if (circle.x > circle.width) {
        xInc = -2;
    }
    if (circle.x < 0) {
        xInc = 2;
    }
}
yプロパティ 
y:Number

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

親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。変形されている DisplayObjectContainer にオブジェクトが含まれる場合、そのオブジェクトの座標系は、それを囲む DisplayObjectContainer のローカル座標系になります。したがって、反時計回りに 90 度回転した DisplayObjectContainer の場合、その DisplayObjectContainer の子は、反時計回りに 90 度回転した座標系を継承します。オブジェクトの座標は、基準点の位置を参照します。



実装
    public function get y():Number
    public function set y(value:Number):void


次のコードでは、2 つの TextField オブジェクトを作成し、それぞれの height プロパティを調整します。このとき、調整はそれぞれの textHeight プロパティに基づいて行われます。また、その y プロパティを設定することで、2 番目のテキストフィールドを配置します。
import flash.text.TextField;

var tf1:TextField = new TextField();
tf1.text = "Text Field 1";
tf1.border = true;
tf1.wordWrap = true;
tf1.width = 40;
tf1.height = tf1.textHeight + 5;
addChild(tf1);

var tf2:TextField = new TextField();
tf2.text = "Text Field 2";
tf2.border = true;
tf2.wordWrap = true;
tf2.width = 40;
tf2.height = tf2.textHeight + 5;
tf2.y = tf1.y + tf1.height + 5;
addChild(tf2);
zプロパティ 
z:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。 z プロパティは、3D 座標で使用されます。画面座標またはピクセル座標用ではありません。

表示オブジェクトの z プロパティをデフォルト値の 0 以外に設定すると、対応する Matrix3D オブジェクトが自動的に作成されます。これにより、3 次元での表示オブジェクトの位置と方向が調整されます。z 軸を使用して作業する場合、x プロパティおよび y プロパティの既存の動作は、画面座標またはピクセル座標から 3D 親コンテナを基準にした位置に変更されます。

例えば、位置(x = 100, y = 100, z = 200)にある _root の子は、ピクセル位置(100, 100)に描画されません。この子は、3D 投影計算の結果に応じた位置に描画されます。次の計算が実行されます。

(x*cameraFocalLength/cameraRelativeZPosition, y*cameraFocalLength/cameraRelativeZPosition)



実装
    public function get z():Number
    public function set z(value:Number):void

関連項目



この例では、2 つの楕円を描画し、これらの楕円を消失点に向かって前後に(z 軸に沿って)移動させます。一方の楕円は、他方の楕円よりも速く移動するよう設定されています。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.display.Graphics;
    import flash.events.Event;
    import flash.geom.*;

    public class ZAxisExample1 extends MovieClip {
        private var ellipse1Back:int = 1;
        private var ellipse2Back:int = 1;
        private var depth:int = 1000;
        
        public function ZAxisExample1():void {
            
            var ellipse1 = drawEllipse((this.stage.stageWidth / 2) - 100, 
                                      (this.stage.stageHeight / 2), 100, 80, 10);
            var ellipse2 = drawEllipse((this.stage.stageWidth / 2) + 100, 
                                      (this.stage.stageHeight / 2), 100, 80, 300);

            this.addChild(ellipse1);
            this.addChild(ellipse2);
            
            ellipse1.addEventListener(Event.ENTER_FRAME, ellipse1FrameHandler);
            ellipse2.addEventListener(Event.ENTER_FRAME, ellipse2FrameHandler);
        }

        private function drawEllipse(x:Number, y:Number, w:Number, h:Number, z:Number):Shape {
            var s:Shape = new Shape();                            
            s.z = z;
            s.graphics.beginFill(0xFF0000);
            s.graphics.lineStyle(2);
            s.graphics.drawEllipse(x, y, w, h);
            s.graphics.endFill();
            return s;
        }

        private function ellipse1FrameHandler(e:Event):void {
            ellipse1Back = setDepth(e, ellipse1Back);
            e.currentTarget.z += ellipse1Back * 10;
        }

        private function ellipse2FrameHandler(e:Event):void {
            ellipse2Back = setDepth(e, ellipse2Back);
            e.currentTarget.z += ellipse2Back * 20;
        }

        private function setDepth(e:Event, d:int):int {
            if(e.currentTarget.z > depth) {
                e.currentTarget.z = depth; 
                d = -1;
            }else if (e.currentTarget.z <  0) {
                e.currentTarget.z = 0;
                d = 1;
            }
            return d;
        }
    }
}
メソッドの詳細
getBounds()メソッド
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle

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

targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。以下のコードは、どんな targetCoordinateSpace パラメータをメソッドに渡すかに応じて、様々な矩形が返されることを示しています。

     var container:Sprite = new Sprite();
     container.x = 100;
     container.y = 100;
     this.addChild(container);
     var contents:Shape = new Shape();
     contents.graphics.drawCircle(0,0,100);
     container.addChild(contents);
     trace(contents.getBounds(container));
      // (x=-100, y=-100, w=200, h=200)
     trace(contents.getBounds(this));
      // (x=0, y=0, w=200, h=200)
     

メモ : 表示オブジェクトのローカル座標を表示座標に、または表示座標をローカル座標に変換するには、それぞれ localToGlobal() および globalToLocal() メソッドを使用します。

getBounds() メソッドは getRect() メソッドに似ていますが、getBounds() メソッドから返される矩形にはシェイプの線が含まれるのに対し、getRect() メソッドから返される矩形には含まれません。例については、getRect() メソッドに関する説明を参照してください。

パラメータ

targetCoordinateSpace:DisplayObject — 使用する座標系を定義する表示オブジェクトです。

戻り値
RectangletargetCoordinateSpace オブジェクトの座標系を基準とする、表示オブジェクトの領域を定義する矩形です。

関連項目

getRect()メソッド 
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle

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

シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。getRect() メソッドから返される値は、getBounds() メソッドから返される値と同じか、それより小さくなります。

メモ : 表示オブジェクトのローカル座標をステージ座標に、またはステージ座標をローカル座標に変換するには、それぞれ localToGlobal() および globalToLocal() メソッドを使用します。

パラメータ

targetCoordinateSpace:DisplayObject — 使用する座標系を定義する表示オブジェクトです。

戻り値
RectangletargetCoordinateSpace オブジェクトの座標系を基準とする、表示オブジェクトの領域を定義する矩形です。

関連項目




次の例では、getBounds() メソッドが、getRect() メソッドを使用したときよりも大きい矩形が返される場合があることを示しています。そうなる理由は、追加的な領域が線に必要となるためです。この場合、triangle スプライトには余分な線が含まれます。これは、width パラメータおよび jointStyle パラメータ(lineStyle() メソッドのパラメータ)があるためです。trace() の出力(最後の 2 行)は、getRect() 矩形と getBounds() 矩形の違いを示しています。

import flash.display.CapsStyle;
import flash.display.JointStyle;
import flash.display.LineScaleMode;
import flash.display.Sprite;
import flash.geom.Rectangle;

var triangle:Sprite = new Sprite();
var color:uint = 0xFF0044;
var width:Number = 20;
var alpha:Number = 1.0;
var pixelHinting:Boolean = true;
var scaleMode:String = LineScaleMode.NORMAL;
var caps:String = CapsStyle.SQUARE;
var joints:String = JointStyle.MITER;
triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints);

var triangleSide:Number = 100;
triangle.graphics.moveTo(0, 0);
triangle.graphics.lineTo(0, triangleSide);
triangle.graphics.lineTo(triangleSide, triangleSide);
triangle.graphics.lineTo(0, 0);

addChild(triangle);

trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1)
trace(triangle.getRect(this));     // (x=0, y=0, w=100, h=100)
globalToLocal()メソッド 
public function globalToLocal(point:Point):Point

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

point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。

このメソッドを使用するには、まず Point クラスのインスタンスを作成してください。割り当てられる x 値と y 値は、メイン表示領域の起点 (0,0) からの相対値であるため、これらの値はグローバル座標を表します。次に、Point インスタンスを globalToLocal() メソッドにパラメータとして渡します。このメソッドは、Stage の起点ではなく、表示オブジェクトの起点からの相対値である x 値と y 値を持つ新しい Point オブジェクトを返します。

パラメータ

point:Point — Point クラスを使って作成されるオブジェクトです。Point オブジェクトは、x および y 座標をプロパティとして指定します。

戻り値
Point — 表示オブジェクトからの相対座標を持つ Point オブジェクトです。

関連項目




次のコードでは、Shape オブジェクトを作成し、パラメータとして異なるポイントを使用して、hitTestPoint() メソッドの呼び出し結果を表示します。globalToLocal() メソッドは、ポイントをステージ座標からシェイプの座標空間に変換します。

import flash.display.Shape;
import flash.geom.Point;

var circle:Shape = new Shape();
circle.graphics.beginFill(0x0000FF);
circle.graphics.drawCircle(40, 40, 40);
circle.x = 10;
addChild(circle);

var point1:Point = new Point(0, 0);
trace(circle.hitTestPoint(point1.x, point1.y, true)); // false
trace(circle.hitTestPoint(point1.x, point1.y, false)); // false
trace(circle.globalToLocal(point1)); // [x=-10, y=0]

var point2:Point = new Point(10, 1);
trace(circle.hitTestPoint(point2.x, point2.y, true)); // false
trace(circle.hitTestPoint(point2.x, point2.y, false)); // true
trace(circle.globalToLocal(point2)); // [x=0, y=1]

var point3:Point = new Point(30, 20);
trace(circle.hitTestPoint(point3.x, point3.y, true)); // true
trace(circle.hitTestPoint(point3.x, point3.y, false)); // true
trace(circle.globalToLocal(point3)); // [x=20, y=20]
globalToLocal3D()メソッド 
public function globalToLocal3D(point:Point):Vector3D

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。

このメソッドを使用するには、まず Point クラスのインスタンスを作成してください。 Point オブジェクトに割り当てられる x 値と y 値は、メイン表示領域の起点(0,0)からの相対値であるため、これらの値はグローバル座標を表します。次に、Point オブジェクトを globalToLocal3D() メソッドの point パラメータとして渡します。このメソッドは、3 次元の表示オブジェクトの基点を基準とした x 値、y 値、および z 値を含む Vector3D オブジェクトとして 3 次元座標を返します。

パラメータ

point:Point — グローバル座標の x 座標と y 座標を表す 2 次元の Point オブジェクトです。

戻り値
Vector3D — 3 次元の表示オブジェクトを基準とした座標を持つ Vector3D オブジェクトです。
hitTestObject()メソッド 
public function hitTestObject(obj:DisplayObject):Boolean

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

表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。

パラメータ

obj:DisplayObject — 検査の対象となる表示オブジェクトです。

戻り値
Boolean — 表示オブジェクトの境界ボックスが交差する場合は true を返します。交差しない場合は false を返します。



次のコードでは、3 つの Shape オブジェクトを作成し、hitTestObject() メソッドの呼び出し結果を示します。circle2 と circle3 は重複しませんが、境界ボックスは重複します。そのため、circle2 と circle3 のヒットテストでは true が返されます。

import flash.display.Shape;

var circle1:Shape = new Shape();
circle1.graphics.beginFill(0x0000FF);
circle1.graphics.drawCircle(40, 40, 40);
addChild(circle1);

var circle2:Shape = new Shape();
circle2.graphics.beginFill(0x00FF00);
circle2.graphics.drawCircle(40, 40, 40);
circle2.x = 50;
addChild(circle2);

var circle3:Shape = new Shape();
circle3.graphics.beginFill(0xFF0000);
circle3.graphics.drawCircle(40, 40, 40);
circle3.x = 100;
circle3.y = 67;
addChild(circle3);

trace(circle1.hitTestObject(circle2)); // true
trace(circle1.hitTestObject(circle3)); // false
trace(circle2.hitTestObject(circle3)); // true
hitTestPoint()メソッド 
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean

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

表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。x および y パラメータは、表示オブジェクトが含まれる表示オブジェクトコンテナではなく Stage の座標空間内のポイントを指定します (その表示オブジェクトコンテナが Stage の場合を除く)。

パラメータ

x:Number — このオブジェクトの検査の基準となる x 座標です。
 
y:Number — このオブジェクトの検査の基準となる y 座標です。
 
shapeFlag:Boolean (default = false) — オブジェクトの実際のピクセルと比較して検査する場合は true、境界ボックスと比較して検査する場合は false です。

戻り値
Boolean — 指定されたポイントと表示オブジェクトが重複または交差する場合は true、そうでなければ false です。

関連項目




次のコードでは、Shape オブジェクトを作成し、パラメータとして異なるポイントを使用して、hitTestPoint() メソッドの呼び出し結果を表示します。globalToLocal() メソッドは、ポイントをステージ座標からシェイプの座標空間に変換します。

import flash.display.Shape;
import flash.geom.Point;

var circle:Shape = new Shape();
circle.graphics.beginFill(0x0000FF);
circle.graphics.drawCircle(40, 40, 40);
circle.x = 10;
addChild(circle);

var point1:Point = new Point(0, 0);
trace(circle.hitTestPoint(point1.x, point1.y, true)); // false
trace(circle.hitTestPoint(point1.x, point1.y, false)); // false
trace(circle.globalToLocal(point1)); // [x=-10, y=0]

var point2:Point = new Point(10, 1);
trace(circle.hitTestPoint(point2.x, point2.y, true)); // false
trace(circle.hitTestPoint(point2.x, point2.y, false)); // true
trace(circle.globalToLocal(point2)); // [x=0, y=1]

var point3:Point = new Point(30, 20);
trace(circle.hitTestPoint(point3.x, point3.y, true)); // true
trace(circle.hitTestPoint(point3.x, point3.y, false)); // true
trace(circle.globalToLocal(point3)); // [x=20, y=20]
local3DToGlobal()メソッド 
public function local3DToGlobal(point3d:Vector3D):Point

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。

例えば、display.Graphics のメソッドを使用して描画する場合は、2 次元座標(x,y)のみを使用できます。3 次元のオブジェクトを描画するには、表示オブジェクトの 3 次元座標を 2 次元座標にマッピングする必要があります。まず、3 次元の表示オブジェクトの x 座標、y 座標、および z 座標を保持する Vector3D クラスのインスタンスを作成します。次に、Vector3D オブジェクトを local3DToGlobal() メソッドの point3d パラメータとして渡します。このメソッドからは 2 次元の Point オブジェクトが返されます。これを Graphics API で使用すると、3 次元のオブジェクトを描画できます。

パラメータ

point3d:Vector3D — 3 次元の表示オブジェクトの 3 次元のポイントまたは座標を含む Vector3D オブジェクト。

戻り値
Point — 3 次元のポイントを 2 次元空間で表す 2 次元のポイント。



この例では、display.Graphics のメソッドを使用して、2 次元空間に簡単な 3 次元の立方体を描画します。this 表示オブジェクトの位置はオフセットされるため、立方体の基準点はその中心になります。Vector3D オブジェクトのベクターには、立方体の 3 次元座標が保持されます。最初に立方体の上部が描画され、次に下部が描画され、最後に上部の四隅と下部の四隅が接続されます。local3DToGlobal() メソッドを使用するには、立方体を表示オブジェクトのコンテナに追加してから立方体を描画する必要があります。
package {
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.display.Graphics;
    import flash.geom.*;

    public class Local3DToGlobalExample extends MovieClip {
        private var myCube:Sprite = new Sprite();
        private var v8:Vector.<Vector3D> = new Vector.<Vector3D>(8);

        public function Local3DToGlobalExample():void {
            this.x = -(this.stage.stageWidth / 2);
            this.y = -(this.stage.stageWidth / 2);

            v8[0] = new Vector3D(-40,-40,-40);
            v8[1] = new Vector3D(40,-40,-40);
            v8[2] = new Vector3D(40,-40,40);
            v8[3] = new Vector3D(-40,-40,40);
            v8[4] = new Vector3D(-40,100,-40);
            v8[5] = new Vector3D(40,100,-40);
            v8[6] = new Vector3D(40,100,40);
            v8[7] = new Vector3D(-40,100,40);

            myCube.x = (this.stage.stageWidth / 2);
            myCube.y = (this.stage.stageWidth / 2);
            myCube.z = 1;
            addChild(myCube);

            Cube();         
        }

        private function Cube():void {
            var ps:Point = new Point(0,0);

            myCube.graphics.lineStyle(2,0xFF0000);

            ps = myCube.local3DToGlobal(v8[0]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[1]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[2]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[3]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[0]);
            myCube.graphics.lineTo(ps.x, ps.y);

            ps = myCube.local3DToGlobal(v8[4]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[5]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[6]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[7]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[4]);
            myCube.graphics.lineTo(ps.x, ps.y);

            ps = myCube.local3DToGlobal(v8[0]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[4]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[1]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[5]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[2]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[6]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[3]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[7]);
            myCube.graphics.lineTo(ps.x, ps.y);
        }
    }
}
localToGlobal()メソッド 
public function localToGlobal(point:Point):Point

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

point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。

このメソッドを使用すれば、特定の表示オブジェクトの起点 (0,0) との相対値 (ローカル座標) からステージの起点との相対値 (グローバル座標) に、任意の x および y 座標を変換できます。

このメソッドを使用するには、まず Point クラスのインスタンスを作成してください。割り当てられる x 値と y 値は、表示オブジェクトの起点からの相対値であるため、これらの値はローカル座標を表します。

次に、作成した Point インスタンスを localToGlobal() メソッドにパラメータとして渡します。このメソッドは、表示オブジェクトの起点ではなく、Stage の起点からの相対値である x 値と y 値を持つ新しい Point オブジェクトを返します。

パラメータ

point:Point — Point クラスを使用し、x および y 座標をプロパティとして指定して作成されるポイントの名前または識別子です。

戻り値
Point — ステージからの相対座標を持つ Point オブジェクトです。

関連項目




次のコードでは、Sprite オブジェクトを作成します。スプライトの mouseX プロパティおよび mouseY プロパティは、表示オブジェクトの座標空間内にあります。このコードは、localToGlobal() メソッドを使用して、これらのプロパティをグローバル (ステージ) 座標に変換します。

import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
square.x = 100;
square.y = 200;

addChild(square);

square.addEventListener(MouseEvent.CLICK, traceCoordinates)

function traceCoordinates(event:MouseEvent):void {
    var clickPoint:Point = new Point(square.mouseX, square.mouseY);
    trace("display object coordinates:", clickPoint);
    trace("stage coordinates:", square.localToGlobal(clickPoint));
}
イベントの詳細
added イベント
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.ADDED

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

表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObjectContainer.addChild() メソッドおよび DisplayObjectContainer.addChildAt() メソッドがこのイベントをトリガします。

Event.ADDED 定数は、type プロパティ(added イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblestrue
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target表示リストに追加される DisplayObejct インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。

関連項目

addedToStage イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.ADDED_TO_STAGE

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

表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。DisplayObjectContainer.addChild() メソッドおよび DisplayObjectContainer.addChildAt() メソッドがこのイベントをトリガします。

Event.ADDED_TO_STAGE 定数は、type プロパティ(addedToStage イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target直接または DisplayObject インスタンスが含まれているサブツリーを追加することで、オンステージ表示リストに追加される DisplayObject インスタンスです。DisplayObject インスタンスが直接追加される場合、このイベントの前に added イベントが発生します。

関連項目

enterFrame イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.ENTER_FRAME

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

[ブロードキャストイベント] 再生ヘッドが新しいフレームに入るときに送出されます。再生ヘッドが移動しない場合、またはフレームが 1 つしか存在しない場合、このイベントはフレームレートに合わせて継続的に送出されます。 このイベントはブロードキャストイベントであるため、このイベントに登録されているリスナーを持つすべての表示イベントによって送出されます。

Event.ENTER_FRAME 定数は、type プロパティ(enterFrame イベントオブジェクト)の値を定義します。

注意:このイベントには「キャプチャ段階」と「バブリング段階」はありません。したがって、ターゲットが表示リストにあるかないかに関わらず、潜在的なターゲットにはイベントリスナーを直接追加する必要があります。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetenterFrame イベントに対するリスナーが登録された任意の DisplayObject インスタンスです。
exitFrame イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.EXIT_FRAME

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

[ブロードキャストイベント] 再生ヘッドが現在のフレームを終了するときに送出されます。すべてのフレームスクリプトが実行されています。再生ヘッドが移動しない場合、またはフレームが 1 つしか存在しない場合、このイベントはフレームレートに合わせて継続的に送出されます。このイベントはブロードキャストイベントであるため、このイベントに登録されているリスナーを持つすべての表示イベントによって送出されます。

Event.EXIT_FRAME 定数は、type プロパティ(exitFrame イベントオブジェクト)の値を定義します。

注意:このイベントには「キャプチャ段階」と「バブリング段階」はありません。したがって、ターゲットが表示リストにあるかないかに関わらず、潜在的なターゲットにはイベントリスナーを直接追加する必要があります。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetenterFrame イベントに対するリスナーが登録された任意の DisplayObject インスタンスです。
frameConstructed イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.FRAME_CONSTRUCTED

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

[ブロードキャストイベント] フレーム表示オブジェクトのコンストラクタが実行した後で、かつフレームスクリプトが実行される前に送出されます。再生ヘッドが移動しない場合、またはフレームが 1 つしか存在しない場合、このイベントはフレームレートに合わせて継続的に送出されます。 このイベントはブロードキャストイベントであるため、このイベントに登録されているリスナーを持つすべての表示イベントによって送出されます。

Event.FRAME_CONSTRUCTED 定数は、type プロパティ(frameConstructed イベントオブジェクト)の値を定義します。

注意:このイベントには「キャプチャ段階」と「バブリング段階」はありません。したがって、ターゲットが表示リストにあるかないかに関わらず、潜在的なターゲットにはイベントリスナーを直接追加する必要があります。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetframeConstructed イベントに対するリスナーが登録された任意の DisplayObject インスタンスです。
removed イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.REMOVED

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

表示オブジェクトが表示リストから削除されようとしているときに送出されます。このイベントを生成する DisplayObjectContainer クラスの 2 つのメソッドは、removeChild() および removeChildAt() の 2 つのエディションがあります。

さらに、新しいオブジェクトの領域を確保するためにオブジェクトを削除する必要がある場合には、DisplayObjectContainer オブジェクトの addChild()addChildAt()、および setChildIndex() もまたこのイベントを生成します。

Event.REMOVED 定数は、type プロパティ(removed イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblestrue
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target表示リストから削除される DisplayObejct インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。
removedFromStage イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.REMOVED_FROM_STAGE

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

表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。このイベントを生成する DisplayObjectContainer クラスの 2 つのメソッドは、removeChild() および removeChildAt() の 2 つのエディションがあります。

さらに、新しいオブジェクトの領域を確保するためにオブジェクトを削除する必要がある場合には、DisplayObjectContainer オブジェクトの addChild()addChildAt()、および setChildIndex() もまたこのイベントを生成します。

Event.REMOVED_FROM_STAGE 定数は、type プロパティ(removedFromStage イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target直接または DisplayObject インスタンスが含まれているサブツリーを削除することで、オンステージ表示リストから削除される DisplayObject インスタンスです。DisplayObject インスタンスが直接削除される場合、このイベントの前に removed イベントが発生します。
render イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.RENDER

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

[ブロードキャストイベント] 表示リストが更新およびレンダリングされようとしているときに送出されます。このイベントは、表示リストのレンダリング前に、このイベントをリッスンしているオブジェクトが変更を行う最後の機会を提供します。Stage オブジェクトの invalidate() メソッドは、render イベントを送出させるたびに呼び出す必要があります。 Render イベントは、Stage.invalidate() を呼び出したオブジェクトとの間に相互の信頼関係があるオブジェクトにしか送出されません。 このイベントはブロードキャストイベントであるため、このイベントに登録されているリスナーを持つすべての表示イベントによって送出されます。

メモ : 表示がレンダリングされない場合、このイベントは送出されません。 これが該当するのは、コンテンツが最小化または非表示になっている場合です。

Event.RENDER 定数は、type プロパティ(render イベントオブジェクト)の値を定義します。

注意:このイベントには「キャプチャ段階」と「バブリング段階」はありません。したがって、ターゲットが表示リストにあるかないかに関わらず、潜在的なターゲットにはイベントリスナーを直接追加する必要があります。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse。デフォルトの動作をキャンセルすることはできません。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetrender イベントに対するリスナーが登録された任意の DisplayObject インスタンスです。
例の使用法
DisplayObjectExample.as

DisplayObjectExample クラスを使用して、オレンジ色の四角形をステージの隅に描画した後、各イベントに関するテキスト情報を表示することによってイベントに応答します。これを行うには、以下の手順を実行します。
  1. 四角形の色とサイズに関するクラスプロパティが宣言されます。
  2. コンストラクタは draw() メソッドを呼び出します。このメソッドでは、オレンジ色の四角形が、ステージのデフォルト座標 x = 0, y = 0 に描画されます。
  3. 四角形には次のようなイベントリスナーメソッドがあります。
    • addedHandler() は、added イベントをリッスンします。このイベントは四角形が表示リストに追加されたときに送出されます。
    • enterFrameHandler() は、enterFrame イベントをリッスンします。このイベントは、この例では特に意味はありません。
    • removedHandler() は、removed イベントをリッスンします。このイベントは、(四角形がクリックされて) 四角形が表示リストから除去されたときに送出されます。
    • clickHandler() は、click イベントをリッスンします。このイベントはオレンジ色の四角形がクリックされると送出されます。
    • renderHandler() は、表示リストの更新後に render イベントをリッスンします。

package {
    import flash.display.Sprite;

    public class DisplayObjectExample extends Sprite {
        public function DisplayObjectExample() {
            var child:CustomDisplayObject = new CustomDisplayObject();
            addChild(child);
        }
    }
}

import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;

class CustomDisplayObject extends Sprite {
    private var bgColor:uint = 0xFFCC00;
    private var size:uint    = 80;

    public function CustomDisplayObject() {
        draw();
        addEventListener(Event.ADDED, addedHandler);
        addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        addEventListener(Event.REMOVED, removedHandler);
        addEventListener(MouseEvent.CLICK, clickHandler);
        addEventListener(Event.RENDER, renderHandler);
    }

    private function draw():void {
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, size, size);
        graphics.endFill();
    }

    private function clickHandler(event:MouseEvent):void {
        trace("clickHandler: " + event);
        parent.removeChild(this);
    }

    private function addedHandler(event:Event):void {
        trace("addedHandler: " + event);
        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align = StageAlign.TOP_LEFT;
        stage.addEventListener("resize", resizeHandler);
    }

    private function enterFrameHandler(event:Event):void {
        trace("enterFrameHandler: " + event);
        removeEventListener("enterFrame", enterFrameHandler);
    }

    private function removedHandler(event:Event):void {
        trace("removedHandler: " + event);
        stage.removeEventListener("resize", resizeHandler);
    }

    private function renderHandler(event:Event):void {
        trace("renderHandler: " + event);
    }

    private function resizeHandler(event:Event):void {
        trace("resizeHandler: " + event);
    }
}




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/display/DisplayObject.html