AS3中利用matrix矩阵变换实现上下左右转置反转

来源:互联网 发布:array python 编辑:程序博客网 时间:2024/04/30 17:13
利用Flash AS3中的matrix矩阵变换实现对flash中的显示对象(DisplayObject),例如:图片、图像、动画的处理对程序员来说是很方便的,下面的代码实现对Flash中任意的显示对象DisplayObject的上下和左右的转置、反转、翻转操作。

原理很简单AS中设置对象的zoom值为-1即可,a为水平方向,b为垂直方向。





代码如下:



public class Transverse

{

public static function transLeftRight(obj : DisplayObject) :void

{

var mtx:Matrix = new Matrix();

mtx.a=-1;//设置a为-1

mtx.tx=obj.width;//设置平移

mtx.concat(obj.transform.matrix);//连接矩阵

obj.transform.matrix = mtx;//变化

}

public static function transUpDown(obj : DisplayObject) :void

{

var mtx:Matrix = new Matrix();

mtx.b=-1;//设置b为-1

mtx.ty=obj.height;//设置平移

mtx.concat(obj.transform.matrix);//连接矩阵

obj.transform.matrix = mtx;//变化

}

}



简单介绍一下代码



//定义新的变换矩阵实例

var mtx:Matrix = new Matrix();

//设置a为 -1 ,将进行水平转置;

//设置b为 -1 ,将进行垂直转置

mtx.a=-1;

//设置平移,不设置则就地转置

//tx,ty可根据变换的方式设置为对象的width和height

mtx.tx=obj.width;

//连接矩阵,将obj的旧变换矩阵 + mtx得到新的矩阵

//转置之前需要对obj的旧的变换矩阵进行连接,可以

//保留obj转置之前进行的矩阵变换。

mtx.concat(obj.transform.matrix);

//transform变化

obj.transform.matrix = mtx;


--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题:[AS]AS3中利用matrix矩阵变换实现对图像的上下和左右转置反转
- 独立博客:李大仁博客
- 永久链接:http://www.lidaren.com/archives/509
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
0 0