Flash ActionScript 學習手記之矩陣變換 MatrixTransformer 的應用
flash ActionScript Matrix
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 轉換