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 的矩阵:
在传统的转换矩阵中,u、v 和 w 属性具有其它功能。 Matrix 类只能在二维空间中操作,因此始终假定属性值 u 和 v 为 0.0,属性值 w 为 1.0。也就是说,矩阵的有效值如下:
您可以获取和设置 Matrix 对象的全部六个其它属性的值:a、b、c、d、tx 和 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 轴的滑动距离的乘数。 |
每个转换函数都将更改当前矩阵的属性,所以您可以有效地合并多个转换。 为此,请在将矩阵应用于影片剪辑或位图目标之前调用多个转换函数。
请参阅
transform(MovieClip.transform 属性)、Transform (flash.geom.Transform)、draw(BitmapData.draw 方法)a(Matrix.a 属性)、b(Matrix.b 属性)、c(Matrix.c 属性)、d(Matrix.d 属性)、tx(Matrix.tx 属性)、ty(Matrix.ty 属性)、translate(Matrix.translate 方法)scale(Matrix.scale 方法)、rotate(Matrix.rotate 方法)
属性摘要
修饰符 | 属性 | 说明 |
---|
| a:Number | Matrix 对象的第一行第一列中的值,它影响在缩放或旋转图像时沿 x 轴的像素定位。 |
| b:Number | Matrix 对象的第一行第二列中的值,它影响在旋转或倾斜图像时沿 y 轴的像素定位。 |
| c:Number | Matrix 对象的第二行第一列中的值,它影响在旋转或倾斜图像时沿 x 轴的像素定位。 |
| d:Number | Matrix 对象的第二行第二列中的值,它影响在缩放或旋转图像时沿 y 轴的像素定位。 |
| tx:Number | 沿 x 轴平移每个点的距离。 |
| ty:Number | 沿 y 轴平移每个点的距离。 |
constructor(Object.constructor 属性)、__proto__(Object.__proto__ 属性),prototype(Object.prototype 属性)、__resolve(Object.__resolve 属性) |
构造函数摘要
签名 | 说明 |
---|
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 轴移动对象的转换效果。 |
addProperty(Object.addProperty 方法)、hasOwnProperty(Object.hasOwnProperty 方法)、isPropertyEnumerable(Object.isPropertyEnumerable 方法)、isPrototypeOf(Object.isPrototypeOf 方法)、registerClass(Object.registerClass 方法)、toString(Object.toString 方法)、unwatch(Object.unwatch 方法)、valueOf(Object.valueOf 方法)、watch(Object.watch 方法) |
- a(Matrix.a 属性)
- b(Matrix.b 属性)
- c(Matrix.c 属性)
- clone(Matrix.clone 方法)
- concat(Matrix.concat 方法)
- createBox(Matrix.createBox 方法)
- createGradientBox(Matrix.createGradientBox 方法)
- d(Matrix.d 属性)
- deltaTransformPoint(Matrix.deltaTransformPoint 方法)
- identity(Matrix.identity 方法)
- invert(Matrix.invert 方法)
- Matrix 构造函数
- rotate(Matrix.rotate 方法)
- scale(Matrix.scale 方法)
- toString(Matrix.toString 方法)
- transformPoint(Matrix.transformPoint 方法)
- translate(Matrix.translate 方法)
- tx(Matrix.tx 属性)
- ty(Matrix.ty 属性)