パッケージmx.core
インターフェイスpublic interface IFlexDisplayObject extends IBitmapDrawable , IEventDispatcher
実装者 BitmapAsset, ButtonAsset, DefaultDragImage, MovieClipAsset, MovieClipLoaderAsset, ProgrammaticSkin, SpriteAsset, SystemManager, TextFieldAsset, UIComponent

IFlexDisplayObject インターフェイスは、スキンエレメントのインターフェイスを定義します。少なくとも、スキンは DisplayObject でなければならず、このインターフェイスを実装している必要があります。



パブリックプロパティ
 プロパティ定義元
  accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
IFlexDisplayObject
  alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
IFlexDisplayObject
  blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
IFlexDisplayObject
  cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player または Adobe AIR にキャッシュされます。
IFlexDisplayObject
  filters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
IFlexDisplayObject
  height : Number
表示オブジェクトの高さを示します (ピクセル単位)。
IFlexDisplayObject
  loaderInfo : LoaderInfo
[読み取り専用] この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
IFlexDisplayObject
  mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
IFlexDisplayObject
  measuredHeight : Number
[読み取り専用] このオブジェクトの測定した高さです。
IFlexDisplayObject
  measuredWidth : Number
[読み取り専用] このオブジェクトの測定した幅です。
IFlexDisplayObject
  mouseX : Number
[読み取り専用] マウス位置の x 座標を示します(ピクセル単位)。
IFlexDisplayObject
  mouseY : Number
[読み取り専用] マウス位置の y 座標を示します(ピクセル単位)。
IFlexDisplayObject
  name : String
DisplayObject のインスタンス名を示します。
IFlexDisplayObject
  opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
IFlexDisplayObject
  parent : DisplayObjectContainer
[読み取り専用] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
IFlexDisplayObject
  root : DisplayObject
[読み取り専用] 通常、これらのメソッドは IDisplayObject にのみ配置されていますが、下位互換性を保つために、IFlexDisplayObject に直接含める必要があります。そのため、この別個のインクルードファイルにこれらのメソッドを保持する必要があります。
IFlexDisplayObject
  rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
IFlexDisplayObject
  scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
IFlexDisplayObject
  scaleX : Number
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。
IFlexDisplayObject
  scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(percentage)を示します。
IFlexDisplayObject
  scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
IFlexDisplayObject
  stage : Stage
[読み取り専用] 表示オブジェクトのステージです。
IFlexDisplayObject
  transform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
IFlexDisplayObject
  visible : Boolean
表示オブジェクトが可視かどうかを示します。
IFlexDisplayObject
  width : Number
表示オブジェクトの幅を示します (ピクセル単位)。
IFlexDisplayObject
  x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
IFlexDisplayObject
  y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
IFlexDisplayObject
パブリックメソッド
 メソッド定義元
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
IEventDispatcher
 Inherited
イベントをイベントフローに送出します。
IEventDispatcher
  
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
IFlexDisplayObject
  
getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
IFlexDisplayObject
  
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
IFlexDisplayObject
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
IEventDispatcher
  
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。
IFlexDisplayObject
  
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
IFlexDisplayObject
  
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
IFlexDisplayObject
  
このオブジェクトを指定の x および y 座標に移動します。
IFlexDisplayObject
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
IEventDispatcher
  
setActualSize(newWidth:Number, newHeight:Number):void
このオブジェクトの実際のサイズを設定します。
IFlexDisplayObject
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
IEventDispatcher
プロパティの詳細
accessibilityPropertiesプロパティ
accessibilityProperties:AccessibilityProperties

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



実装
    public function get accessibilityProperties():AccessibilityProperties
    public function set accessibilityProperties(value:AccessibilityProperties):void
alphaプロパティ 
alpha:Number

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



実装
    public function get alpha():Number
    public function set alpha(value:Number):void
blendModeプロパティ 
blendMode:String

使用するブレンドモードを指定する 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
cacheAsBitmapプロパティ 
cacheAsBitmap:Boolean

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
filtersプロパティ 
filters:Array

表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。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
heightプロパティ 
height:Number

表示オブジェクトの高さを示します (ピクセル単位)。この高さは、表示オブジェクトのコンテンツの境界に基づいて計算されます。次のコードに示すように、この 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
loaderInfoプロパティ 
loaderInfo:LoaderInfo  [読み取り専用]

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

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



実装
    public function get loaderInfo():LoaderInfo
maskプロパティ 
mask:DisplayObject

呼び出し元の表示オブジェクトは、指定された 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
measuredHeightプロパティ 
measuredHeight:Number  [読み取り専用]

このオブジェクトの測定した高さです。

この数字は単なるグラフィックのピクセル数であるため、グラフィカルスキンの場合、これは通常ハードコードになります。コードスキンの場合も、一定のサイズで描画する場合はハードコードにできます。 プロパティに応じてサイズが変わる場合は、ILayoutManagerClient により、適切なタイミングで measure() メソッドを呼び出して、measuredHeight を計算することもできます。



