Home > 语言编程 > ActionScript学习手记之矩阵变换MatrixTransformer的应用

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

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

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


定义一个矩阵:

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

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

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

大小变换

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

旋转

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

四边形倾斜

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

使用矩阵转换

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

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

1
2
3
4
5
6
7
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转换
Categories: 语言编程 Tags: ,
  1. February 23rd, 2009 at 11:50 | #1

    完全看不懂。。。
    有空教教我!

  2. February 23rd, 2009 at 19:25 | #2

    一定一定,开始学可能有点难度,不过看过之后就好理解了

  3. March 1st, 2009 at 11:21 | #3

    猛的一看,,你偷懒哦~

  4. March 3rd, 2009 at 14:53 | #4

    还对这个有研究,真是涉足甚广!

  5. March 6th, 2009 at 19:08 | #5

    确实是偷懒了,眼光不错,致歉!

  6. March 6th, 2009 at 19:10 | #6

    没办法,项目的最硬的一个部分,本人的AS也是菜

  7. March 8th, 2009 at 17:33 | #7

    15099143510

  8. March 9th, 2009 at 21:34 | #8

    CG现在人在苏州,可怕的是连网络都没有,大家留言我会在回来后回复,致歉,谢谢

  9. 啊啊
    March 20th, 2009 at 16:36 | #9

    搞明白了再发布

  10. March 20th, 2009 at 17:09 | #10

    本人对AS确实是菜,只是临时需要学习,所以,表述不清或者技术错误的地方还望老鸟赐教

  1. No trackbacks yet.