パッケージ | flash.geom |
クラス | public class Transform |
継承 | Transform Object |
サブクラス | Transform |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
concatenatedColorTransform
プロパティと concatenatedMatrix
プロパティを使用して、これらの結合された変換にアクセスできます。
カラー変換を適用するには、ColorTransform オブジェクトを作成し、オブジェクトのメソッドとプロパティを使用してカラー調整を設定した後、colorTransformation
プロパティ(表示オブジェクトの transform
プロパティの)を新しい ColorTransformation オブジェクトに割り当てます。
2 次元変換を適用するには、Matrix オブジェクトを作成し、マトリックスの 2 次元変換を設定した後、表示オブジェクトの transform.matrix
プロパティを新しい Matrix オブジェクトに割り当てます。
3 次元変換の適用は、3 次元表示オブジェクトで開始します。3 次元表示オブジェクトには、0 以外の z
プロパティ値が設定されます。Matrix3D オブジェクトを作成する必要はありません。すべての 3 次元オブジェクトについて、z
値を表示オブジェクトに割り当てたときに Matrix3D オブジェクトが自動的に作成されます。表示オブジェクトの transform
プロパティを使用して、表示オブジェクトの Matrix3D オブジェクトにアクセスできます。Matrix3D クラスのメソッドを使用して、既存の変換設定に対する追加または変更を実施できます。カスタム Matrix3D オブジェクトを作成し、カスタム Matrix3D オブジェクトの変換エレメントを設定した後、transform.matrix
プロパティを使用して、新しい Matrix3D オブジェクトを表示オブジェクトに割り当てることもできます。
ステージまたはルートオブジェクトの遠近法に基づく投影を変更するには、ルート表示オブジェクトの transform.matrix
プロパティを使用して、PerspectiveProjection オブジェクトへのアクセスを取得します。 または、表示オブジェクトの親の遠近法に基づく投影プロパティを設定することで、別の遠近法に基づく投影プロパティを表示オブジェクトに適用します。子表示オブジェクトは、新しいプロパティを継承します。具体的には、PerspectiveProjection オブジェクトを作成してプロパティを設定した後、PerspectiveProjection オブジェクトを perspectiveProjection
プロパティ(親表示オブジェクトの transform
プロパティの)に割り当てます。次に、指定された投影変換をすべての表示オブジェクトの 3 次元の子に適用します。
PerspectiveProjection オブジェクトと Matrix3D オブジェクトはどちらも遠近法に基づく変形を実行するため、両方を同時に表示オブジェクトに割り当てないでください。焦点の長さと投影の中心を変更するには、PerspectiveProjection オブジェクトを使用します。遠近法に基づく変形をより正確に制御するには、遠近法に基づく投影の Matrix3D オブジェクトを作成します。
関連する API エレメント
flash.geom.ColorTransform
flash.geom.Matrix
flash.geom.Matrix3D
flash.geom.PerspectiveProjection
プロパティ | 定義元 | ||
---|---|---|---|
colorTransform : flash.geom:ColorTransform
表示オブジェクトのカラーを全体的に調整する値を格納している ColorTransform オブジェクトです。 | Transform | ||
concatenatedColorTransform : flash.geom:ColorTransform [読み取り専用]
この表示オブジェクトおよびルートレベルまでのすべての親オブジェクトに適用される、結合されたカラー変換を表す ColorTransform オブジェクトです。 | Transform | ||
concatenatedMatrix : Matrix [読み取り専用]
この表示オブジェクトおよびルートレベルまでのそのすべての親オブジェクトの結合された変換マトリックスを表す Matrix オブジェクトです。 | Transform | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
matrix : Matrix
表示オブジェクトの拡大 / 縮小、回転、および移動を変更する値を格納している Matrix オブジェクトです。 | Transform | ||
matrix3D : Matrix3D
3 次元表示オブジェクトの Matrix3D オブジェクトへのアクセスを提供します。 | Transform | ||
perspectiveProjection : PerspectiveProjection
3 次元表示オブジェクトの PerspectiveProjection オブジェクトへのアクセスを提供します。 | Transform | ||
pixelBounds : Rectangle [読み取り専用]
ステージ上の表示オブジェクトの境界を示す矩形を定義する Rectangle オブジェクトです。 | Transform |
メソッド | 定義元 | ||
---|---|---|---|
Matrix3D オブジェクトを返します。Matrix3D オブジェクトは、現在の表示オブジェクトの空間を基準にして、指定された表示オブジェクトの空間を変換します。 | Transform | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
colorTransform | プロパティ |
colorTransform:flash.geom:ColorTransform
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
表示オブジェクトのカラーを全体的に調整する値を格納している ColorTransform オブジェクトです。
実装
public function get colorTransform():flash.geom:ColorTransform
public function set colorTransform(value:flash.geom:ColorTransform):void
例外
TypeError — ColorTransform は、設定時に null に設定されます。
|
関連する API エレメント
concatenatedColorTransform | プロパティ |
concatenatedColorTransform:flash.geom:ColorTransform
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
この表示オブジェクトおよびルートレベルまでのすべての親オブジェクトに適用される、結合されたカラー変換を表す ColorTransform オブジェクトです。異なるレベルで異なるカラー変換を適用した場合、すべての変換が連結されて、このプロパティ用の 1 つの ColorTransform オブジェクトになります。
実装
public function get concatenatedColorTransform():flash.geom:ColorTransform
関連する API エレメント
concatenatedMatrix | プロパティ |
concatenatedMatrix:Matrix
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
この表示オブジェクトおよびルートレベルまでのそのすべての親オブジェクトの結合された変換マトリックスを表す Matrix オブジェクトです。異なるレベルで異なる変換マトリックスを適用した場合、すべてのマトリックスが連結されて、このプロパティ用の 1 つのマトリックスになります。 また、ブラウザーで実行されるサイズ変更可能な SWF コンテンツの場合、このプロパティでは、ウィンドウのサイズ変更に伴って生じるステージ座標とウィンドウ座標との差異が考慮されます。このため、このプロパティは、ローカル座標をウィンドウ座標に変換しますが、そのウィンドウ座標はステージの座標空間とは異なる場合があります。
実装
public function get concatenatedMatrix():Matrix
matrix | プロパティ |
matrix:Matrix
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
表示オブジェクトの拡大 / 縮小、回転、および移動を変更する値を格納している Matrix オブジェクトです。
matrix
プロパティが null
以外の値に設定されていると、matrix3D
プロパティは null
になります。また、matrix3D
プロパティが null
以外の値に設定されていると、matrix
プロパティは null
になります。
実装
public function get matrix():Matrix
public function set matrix(value:Matrix):void
例外
TypeError — 行列は、設定時に null に設定されます。
|
関連する API エレメント
matrix3D | プロパティ |
matrix3D:Matrix3D
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
3 次元表示オブジェクトの Matrix3D オブジェクトへのアクセスを提供します。Matrix3D オブジェクトは、表示オブジェクトの位置と方向を決定する変換マトリックスを表します。Matrix3D オブジェクトは、遠近法に基づく投影を実行することもできます。
matrix
プロパティが null
以外の値に設定されていると、matrix3D
プロパティは null
になります。また、matrix3D
プロパティが null
以外の値に設定されていると、matrix
プロパティは null
になります。
実装
public function get matrix3D():Matrix3D
public function set matrix3D(value:Matrix3D):void
関連する API エレメント
perspectiveProjection | プロパティ |
perspectiveProjection:PerspectiveProjection
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
3 次元表示オブジェクトの PerspectiveProjection オブジェクトへのアクセスを提供します。PerspectiveProjection オブジェクトを使用して、ステージの遠近法に基づく変形を変更したり、遠近法に基づく変形を表示オブジェクトの 3 次元の子すべてに割り当てることができます。
視点とステージの縦横比(サイズ)に基づいて、デフォルトの PerspectiveProjection オブジェクトがルートオブジェクトに割り当てられます。
実装
public function get perspectiveProjection():PerspectiveProjection
public function set perspectiveProjection(value:PerspectiveProjection):void
関連する API エレメント
pixelBounds | プロパティ |
getRelativeMatrix3D | () | メソッド |
public function getRelativeMatrix3D(relativeTo:DisplayObject):Matrix3D
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Matrix3D オブジェクトを返します。Matrix3D オブジェクトは、現在の表示オブジェクトの空間を基準にして、指定された表示オブジェクトの空間を変換します。getRelativeMatrix3D()
メソッドを使用すると、ある 3 次元表示オブジェクトを基準にして別の 3 次元表示オブジェクトを移動できます。
パラメーター
relativeTo:DisplayObject — 変換の基準になる表示オブジェクトです。ステージを基準にした Matrix3D オブジェクトを取得するには、パラメーターを root オブジェクトまたは stage オブジェクトに設定します。表示オブジェクトのワールドを基準とするマトリックスを取得するには、パラメーターを遠近法に基づく変形が適用された表示オブジェクトに設定します。
|
Matrix3D — 空間を relativeTo 表示オブジェクトから現在の表示オブジェクト空間に変換するために使用できる Matrix3D オブジェクトです。
|
関連する API エレメント
TransformExample()
コンストラクターが新しい Sprite オブジェクトtarget
を作成します。TransformExample()
コンストラクターはdraw()
メソッドを呼び出します。このメソッドは、グラデーションの四角形をスプライトに描画します。TransformExample()
コンストラクターはスプライトに click イベントリスナーを追加します。これはclickHandler()
メソッドによって処理されます。clickHandler()
メソッドは、新しい Matrix オブジェクトskewMatrix
を作成し、傾斜効果を適用します。もう 1 つの行列tempMatrix
は、スプライトの現在の変換行列に割り当てられ、skewMatrix
とconcat()
メソッドによって結合されます。この行列は正方形のスプライトのtransform.matrix
プロパティに割り当てられます。ユーザーが正方形をクリックするたびにclickHandler()
を呼び出して、正方形のシェイプを傾斜させて変更します。- また、
clickHandler()
メソッドは、新しい ColorTransform オブジェクトを作成します。 新しい ColorTransform オブジェクトのredOffset
プロパティは redOffset の現在の値に設定され、25 ずつ増加します。同様に、blueOffset
プロパティは 25 ずつ減少します。クリックするたびに、スプライトのカラーが変化します。
package { import flash.display.Sprite; import flash.display.GradientType; import flash.geom.Matrix; import flash.geom.ColorTransform; import flash.events.MouseEvent; public class TransformExample extends Sprite { public function TransformExample() { var target:Sprite = new Sprite(); draw(target); addChild(target); target.useHandCursor = true; target.buttonMode = true; target.addEventListener(MouseEvent.CLICK, clickHandler) } public function draw(sprite:Sprite):void { var red:uint = 0xFF0000; var green:uint = 0x00FF00; var blue:uint = 0x0000FF; var size:Number = 100; sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]); sprite.graphics.drawRect(0, 0, 100, 100); } public function clickHandler(event:MouseEvent):void { var skewMatrix:Matrix = new Matrix(); skewMatrix.c = 0.25; var tempMatrix:Matrix = this.transform.matrix; tempMatrix.concat(skewMatrix); this.transform.matrix = tempMatrix; var rOffset:Number = this.transform.colorTransform.redOffset + 25; var bOffset:Number = this.transform.colorTransform.blueOffset - 25; this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0); } } }
Tue Jun 12 2018, 10:34 AM Z