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 转换