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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。