Matrix (flash.geom.Matrix)


Object
    |
    +-flash.geom.Matrix

public class Matrix
extends Object

flash.geom.Matrix クラスは、座標空間の間でポイントをマッピングする方法を決定する変換マトリックス (変換行列) を表します。Matrix オブジェクトのプロパティを設定して、MovieClip オブジェクトや BitmapData オブジェクトに適用することで、オブジェクトに対する各種グラフィック変換を実行できます。これらの変換機能には、平行移動 (x と y の位置変更)、回転、拡大・縮小、傾斜などが含まれます。

このような変換をアフィン変換 と言います。アフィン変換では、変換中に線分の直線性が保たれると共に、平行線は平行のままになります。

変換マトリックスをムービークリップに適用するには、flash.geom.Transform オブジェクトを作成して、そのオブジェクトの matrix プロパティを変換マトリックスに設定します。Matrix オブジェクトは、flash.display.BitmapData クラスの draw() メソッドなど、いくつかのメソッドのパラメータとしても使用します。

変換マトリックスオブジェクトは、次の内容を備えた 3 x 3 のマトリックスであるとみなします。



従来の変換マトリックスでは、uv、および w プロパティによって特別な機能を提供します。Matrix クラスは 2 次元空間でのみ演算できるので、u プロパティと v プロパティの値は 0.0 で、w プロパティの値は 1.0 です。言い換えると、このマトリックスの有効値は次のとおりです。



Matrix オブジェクトの他の 6 つのプロパティ (abcdtxty) のすべてについて、値を取得および設定できます。

Matrix クラスは、主要な 4 種類の変換機能 (平行移動、拡大・縮小、回転、傾斜) に対応しています。これらのうち 3 つの機能には専用メソッドがあります。以下の表に示します。

変換

メソッド

マトリックスの値

表示結果

説明

平行移動 (変位)

translate(tx, ty)





イメージを tx ピクセルだけ右に、ty ピクセルだけ下に移動します。

拡大・縮小

scale(sx, sy)





各ピクセルの位置を x 軸方向に sx 倍、y 軸方向に sy 倍することで、イメージの大きさを変更します。

回転

rotate(q)





イメージを角度 q (単位はラジアン) だけ回転します。

傾斜または変形

なし。プロパティ bc に設定する必要があります。





x 軸または y 軸に平行な方向にイメージをスライドします。Matrix オブジェクトの b プロパティは、y 軸に沿った傾斜角度のタンジェントを表し、Matrix オブジェクトの c プロパティは、x 軸に沿った傾斜角度のタンジェントを表します。

効果的に複数の変換を組み合わせることができるように、変換関数はそれぞれ現在のマトリックスプロパティを変更します。これを行うには、そのムービークリップまたはビットマップターゲットにマトリックスを適用する前に、複数の変形関数を呼び出します。

対応バージョン : ActionScript 1.0、Flash Player 8

関連項目

transform (MovieClip.transform プロパティ), Transform (flash.geom.Transform), draw (BitmapData.draw メソッド), a (Matrix.a プロパティ), b (Matrix.b プロパティ), c (Matrix.c プロパティ), d (Matrix.d プロパティ), tx (Matrix.tx プロパティ), ty (Matrix.ty プロパティ), translate (Matrix.translate メソッド), scale (Matrix.scale メソッド), rotate (Matrix.rotate メソッド)

プロパティ一覧

オプション

プロパティ

説明

 

a:Number

Matrix オブジェクトの 1 行 1 列目の値です。イメージの拡大・縮小や回転を行う際に、x 軸方向のピクセルの位置に影響を与えます。

 

b:Number

Matrix オブジェクトの 1 行 2 列目の値です。イメージの回転や傾斜を行う際に、y 軸方向のピクセルの位置に影響を与えます。

 

c:Number

Matrix オブジェクトの 2 行 1 列目の値です。イメージの回転や傾斜を行う際に、x 軸方向のピクセルの位置に影響を与えます。

 

d:Number

Matrix オブジェクトの 2 行 2 列目の値です。イメージの拡大・縮小や回転を行う際に、 y 軸方向のピクセルの位置に影響を与えます。

 

tx:Number

x 軸方向に各ポイントを平行移動する距離です。

 

ty:Number

y 軸方向に各ポイントを平行移動する距離です。

Object クラスから継承されるプロパティ

constructor (Object.constructor プロパティ), __proto__ (Object.__proto__ プロパティ), prototype (Object.prototype プロパティ), __resolve (Object.__resolve プロパティ)


コンストラクタ一覧

署名

説明

Matrix([a:Number], [b:Number], [c:Number], [d:Number], [tx:Number], [ty:Number])

指定されたパラメータで新しい Matrix オブジェクトを作成します。

メソッド一覧

オプション

署名

説明

 

clone() : Matrix

新しい Matrix オブジェクトとして、このマトリックスのクローンを返します。含まれるオブジェクトはまったく同じコピーになります。

 

concat(m:Matrix) : Void

マトリックスを現在のマトリックスと連結して、2 つのマトリックスの図形効果を効果的に組み合わせます。

 

createBox(scaleX:Number, scaleY:Number, [rotation:Number], [tx:Number], [ty:Number]) : Void

拡大・縮小、回転、平行移動に関するパラメータなどがあります。

 

createGradientBox(width:Number, height:Number, [rotation:Number], [tx:Number], [ty:Number]) : Void

MovieClip.beginGradientFill() メソッドで使用する特定のスタイルを作成します。

 

deltaTransformPoint(pt:Point) : Point

変換前の座標空間内のポイントが指定されると、そのポイントの変換後の座標を返します。

 

identity() : Void

変換されたムービークリップや図形が元と同一になる値を各マトリックスプロパティに設定します。

 

invert() : Void

元のマトリックスの逆の変形を実行します。

 

rotate(angle:Number) : Void

回転変換を適用する場合に現在のマトリックスを使用できるように、そのマトリックスに値を設定します。

 

scale(sx:Number, sy:Number) : Void

適用時の効果としてイメージのサイズが変更されるようにマトリックスを変更します。

 

toString() : String

Matrix オブジェクトのプロパティのリストを表すテキスト値を返します。

 

transformPoint(pt:Point) : Point

Matrix オブジェクトで表現される図形変換を、指定されたポイントに適用します。

 

translate(tx:Number, ty:Number) : Void

変換の効果としてオブジェクトが x 軸方向と y 軸方向に移動するように Matrix オブジェクトを変更します。

Object クラスから継承されるメソッド

addProperty (Object.addProperty メソッド), hasOwnProperty (Object.hasOwnProperty メソッド), isPropertyEnumerable (Object.isPropertyEnumerable メソッド), isPrototypeOf (Object.isPrototypeOf メソッド), registerClass (Object.registerClass メソッド), toString (Object.toString メソッド), unwatch (Object.unwatch メソッド), valueOf (Object.valueOf メソッド), watch (Object.watch メソッド)



 

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

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001843.html