| パッケージ | flash.display |
| public class DisplayObject | |
| 継承 | DisplayObject EventDispatcher Object |
| 実装 | IBitmapDrawable |
| Subclasses | AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video |
DisplayObject クラスは基本機能 (たとえばオブジェクトの x 方向および y 方向の位置) に加えて、オブジェクトの拡張プロパティ (たとえば変換マトリックス) をサポートします。
DisplayObject は抽象基本クラスであるため、DisplayObject を直接呼び出すことはできません。new DisplayObject() を呼び出すと ArgumentError 例外がスローされます。すべての表示オブジェクトは DisplayObject クラスから継承します。DisplayObject クラスのカスタムサブクラスを作成する場合は、有効な new コンストラクタを持つ DisplayObject クラスのサブクラスを拡張する必要があります。
ActionScript 1.0 および 2.0 の MovieClip、TextField、および Button クラスで使用されていたいくつかのプロパティ (たとえば _alpha、_height、_name、_width、_x、_y など) と同等のプロパティが、ActionScript 3.0 DisplayObject クラスに存在します。これらの名前は変更され、アンダースコア (_) 文字では始まりません。
詳しくは、『ActionScript 3.0 のプログラミング』の「表示のプログラミング」の章を参照してください。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
| accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
| DisplayObject | ||
| alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
| DisplayObject | ||
| blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
| DisplayObject | ||
cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。 | DisplayObject | ||
![]() | constructor : 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 | ||
![]() | prototype : 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 | ||
| メソッド | 定義 | ||
|---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
| EventDispatcher | |
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | ||
| getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、
targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | ||
globalToLocal(point:Point):Point
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。 | DisplayObject | ||
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
| hitTestObject(obj:DisplayObject):Boolean
表示オブジェクトを評価して、
obj 表示オブジェクトと重複または交差するかどうかを調べます。 | DisplayObject | ||
| hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、
x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | ||
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
localToGlobal(point:Point):Point
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。 | DisplayObject | ||
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| イベント | 一覧 | 定義 | ||
|---|---|---|---|---|
| activate | Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | DisplayObject | ||
| added | 表示オブジェクトが表示リストに追加されたときに送出されます。 | DisplayObject | ||
| deactivate | Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | DisplayObject | ||
| enterFrame | 再生ヘッドが新しいフレームに入るときに送出されます。 | DisplayObject | ||
| removed | 表示オブジェクトが表示リストから削除されようとしているときに送出されます。 | DisplayObject | ||
| render | 表示リストが更新およびレンダリングされようとしているときに送出されます。 | DisplayObject | ||
| accessibilityProperties | プロパティ |
accessibilityProperties:AccessibilityProperties [read-write]
この表示オブジェクトの現在のアクセシビリティオプションです。accessibilityProperties プロパティ、または accessibilityProperties 内のいずれかのフィールドを変更した場合、変更内容を有効にするには、Accessibility.updateProperties() メソッドを呼び出す必要があります。
メモ :Flash オーサリング環境で作成されたオブジェクトの場合、そのオブジェクトの [アクセシビリティ] パネルに入力した情報が accessibilityProperties の値に再設定されます。
public function get accessibilityProperties():AccessibilityProperties
public function set accessibilityProperties(value:AccessibilityProperties):void
関連項目
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]
指定されたオブジェクトのアルファ透明度値を示します。有効な値は 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]
使用するブレンドモードを指定する BlendMode クラスの値です。内部的には、2 つの方法でビットマップを描画することができます。ブレンドモードを有効にした場合、または外部クリッピングマスクを使用する場合には、ビットマップで塗りつぶされた四角形シェイプをベクターレンダーに追加することによってビットマップが描画されます。このプロパティを無効な値に設定しようとすると、Flash Player は値を BlendMode.NORMAL に設定します。
Flash Player は blendMode プロパティを表示オブジェクトの各ピクセルに適用します。各ピクセルは、3 つの要素カラー (赤、緑、青) で構成されており、各要素カラーは 0x00 ~ 0xFF の値を持ちます。Flash Player は、ムービークリップ内の 1 つのピクセルの各要素カラーを、背景のピクセルの対応するカラーと比較します。たとえば、blendMode が BlendMode.LIGHTEN に設定されている場合、Flash Player は表示オブジェクトの赤の値と背景の赤の値とを比較して、明るい方の値を表示色の赤の成分として使用します。
次の表では、blendMode の設定について説明します。flash.display.BlendMode クラスは、使用可能なストリング値を定義します。表の中の図は、別の表示オブジェクト (1) に重なった円形の表示オブジェクト (2) に適用される blendMode 値を示しています。
| ストリング ( flash.display.BlendMode定数) の値 |
図 | 説明 |
|---|---|---|
BlendMode.NORMAL |
![]() |
表示オブジェクトは、背景の前に表示されます。表示オブジェクトのピクセル値は、背景のピクセル値より優先されます。表示オブジェクトが透明な部分では、背景が表示されます。 |
BlendMode.LAYER |
![]() |
表示オブジェクトに関する透明度グループを強制的に作成します。つまり、表示オブジェクトが処理される前に、一時バッファ内で表示オブジェクトが事前に構成されます。ビットマップキャッシュを使って表示オブジェクトが事前キャッシュされる場合、または表示オブジェクトが、blendMode が BlendMode.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 |
![]() |
表示オブジェクトの各ピクセルのアルファ値を背景に適用します。これを行うには、親表示オブジェクトの blendMode が BlendMode.LAYER に設定されなければなりません。たとえば、図の親表示オブジェクト (白い背景) は、blendMode = BlendMode.LAYER に設定されています。 |
BlendMode.ERASE |
![]() |
表示オブジェクトのアルファ値に基づいて背景を消去します。これを行うには、親表示オブジェクトの blendMode が BlendMode.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
関連項目
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]
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。このキャッシュ処理により、複雑なベクターコンテンツを含んでいる表示オブジェクトのパフォーマンスを向上できます。
ビットマップがキャッシュされている表示オブジェクトのすべてのベクターデータは、メイン表示ではなくビットマップに描画されます。その後、ビットマップは、最も近いピクセル境界に吸着された非伸縮、非回転のピクセルとして、メイン表示にコピーされます。ピクセルは、親オブジェクトと 1 対 1 でマップされます。ビットマップの境界が変更されると、ビットマップは伸縮されるのではなく、再作成されます。
cacheAsBitmap プロパティが true に設定されていない限り、内部ビットマップは作成されません。
cacheAsBitmap プロパティを true に設定した後、レンダリングは変更されませんが、表示オブジェクトはピクセルへの吸着を自動的に実行します。アニメーションの速度は、ベクターコンテンツの複雑さに応じて大幅に速くなる可能性があります。
(filter 配列が空でない場合に) フィルタを表示オブジェクトに適用すると、cacheAsBitmap プロパティは常に自動的に true に設定されます。また、表示オブジェクトにフィルタが適用される場合、たとえ cacheAsBitmap プロパティを false に設定しても、そのその表示オブジェクトのプロパティは true と報告されます。表示オブジェクトのすべてのフィルタをクリアすると、cacheAsBitmap は以前の設定に戻ります。
以下のような場合には、cacheAsBitmap プロパティが true に設定されていても表示オブジェクトはビットマップを使用せず、代わりにベクターデータから描画します。
cacheAsBitmap プロパティは、その内容がほぼ静的で、拡大や縮小、回転が頻繁に行われないムービークリップに最適です。そのようなムービークリップでは、cacheAsBitmap プロパティによって、ムービークリップの変換時 (その x 位置と y 位置の変更時) にパフォーマンスが向上する可能性があります。
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean):void
関連項目
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]表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。flash.filters パッケージには、使用可能な特定のフィルタを定義する複数のクラスが含まれています。
ActionScript コードを使用することにより、設計時または実行時に Flash オーサリングツールでフィルタを適用することができます。ActionScript を使ってフィルタを適用するには、filters 配列全体の一時コピーを作成してその一時配列を変更した後、一時配列の値を filters 配列に代入し直す必要があります。新しいフィルタオブジェクトを filters 配列に直接追加することはできません。次のコードは、myDisplayObject という名前のターゲット表示オブジェクトに影響を与えません。
myDisplayObject.filters[0].push(myDropShadow);
ActionScript を使ってフィルタを追加するには、次の手順を実行する必要があります (ターゲット表示オブジェクトの名前を myDisplayObject とします)。
myDisplayObject.filters 配列の値を、myFilters などの名前の一時配列に代入します。myFilters に追加します。myDisplayObject.filters 配列に代入します。filters 配列が未定義の場合、一時配列を使用する必要はありません。その代わりに、作成される 1 つまたは複数のフィルタオブジェクトを格納する配列リテラルを直接代入することができます。最初の例では、定義済みおよび未定義の filters 配列を処理するコードを使用して、ドロップシャドウフィルタを追加します。
既存のフィルタオブジェクトを変更するには、次のように、filters 配列のコピーを変更する必要があります。
filters 配列の値を、myFilters などの名前の一時配列に代入します。myFilters を使用してプロパティを変更します。たとえば、配列内の最初のフィルタの quality プロパティを設定するには、次のようなコードを使用できます。 myFilters[0].quality = 1;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)
filter 配列内のそれぞれのインデックス位置に割り当てられるフィルタの種類を判別するために、is 演算子を使用できます。たとえば、次のコードは、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;
}
public function get filters():Array
public function set filters(value:Array):void
関連項目
| height | プロパティ |
height:Number [read-write]表示オブジェクトの高さを示します (ピクセル単位)。
実装 public function get height():Number
public function set height(value:Number):void
textHeight プロパティに基づいてそれぞれの height プロパティを
調整します。また、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]
この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。loaderInfo プロパティは、SWF ファイルのルート表示オブジェクト用、または (ActionScript を使用して描画されるビットマップではなく) ロードされるビットマップ用として定義されています。myDisplayObject という名前の表示オブジェクトを含んでいる SWF ファイルに関連した loaderInfo オブジェクトを見つけるには、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]
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。ステージの拡大および縮小時にマスクが確実に機能するためには、表示リストのアクティブな部分に mask 表示オブジェクトが含まれている必要があります。mask オブジェクト自体は描画されません。マスクを除去するには mask を null に設定します。
マスクオブジェクトを拡大および縮小するためには、そのオブジェクトが表示リストに含まれている必要があります。(startDrag() メソッドを呼び出すことにより) マスク Sprite オブジェクトをドラッグするためには、そのオブジェクトが表示リストに含まれなければなりません。スプライトによって送出される mouseDown イベントに基づき、マスクスプライトに対して startDrag() メソッドを呼び出すには、スプライトの buttonMode プロパティを true に設定します。
public function get mask():DisplayObject
public function set mask(value:DisplayObject):void
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]マウス位置の x 座標を示します (ピクセル単位)。
実装 public function get mouseX():Number
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]マウス位置の y 座標を示します (ピクセル単位)。
実装 public function get mouseY():Number
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]
DisplayObject のインスタンス名を示します。親表示オブジェクトコンテナの子リスト内でオブジェクトを識別するには、表示オブジェクトコンテナの getChildByName() メソッドを呼び出します。
public function get name():String
public function set name(value:String):void
IllegalOperationError — Flash オーサリングツールで、タイムライン上に配置されたオブジェクトに対して、このプロパティを設定しようとした場合
|
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]表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。透明のビットマップにはアルファチャンネルデータが含まれ、透明に描画されます。不透明のビットマップには、アルファチャンネルがありません (したがって透明のビットマップより速くレンダリングされます)。ビットマップが不透明の場合、使用する独自の背景色を指定する必要があります。
数値が設定された場合、これは数値によって指定される RGB 背景色を持つ不透明な (透明でない) サーフェスになります。null (デフォルト値) に設定された場合、表示オブジェクトの背景は透明になります。
opaqueBackground プロパティの主な用途は、レンダリング最適化のために cacheAsBitmap プロパティとともに使用することです。cacheAsBitmap プロパティが true に設定されている表示オブジェクトでは、opaqueBackground を設定すると、レンダリングのパフォーマンスが向上する可能性があります。
shapeFlag パラメータを true に設定して hitTestPoint() メソッドを呼び出す場合、不透明な背景領域は照合されません。
不透明な背景領域は、マウスイベントに反応しません。
実装 public function get opaqueBackground():Object
public function set opaqueBackground(value:Object):void
関連項目
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]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。表示リスト階層内の現在の表示オブジェクトの上位にある表示オブジェクトへの相対パスを指定するには、parent プロパティを使用します。
parent を使用して表示リストの複数のレベルを上に移動するには、次のようにします。
this.parent.parent.alpha = 20;
public function get parent():DisplayObjectContainer
SecurityError — 親表示オブジェクトは、アクセス権限が与えられていないセキュリティ Sandbox に属しています。親ムービーで Security.allowDomain() メソッドを呼び出すことにより、このような状況を避けることができます。
|
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]
ロードされた 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
root プロパティの違いを
表示します。Loader オブジェクトについては、表示リストに追加される前と後の両方を表示します。
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]
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
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]
現在有効な拡大 / 縮小グリッドです。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 — メソッドに無効な引数を渡した場合
|
関連項目
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]
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。デフォルトの基準点は (0,0) です。1.0 は縮尺 100% と同等です。
ローカル座標系を拡大または縮小すると、x および y プロパティの設定に影響します。これらの設定は、整数のピクセル数で表されます。
public function get scaleX():Number
public function set scaleX(value:Number):void
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]
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。デフォルトの基準点は (0,0) です。1.0 は縮尺 100% です。
ローカル座標系を拡大または縮小すると、x および y プロパティの設定に影響します。これらの設定は、整数のピクセル数で表されます。
public function get scaleY():Number
public function set scaleY(value:Number):void
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]
表示オブジェクトのスクロール矩形の境界。表示オブジェクトは矩形で定義されたサイズにトリミングされ、scrollRect オブジェクトの x および y プロパティを変更すると表示オブジェクトは矩形の内部でスクロールします。
scrollRect 矩形オブジェクトのプロパティは表示オブジェクトの座標空間を使用し、表示オブジェクト全体と同じように拡大および縮小されます。スクロールしている表示オブジェクト上のトリミングされたウィンドウの隅の境界は、表示オブジェクトの原点 (0,0)、および矩形の幅と高さによって定義されるポイントです。これらは原点を中心に配置されるのではなく、原点を使って領域の左上隅を定義します。スクロールされる表示オブジェクトは、常にピクセル増分全体の中でスクロールします。
scrollRect 矩形オブジェクトの x プロパティを設定することにより、オブジェクトを左右にスクロールできます。scrollRect 矩形オブジェクトの y プロパティを設定することにより、オブジェクトを上下にスクロールできます。表示オブジェクトを 90 度回転して左右にスクロールすると、この表示オブジェクトは実際には上下にスクロールします。
public function get scrollRect():Rectangle
public function set scrollRect(value:Rectangle):void
関連項目
scrollRect プロパティが
表示オブジェクト circle のスクロール領域を定義する方法を示しています。circle オブジェクトをクリックすると、
clicked() イベントハンドラメソッドが y プロパティ
(circle オブジェクトの scrollRect プロパティに含まれる) を調整し、結果としてオブジェクトが下にスクロールします。
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]
表示オブジェクトのステージ。Flash アプリケーションには Stage オブジェクトが 1 つだけあります。たとえば、複数の表示オブジェクトを作成して表示リストにロードすることができます。その場合、(ロードされた SWF ファイルに表示オブジェクトが属する場合であっても) それぞれの表示オブジェクトの stage プロパティは、同じ Stage オブジェクトを参照します。
表示オブジェクトが表示リストに追加されていない場合、stage プロパティには null が設定されます。
public function get stage():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]
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。特定のプロパティ matrix、colorTransform、および 3 つの読み取り専用プロパティ (concatenatedMatrix、concatenatedColorTransform、および 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
関連項目
square を設定します。
ユーザーがスプライトをクリックすると、transformer() メソッドにより、
スプライトの transform プロパティの colorTransform および matrix
プロパティが調整されます。
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]
表示オブジェクトが可視かどうかを示します。非可視の表示オブジェクトは無効になります。たとえば、ある InteractiveObject インスタンスが visible=false に設定されている場合、これをクリックすることはできません。
public function get visible():Boolean
public function set visible(value:Boolean):void
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]表示オブジェクトの幅を示します (ピクセル単位)。
実装 public function get width():Number
public function set width(value:Number):void
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]親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。変形されている DisplayObjectContainer にオブジェクトが含まれる場合、そのオブジェクトの座標系は、それを囲む DisplayObjectContainer のローカル座標系になります。したがって、反時計回りに 90 度回転した DisplayObjectContainer の場合、その DisplayObjectContainer の子は、反時計回りに 90 度回転した座標系を継承します。オブジェクトの座標は、基準点の位置を参照します。
実装 public function get x():Number
public function set x(value:Number):void
circle を設定します。
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 [read-write]親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。変形されている DisplayObjectContainer にオブジェクトが含まれる場合、そのオブジェクトの座標系は、それを囲む DisplayObjectContainer のローカル座標系になります。したがって、反時計回りに 90 度回転した DisplayObjectContainer の場合、その DisplayObjectContainer の子は、反時計回りに 90 度回転した座標系を継承します。オブジェクトの座標は、基準点の位置を参照します。
実装 public function get y():Number
public function set y(value:Number):void
textHeight プロパティに基づいてそれぞれの height プロパティを
調整します。また、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);
| 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 — 使用する座標系を定義する表示オブジェクトです。
|
Rectangle —
targetCoordinateSpace オブジェクトの座標系を基準とする、表示オブジェクトの領域を定義する矩形です。
|
関連項目
| getRect | () | メソッド |
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。getRect() メソッドから返される値は、getBounds() メソッドから返される値と同じか、それより小さくなります。
メモ:表示オブジェクトのローカル座標をステージ座標に、またはステージ座標をローカル座標に変換するには、それぞれ localToGlobal() および globalToLocal() メソッドを使用します。
targetCoordinateSpace:DisplayObject — 使用する座標系を定義する表示オブジェクトです。
|
Rectangle —
targetCoordinateSpace オブジェクトの座標系を基準とする、表示オブジェクトの領域を定義する矩形です。
|
関連項目
getBounds() メソッドによって、
getRect() メソッドを使用したときよりも大きい矩形が返される場合があることを示しています。そうなる理由は、追加的な領域が
線に必要となるためです。この場合、triangle スプライトには余分の線が含まれます
(lineStyle() メソッドの width および jointStyle パラメータが
メソッドを呼び出します。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
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
このメソッドを使用するには、まず Point クラスのインスタンスを作成してください。割り当てられる x 値と y 値は、メイン表示領域の起点 (0,0) からの相対値であるため、これらの値はグローバル座標を表します。次に、Point インスタンスを globalToLocal() メソッドにパラメータとして渡します。このメソッドは、Stage の起点ではなく、表示オブジェクトの起点からの相対値である x 値と y 値を持つ新しい Point オブジェクトを返します。
point:Point — Point クラスを使って作成されるオブジェクトです。Point オブジェクトは、x および y 座標をプロパティとして指定します。
|
Point —
表示オブジェクトからの相対座標を持つ Point オブジェクトです。
|
関連項目
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]
| hitTestObject | () | メソッド |
public function hitTestObject(obj:DisplayObject):Boolean
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
obj:DisplayObject — 検査の対象となる表示オブジェクトです。
|
Boolean —
表示オブジェクトが交差する場合は true、そうでない場合は false です。
|
hitTestObject() メソッドを呼び出したときの結果を表示します。
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)); // true trace(circle2.hitTestObject(circle3)); // true
| hitTestPoint | () | メソッド |