李大仁博客

ActionScript学习手记之矩阵变换MatrixTransformer的应用

Flash ActionScript学习手记之矩阵变换MatrixTransformer的应用

flash ActionScript Matrix
Flash支持使用矩阵运算的方式对显示对象实现矩阵变换,可以实现对对象的平移、大小变换、旋转,四边形倾斜的矩阵运算
具体的使用方法如下:
定义一个矩阵对象->对矩阵进行参数运算->将要转换的显示对象进行矩阵转换


定义一个矩阵:

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

对矩阵进行相应的矩阵变换:
平移:

translate(a:Number , b:Number)
//a表示水平移动的距离
//b表示垂直移动的距离,单位是Px

大小变换

scale(x:Number , y:Number)
//x水平放大的倍数 ,默认为1
//y垂直放大的倍数

旋转

rotate(a:Number)
//a表示旋转的角度,这里的旋转以对象的(0,0)点为旋转中心点,可以是负数
//使用弧度计数 可以使用转换:2 * Math.PI * (-30 / 360)这里表示 -30°
//左转30度

四边形倾斜

skew(a:Number , b:Number)
//a表示水平移动的倾斜
//b表示垂直移动的倾斜,弧度单位

使用矩阵转换

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

以下是完整的演示实现:
水平平移10,垂直平移20;
水平放大2倍,垂直放大0.5;
右旋转30
水平倾斜10 ,垂直倾斜20

import flash.geom.Matrix;
var myMatrix:Matrix = 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转换
Exit mobile version