Matrix (flash.geom.Matrix)

http://help.adobe.com/zh_CN/as2/reference/flashlite/WSB241BA5E-9675-4b87-A3B1-CC97893EE65E.html

Object 
    | 
    +-flash.geom.Matrix 
 
public class Matrix 
extends Object

flash.geom.Matrix 类表示一个转换矩阵,它确定如何将一个坐标空间的点映射到另一个坐标空间。通过设置 Matrix 对象的属性并将其应用于 MovieClip 对象或 BitmapData 对象,您可以对该对象执行各种图形转换。这些转换函数包括平移(x 和 y 重新定位)、旋转、缩放和倾斜。

这些转换类型统称为仿射转换。 仿射转换在转换时保持线条笔直,并且平行线保持平行。

要将转换矩阵应用于影片剪辑,您可以创建一个 flash.geom.Transform 对象,并将其 Matrix 属性设置为转换矩阵。Matrix 对象也用作某些方法(例如 flash.display.BitmapData 类的 draw() 方法)的参数。

转换矩阵对象被视为具有如下内容的 3 x 3 的矩阵:

在传统的转换矩阵中,uv 和 w 属性具有其它功能。 Matrix 类只能在二维空间中操作,因此始终假定属性值 u 和 v 为 0.0,属性值 w 为 1.0。也就是说,矩阵的有效值如下:

您可以获取和设置 Matrix 对象的全部六个其它属性的值:abcdtx 和 ty

Matrix 类支持四种主要类型的转换函数:平移、缩放、旋转和倾斜。对于这些函数中的三种,有特定的方法,如下表中所述。

转换

方法

矩阵值

显示结果

说明

平移(置换)

translate(tx, ty)

将图像 tx 像素向右移动,将 ty 像素向下移动。

缩放

scale(sx, sy)

将每个像素的位置乘以 x 轴的 sx 和 y 轴的 sy,从而调整图像的大小。

旋转

rotate(q)

将图像旋转一个以弧度为单位的角度 q

倾斜或剪切

无;必须设置属性 b 和 c.

以平行于 x 轴或 y 轴的方向逐渐滑动图像。 值 skx 充当控制沿 x 轴的滑动距离的乘数;sky 充当控制沿 y 轴的滑动距离的乘数。

每个转换函数都将更改当前矩阵的属性,所以您可以有效地合并多个转换。 为此,请在将矩阵应用于影片剪辑或位图目标之前调用多个转换函数。

可用性

Flash Lite 3.1

属性摘要

修饰符

属性

说明

 

a:Number

Matrix 对象的第一行第一列中的值,它影响在缩放或旋转图像时沿 x 轴的像素定位。

 

b:Number

Matrix 对象的第一行第二列中的值,它影响在旋转或倾斜图像时沿 y 轴的像素定位。

 

c:Number

Matrix 对象的第二行第一列中的值,它影响在旋转或倾斜图像时沿 x 轴的像素定位。

 

d:Number

Matrix 对象的第二行第二列中的值,它影响在缩放或旋转图像时沿 y 轴的像素定位。

 

tx:Number

沿 x 轴平移每个点的距离。

 

ty:Number

沿 y 轴平移每个点的距离。

构造函数摘要

签名

说明

Matrix([a:Number, [b:Number], [c:Number], [d:Number], [tx:Number], [ty:Number])

使用指定参数创建新的 Matrix 对象。

方法摘要

修饰符

签名

说明

 

clone(): Matrix

返回一个新的 Matrix 对象,它是此矩阵的克隆,带有与所含对象完全相同的副本。

 

concat(m:Matrix) : Void

将某个矩阵与当前矩阵连接,从而将这两个矩阵的几何效果有效地结合在一起。

 

createBox(scaleX:Number, scaleY:Number,[rotation:Number],[tx:Number], [ty:Number]) : Void

包括用于缩放、旋转和转换的参数。

 

createGradientBox(width:Number, height:Number,[rotation:Number],[tx:Number],[ty:Number:]) : Void

创建 MovieClip.beginGradientFill() 方法所需的矩阵的特定样式。

 

deltaTransformPoint(pt:Point) :Point

如果给定预转换坐标空间中的点,则此方法返回发生转换后该点的坐标。

 

identity() : Void

将每个矩阵属性设置为可使变形后的影片剪辑或几何构造与原件完全相同的值。

 

invert() : Void

执行原始矩阵的逆转换。

 

rotate(angle:Number) : Void

在当前矩阵中设置值,以便可以使用该矩阵来应用旋转转换。

 

scale(sx:Number, sy:Number) : Void

修改矩阵,使其具有在应用时调整图像大小的效果。

 

toString() : String

返回列出该 Matrix 对象属性的文本值。

 

transformPoint(pt:Point):Point

将该 Matrix 对象表示的几何转换应用于指定点。

 

translate(tx:Number, ty:Number) : Void

修改 Matrix 对象,使其具有沿 x 轴和 y 轴移动对象的转换效果。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值