banner
李大仁博客

李大仁博客

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

ActionScript學習手記之矩陣變換MatrixTransformer的應用

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 轉換

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。