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

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

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

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

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

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

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

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

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

例を表示

関連項目

flash.display.DisplayObjectContainer
コア表示クラス
DisplayObject クラスのプロパティとメソッド
例: マトリックス変換の表示オブジェクトへの適用


パブリック プロパティ
 プロパティ定義元
  accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
DisplayObject
  alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
DisplayObject
  blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
DisplayObject
  cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。
DisplayObject
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  filters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
DisplayObject
  height : Number
表示オブジェクトの高さを示します (ピクセル単位)。
DisplayObject
  loaderInfo : LoaderInfo
[read-only] この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
  mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
  mouseX : Number
[read-only] マウス位置の x 座標を示します (ピクセル単位)。
DisplayObject
  mouseY : Number
[read-only] マウス位置の y 座標を示します (ピクセル単位)。
DisplayObject
  name : String
DisplayObject のインスタンス名を示します。
DisplayObject
  opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
  parent : DisplayObjectContainer
[read-only] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  root : DisplayObject
[read-only] ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
DisplayObject
  rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
DisplayObject
  scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
DisplayObject
  scaleX : Number
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
DisplayObject
  scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
DisplayObject
  scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
DisplayObject
  stage : Stage
[read-only] 表示オブジェクトのステージです。
DisplayObject
  transform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
DisplayObject
  visible : Boolean
表示オブジェクトが可視かどうかを示します。
DisplayObject
  width : Number
表示オブジェクトの幅を示します (ピクセル単位)。
DisplayObject
  x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
DisplayObject
  y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
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
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
DisplayObject
  
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
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 がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
   表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
   表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。DisplayObject
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
   再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
   表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
   表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。DisplayObject
   表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
プロパティの詳細
accessibilityPropertiesプロパティ
accessibilityProperties:AccessibilityProperties  [read-write]

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

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

メモ : Flash オーサリング環境で作成されたオブジェクトの場合、そのオブジェクトの [アクセシビリティ] パネルに入力した情報が accessibilityProperties の値に再設定されます。


実装
    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  [read-write]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BlendMode.INVERT背景を反転します。
BlendMode.ALPHA表示オブジェクトの各ピクセルのアルファ値を背景に適用します。これを行うには、親表示オブジェクトの blendModeBlendMode.LAYER に設定されている必要があります。たとえば、図の親表示オブジェクト (白い背景) は、blendMode = BlendMode.LAYER に設定されています。
BlendMode.ERASE表示オブジェクトのアルファ値に基づいて背景を消去します。これを行うには、親表示オブジェクトの blendModeBlendMode.LAYER に設定されている必要があります。たとえば、図の親表示オブジェクト (白い背景) は、blendMode = BlendMode.LAYER に設定されています。
BlendMode.OVERLAY背景の暗さに基づいて、各ピクセルの色を調整します。背景が 50% グレーよりも明るい場合、表示オブジェクトと背景の色が網がけされ、より明るくなります。背景が 50% グレーよりも暗い場合、2 つの色が乗算されて、より暗くなります。この設定は、シャドウ効果によく使用されます。
BlendMode.HARDLIGHT表示オブジェクトの暗さに基づいて、各ピクセルの色を調整します。表示オブジェクトが 50% グレーよりも明るい場合、表示オブジェクトと背景の色が網がけされ、より明るくなります。表示オブジェクトが 50% グレーよりも暗い場合、2 つの色が乗算されて、より暗くなります。この設定は、シャドウ効果によく使用されます。


実装
    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;
}
cacheAsBitmapプロパティ 
cacheAsBitmap:Boolean  [read-write]

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

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

ビットマップがキャッシュされている表示オブジェクトのすべてのベクターデータは、メイン表示ではなくビットマップに描画されます。その後、ビットマップは、最も近いピクセル境界に吸着された非伸縮、非回転のピクセルとして、メイン表示にコピーされます。ピクセルは、親オブジェクトと 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  [read-write]

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

関連項目

heightプロパティ 
height:Number  [read-write]

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

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

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

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

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


実装
    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  [read-only]

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

マウス位置の 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  [read-only]

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

マウス位置の 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  [read-write]

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

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

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

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

言語バージョン : ActionScript 3.0
Player のバージョン : 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;
}
scale9Gridプロパティ 
scale9Grid:Rectangle  [read-write]

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

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

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

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

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

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

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

表示オブジェクトです。

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

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

75% に縮小 :
50% に縮小 :
25% に縮小 :
水平方向に 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  [read-write]

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

基準点から適用されるオブジェクトの水平スケール (percentage) を示します。デフォルトの基準点は (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  [read-write]

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

オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。デフォルトの基準点は (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;
}
scrollRectプロパティ 
scrollRect:Rectangle  [read-write]

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

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

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

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

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

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

var myMatrix:Object = 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  [read-write]

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

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

言語バージョン : ActionScript 3.0
Player のバージョン : 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 オブジェクトを使用して、スプライトの