コメントの表示 | RSS フィード

createBox (Matrix.createBox メソッド)

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

拡大・縮小、回転、平行移動に関するパラメータなどがあります。マトリックスに適用する際に、これらのパラメータに基づいて、マトリックスの値を設定します。

createBox() を使用すると、identity()、rotate()、scale()、translate() の各メソッドを続けて適用するのと効果が同じになるマトリックスを取得できます。たとえば、mat1.createBox(2,2,Math.PI/5, 100, 100) の効果は次の 2 つのステートメントのものと同じです。

 import flash.geom.Matrix;

 var mat1:Matrix = new Matrix();
 mat1.identity();
 mat1.rotate(Math.PI/4);
 mat1.scale(2,2);
 mat1.translate(10,20);

使用できるバージョン : ActionScript 1.0、Flash Player 8

パラメータ

scaleX:Number - 水平方向の拡大・縮小倍率。

scaleY:Number - 垂直方向の拡大・縮小倍率。

rotation:Number (オプション) - 回転量 (ラジアン単位)。デフォルト値は 0 です。

tx:Number (オプション) - x 軸に沿って右方向に平行移動 (移動) するピクセル数。デフォルト値は 0 です。

ty:Number (オプション) - y 軸に沿って下方向に平行移動 (移動) するピクセル数。デフォルト値は 0 です。

次の例では、createBox() を呼び出すことで、myMatrix の scaleX の倍率、scaleY の倍率、回転、x の位置、y の位置を設定します。

import flash.geom.Matrix;
import flash.geom.Transform;

var myMatrix:Matrix = new Matrix();
trace(myMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0)

myMatrix.createBox(1, 2, Math.PI/4, 100, 200);
trace(myMatrix.toString()); // (a=0.707106781186548, b=1.41421356237309, c=-0.707106781186547, d=1.4142135623731, tx=100, ty=200)

var rectangleMc:MovieClip = createRectangle(20, 80, 0xFF0000);
var rectangleTrans:Transform = new Transform(rectangleMc);
rectangleTrans.matrix = myMatrix;

関連項目


Comments


Fumio Nonaka が Feb 11, 2007 の 6:21 AM に追加:
「例」のスクリプトに、関数createRectangle()が定義されていません。
Matrix.concat()メソッドの「例」にある同名の関数が流用できます。
http://livedocs.macromedia.com/flash/8_jp/main/00002394.html

 

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

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