banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

ActionScript学習ノート:マトリックス変換MatrixTransformerの応用

Flash ActionScript 学習手記の行列変換 MatrixTransformer の応用

flash ActionScript マトリックス
Flash は、行列演算を使用して表示オブジェクトに行列変換を実現し、オブジェクトの移動、サイズ変換、回転、四角形の傾斜の行列演算を実現できます。
具体的な使用方法は以下の通りです:
行列オブジェクトを定義する -> 行列にパラメータ演算を行う -> 変換する表示オブジェクトに行列変換を行う

行列を定義する:

import flash.geom.Matrix;
var myMatrix: Matrix = new Matrix();

行列に応じた行列変換を行う:
移動:

translate(a , b)
//a は水平方向の移動距離を示します
//b は垂直方向の移動距離を示します、単位は Px

サイズ変換

scale(x , y)
//x は水平方向の拡大倍率、デフォルトは 1
//y は垂直方向の拡大倍率

回転

rotate(a)
//a は回転角度を示します。ここでの回転はオブジェクトの (0,0) 点を中心に回転します。負の数も可能です。
// ラジアンで計算します。変換を使用できます:2 * Math.PI * (-30 / 360) は - 30° を示します。
// 左に 30 度回転

四角形の傾斜

skew(a , b)
//a は水平方向の傾斜を示します
//b は垂直方向の傾斜を示します、単位はラジアン

行列変換を使用する

var demo = new DisplayObject();
demo.transform.matrix = myMatrix;

以下は完全なデモ実装です:
水平方向に 10 移動し、垂直方向に 20 移動;
水平方向に 2 倍拡大し、垂直方向に 0.5 倍拡大;
右に 30 度回転
水平方向に 10 傾斜し、垂直方向に 20 傾斜

import flash.geom.Matrix;
var myMatrix = new Matrix ();// 新しい Matrix を定義
myMatrix.translate (10,20);// 移動
myMatrix.scale (2,0.5);// スケーリング
myMatrix.rotate (2 * Math.PI * (30 / 360));// 回転
myMatrix.skew (10,20);// 傾斜
demo.transform.matrix = myMatrix; //demo に Matrix 変換を実行

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。