実装
    public function get measuredHeight():Number
measuredWidthプロパティ 
measuredWidth:Number  [読み取り専用]

このオブジェクトの測定した幅です。

この数字は単なるグラフィックのピクセル数であるため、グラフィカルスキンの場合、これは通常ハードコードになります。コードスキンの場合も、一定のサイズで描画する場合はハードコードにできます。 プロパティに応じてサイズが変わる場合は、ILayoutManagerClient により、適切なタイミングで measure() メソッドを呼び出して、measuredHeight を計算することもできます。



実装
    public function get measuredWidth():Number
mouseXプロパティ 
mouseX:Number  [読み取り専用]

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

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



実装
    public function get mouseX():Number
mouseYプロパティ 
mouseY:Number  [読み取り専用]

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

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



実装
    public function get mouseY():Number
nameプロパティ 
name:String

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



実装
    public function get name():String
    public function set name(value:String):void
opaqueBackgroundプロパティ 
opaqueBackground:Object

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

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

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

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

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



実装
    public function get opaqueBackground():Object
    public function set opaqueBackground(value:Object):void
parentプロパティ 
parent:DisplayObjectContainer  [読み取り専用]

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

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

     this.parent.parent.alpha = 20;
     



実装
    public function get parent():DisplayObjectContainer
rootプロパティ 
root:DisplayObject  [読み取り専用]

通常、これらのメソッドは IDisplayObject にのみ配置されていますが、下位互換性を保つために、IFlexDisplayObject に直接含める必要があります。そのため、この別個のインクルードファイルにこれらのメソッドを保持する必要があります。



実装
    public function get root():DisplayObject
rotationプロパティ 
rotation:Number

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
scale9Gridプロパティ 
scale9Grid:Rectangle

現在有効な拡大 / 縮小グリッドです。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
scaleXプロパティ 
scaleX:Number

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

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



実装
    public function get scaleX():Number
    public function set scaleX(value:Number):void
scaleYプロパティ 
scaleY:Number

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

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



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

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

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

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



実装
    public function get scrollRect():Rectangle
    public function set scrollRect(value:Rectangle):void
stageプロパティ 
stage:Stage  [読み取り専用]

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

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



実装
    public function get stage():Stage
transformプロパティ 
transform:Transform

表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。特定のプロパティつまり 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
visibleプロパティ 
visible:Boolean

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



実装
    public function get visible():Boolean
    public function set visible(value:Boolean):void
widthプロパティ 
width:Number

表示オブジェクトの幅を示します (ピクセル単位)。この幅は、表示オブジェクトのコンテンツの境界に基づいて計算されます。次のコードに示すように、この 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
xプロパティ 
x:Number

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



実装
    public function get x():Number
    public function set x(value:Number):void
yプロパティ 
y:Number

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



実装
    public function get y():Number
    public function set y(value:Number):void
メソッドの詳細
getBounds()メソッド
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle

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

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

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

パラメータ

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

戻り値
RectangletargetCoordinateSpace オブジェクトの座標系を基準とする、表示オブジェクトの領域を定義する矩形です。
globalToLocal()メソッド 
public function globalToLocal(point:Point):Point

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

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

パラメータ

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

戻り値
Point — 表示オブジェクトからの相対座標を持つ Point オブジェクトです。
hitTestObject()メソッド 
public function hitTestObject(obj:DisplayObject):Boolean

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

パラメータ

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

戻り値
Boolean — 表示オブジェクトの境界ボックスが交差する場合は true を返します。交差しない場合は false を返します。
hitTestPoint()メソッド 
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean

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

パラメータ

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

戻り値
Boolean — 指定されたポイントと表示オブジェクトが重複または交差する場合は true、そうでなければ false です。
localToGlobal()メソッド 
public function localToGlobal(point:Point):Point

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

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

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

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

パラメータ

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

戻り値
Point — ステージからの相対座標を持つ Point オブジェクトです。
move()メソッド 
public function move(x:Number, y:Number):void

このオブジェクトを指定の x および y 座標に移動します。

パラメータ

x:Number — このオブジェクトの新しい x 位置です。
 
y:Number — このオブジェクトの新しい y 位置です。

setActualSize()メソッド 
public function setActualSize(newWidth:Number, newHeight:Number):void

このオブジェクトの実際のサイズを設定します。

このメタデータは主に updateDisplayList() メソッドの実装に使用されます。ここでオブジェクトの実際のサイズを、その明示的サイズ、親との相対 (%) サイズ、および測定されたサイズに基づいて計算します。次に setActualSize() () を呼び出して、この実際のサイズをオブジェクトに適用します。

その他の状況では、このメソッドを呼び出す代わりに、widthheightpercentWidthpercentHeight などのプロパティを設定することになります。

パラメータ

newWidth:Number — このオブジェクトの新しい幅です。
 
newHeight:Number — このオブジェクトの新しい高さです。





 

 

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

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/core/IFlexDisplayObject.html