用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: AIR 30.0 和更早版本, Flash Player 30.0 和更早版本, Flash Lite 4
Flex 4.6 和更早版本, Flash Pro CS6 和更早版本
隐藏过滤条件
flash.geom 

Matrix  - AS3

x

顶级
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

语言元素

全局常量
全局函数
运算符
语句、关键字和指令
特殊类型

附录

新增内容
编译器错误
编译器警告
运行时错误
迁移到 ActionScript 3
支持的字符集
仅适用于 MXML 的标签
Motion XML 元素
Timed Text 标记
不推荐使用的元素的列表
AccessibilityImplementation 常量
如何使用 ActionScript 示例
法律声明
flash.geom
public class Matrix
继承Matrix Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

Matrix 类表示一个转换矩阵,它确定如何将点从一个坐标空间映射到另一个坐标空间。您可以对一个显示对象执行不同的图形转换,方法是设置 Matrix 对象的属性,将该 Matrix 对象应用于 Transform 对象的 matrix 属性,然后应用该 Transform 对象作为显示对象的 transform 属性。这些转换函数包括平移(xy 重新定位)、旋转、缩放和倾斜。

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

要对显示对象应用转换矩阵,请创建一个 Transform 对象,将其 matrix 属性设置为转换矩阵,然后将显示对象的 transform 属性设置为 Transform 对象。Matrix 对象也被用作某些方法的参数,例如以下方法:

  • BitmapData 对象的 draw() 方法
  • Graphics 对象的 beginBitmapFill() 方法、beginGradientFill() 方法或 lineGradientStyle() 方法

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

以矩阵表示法表示的 Matrix 类属性

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

以矩阵表示法表示的 Matrix 类属性显示 u、v 和 w 的假设值

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

Matrix 类支持四种主要类型的转换:平移、缩放、旋转和倾斜。您可以使用特定的方法来设置这些转换的其中三个,如下表中所述:

转换方法矩阵值显示结果说明
平移(置换) translate(tx, ty) translate 方法参数的矩阵表示法 translate 方法效果的图示 将图像 tx 像素向右移动,将 ty 像素向下移动。
缩放 scale(sx, sy) scale 方法参数的矩阵表示法 scale 方法效果的图示 将每个像素的位置乘以 x 轴的 sxy 轴的 sy,从而调整图像的大小。
旋转 rotate(q) rotate 方法属性的矩阵表示法 rotate 方法效果的图示 将图像旋转一个以弧度为单位的角度 q
倾斜或剪切 无;必须设置属性 bc skew 函数属性的矩阵表示法 skew 函数效果的图示 以平行于 x 轴或 y 轴的方向逐渐滑动图像。Matrix 对象的 b 属性表示斜角沿 y 轴的正切;Matrix 对象的 c 属性表示斜角沿 x 轴的正切。

每个转换函数都将更改当前矩阵的属性,所以您可以有效地合并多个转换。为此,请先调用多个转换函数,再将矩阵应用于其显示对象目标(通过使用该显示对象的 transform 属性)。

使用 new Matrix() 构造函数创建 Matrix 对象后,才能调用 Matrix 对象的方法。

查看示例

相关 API 元素



公共属性
 属性由以下参数定义
  a : Number
缩放或旋转图像时影响像素沿 x 轴定位的值。
Matrix
  b : Number
旋转或倾斜图像时影响像素沿 y 轴定位的值。
Matrix
  c : Number
旋转或倾斜图像时影响像素沿 x 轴定位的值。
Matrix
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  d : Number
缩放或旋转图像时影响像素沿 y 轴定位的值。
Matrix
  tx : Number
沿 x 轴平移每个点的距离。
Matrix
  ty : Number
沿 y 轴平移每个点的距离。
Matrix
公共方法
 方法由以下参数定义
  
Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
使用指定参数创建新的 Matrix 对象。
Matrix
  
返回一个新的 Matrix 对象,它是此矩阵的克隆,带有与所含对象完全相同的副本。
Matrix
  
将某个矩阵与当前矩阵连接,从而将这两个矩阵的几何效果有效地结合在一起。
Matrix
  
copyColumnFrom(column:uint, vector3D:Vector3D):void
将 Vector3D 对象复制到调用方 Matrix3D 对象的特定列中。
Matrix
  
copyColumnTo(column:uint, vector3D:Vector3D):void
将调用方 Matrix 对象的特定列复制到 Vector3D 对象中。
Matrix
  
copyFrom(sourceMatrix:Matrix):void
将源 Point 对象中的所有矩阵数据复制到调用方 Matrix 对象中。
Matrix
  
copyRowFrom(row:uint, vector3D:Vector3D):void
将 Vector3D 对象复制到调用方 Matrix 对象的特定行中。
Matrix
  
copyRowTo(row:uint, vector3D:Vector3D):void
将调用方 Matrix 对象的特定行复制到 Vector3D 对象中。
Matrix
  
createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
包括用于缩放、旋转和转换的参数。
Matrix
  
createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
创建 Graphics 类的 beginGradientFill() 和 lineGradientStyle() 方法所需的矩阵的特定样式。
Matrix
  
如果给定预转换坐标空间中的点,则此方法返回发生转换后该点的坐标。
Matrix
 Inherited
表示对象是否已经定义了指定的属性。
Object
  
为每个矩阵属性设置一个值,该值将导致 null 转换。
Matrix
  
执行原始矩阵的逆转换。
Matrix
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
  
对 Matrix 对象应用旋转转换。
Matrix
  
对矩阵应用缩放转换。
Matrix
 Inherited
设置循环操作动态属性的可用性。
Object
  
setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void
将 Matrix 的成员设置为指定值
Matrix
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
  
返回列出该 Matrix 对象属性的文本值。
Matrix
  
返回将 Matrix 对象表示的几何转换应用于指定点所产生的结果。
Matrix
  
沿 x 和 y 轴平移矩阵,由 dx 和 dy 参数指定。
Matrix
 Inherited
返回指定对象的原始值。
Object
属性详细信息

a

属性
public var a:Number

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

缩放或旋转图像时影响像素沿 x 轴定位的值。


示例  ( 如何使用本示例 )
下面的示例将创建 Matrix 对象 myMatrix 并设置它的 a 值。
import flash.geom.Matrix;

var myMatrix:Matrix = new Matrix();
trace(myMatrix.a);  // 1

myMatrix.a = 2;
trace(myMatrix.a);  // 2

b

属性 
public var b:Number

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

旋转或倾斜图像时影响像素沿 y 轴定位的值。


示例  ( 如何使用本示例 )
下面的示例将创建 Matrix 对象 myMatrix 并设置它的 b 值。
import flash.geom.Matrix;
 
var myMatrix:Matrix = new Matrix();
trace(myMatrix.b);  // 0

var degrees:Number = 30;
var radians:Number = (degrees/180) * Math.PI;
myMatrix.b = Math.tan(radians);
trace(myMatrix.b);  // 0.5773502691896257

c

属性 
public var c:Number

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

旋转或倾斜图像时影响像素沿 x 轴定位的值。


示例  ( 如何使用本示例 )
下面的示例将创建 Matrix 对象 myMatrix 并设置它的 c 值。
import flash.geom.Matrix;

var myMatrix:Matrix = new Matrix();
trace(myMatrix.c);  // 0

var degrees:Number = 30;
var radians:Number = (degrees/180) * Math.PI;
myMatrix.c = Math.tan(radians);
trace(myMatrix.c);  // 0.5773502691896257

d

属性 
public var d:Number

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

缩放或旋转图像时影响像素沿 y 轴定位的值。


示例  ( 如何使用本示例 )
下面的示例将创建 Matrix 对象 myMatrix 并设置它的 d 值。
import flash.geom.Matrix;

var myMatrix:Matrix = new Matrix();
trace(myMatrix.d);  // 1

myMatrix.d = 2;
trace(myMatrix.d);  // 2

tx

属性 
public var tx:Number

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

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


示例  ( 如何使用本示例 )
下面的示例将创建 Matrix 对象 myMatrix 并设置它的 tx 值。
import flash.geom.Matrix;

var myMatrix:Matrix = new Matrix();
trace(myMatrix.tx);  // 0

myMatrix.tx = 50;  // 50
trace(myMatrix.tx);

ty

属性 
public var ty:Number

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

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


示例  ( 如何使用本示例 )
下面的示例将创建 Matrix 对象 myMatrix 并设置它的 ty 值。
import flash.geom.Matrix;

var myMatrix:Matrix = new Matrix();
trace(myMatrix.ty);  // 0

myMatrix.ty = 50;
trace(myMatrix.ty);  // 50
构造函数详细信息

Matrix

()构造函数
public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

使用指定参数创建新的 Matrix 对象。在矩阵表示法中,按如下方式组织属性:

以矩阵表示法表示的 Matrix 类属性显示 u、v 和 w 的假设值

如果不向 new Matrix() 构造函数提供任何参数,它将创建一个具有以下值的恒等矩阵

a = 1
b = 0
c = 0
d = 1
tx = 0
ty = 0

在矩阵表示法中,恒等矩阵如下所示:

以矩阵表示法表示的 Matrix 类属性

参数
a:Number (default = 1) — 缩放或旋转图像时影响像素沿 x 轴定位的值。
 
b:Number (default = 0) — 旋转或倾斜图像时影响像素沿 y 轴定位的值。
 
c:Number (default = 0) — 旋转或倾斜图像时影响像素沿 x 轴定位的值。
 
d:Number (default = 1) — 缩放或旋转图像时影响像素沿 y 轴定位的值。
 
tx:Number (default = 0) — 沿 x 轴平移每个点的距离。
 
ty:Number (default = 0) — 沿 y 轴平移每个点的距离。

示例  ( 如何使用本示例 )

下面的示例通过不向 Matrix() 构造函数发送参数创建 matrix_1,而通过向该构造函数发送参数创建 matrix_2。请注意,未使用参数创建的 matrix_1 将生成一个具有值 a=1、b=0、c=0、d=1、tx=0、ty=0 的恒等矩阵。
import flash.geom.Matrix;

var matrix_1:Matrix = new Matrix();
trace(matrix_1);  // (a=1, b=0, c=0, d=1, tx=0, ty=0)

var matrix_2:Matrix = new Matrix(1, 2, 3, 4, 5, 6);
trace(matrix_2);  // (a=1, b=2, c=3, d=4, tx=5, ty=6)
方法详细信息

clone

()方法
public function clone():Matrix

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

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

返回
Matrix — 一个 Matrix 对象。

concat

()方法 
public function concat(m:Matrix):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

将某个矩阵与当前矩阵连接,从而将这两个矩阵的几何效果有效地结合在一起。在数学术语中,将两个矩阵连接起来与使用矩阵乘法将它们结合起来是相同的。

例如,如果矩阵 m1 使用系数 4 缩放某个对象,而矩阵 m2 使用 1.5707963267949 弧度 (Math.PI/2) 旋转该对象,则 m1.concat(m2) 会将 m1 转换为一个使用系数 4 缩放对象并使用 Math.PI/2 弧度旋转该对象的矩阵。

此方法将源矩阵替换为连接矩阵。如果要在不更改两个源矩阵中的任何一个的情况下连接这两个矩阵,则可以通过使用 clone() 方法首先复制源矩阵,如“类示例”部分中所示。

参数

m:Matrix — 要连接到源矩阵的矩阵。

copyColumnFrom

()方法 
public function copyColumnFrom(column:uint, vector3D:Vector3D):void

语言版本: ActionScript 3.0
运行时版本: Flash Player 11, AIR 3.0, Flash Lite 4

将 Vector3D 对象复制到调用方 Matrix3D 对象的特定列中。

参数

column:uint — 要从中复制数据的列。
 
vector3D:Vector3D — 要从中复制数据的 Vector3D 对象。

copyColumnTo

()方法 
public function copyColumnTo(column:uint, vector3D:Vector3D):void

语言版本: ActionScript 3.0
运行时版本: Flash Player 11, AIR 3.0, Flash Lite 4

将调用方 Matrix 对象的特定列复制到 Vector3D 对象中。将不会更改 Vector3D 对象的 w 元素。

参数

column:uint — 要从中复制数据的列。
 
vector3D:Vector3D — 要从中复制数据的 Vector3D 对象。

copyFrom

()方法 
public function copyFrom(sourceMatrix:Matrix):void

语言版本: ActionScript 3.0
运行时版本: Flash Player 11, AIR 3.0, Flash Lite 4

将源 Point 对象中的所有矩阵数据复制到调用方 Matrix 对象中。

参数

sourceMatrix:Matrix — 要从中复制数据的 Matrix 对象。

copyRowFrom

()方法 
public function copyRowFrom(row:uint, vector3D:Vector3D):void

语言版本: ActionScript 3.0
运行时版本: Flash Player 11, AIR 3.0, Flash Lite 4

将 Vector3D 对象复制到调用方 Matrix 对象的特定行中。

参数

row:uint — 要从中复制数据的行。
 
vector3D:Vector3D — 要从中复制数据的 Vector3D 对象。

copyRowTo

()方法 
public function copyRowTo(row:uint, vector3D:Vector3D):void

语言版本: ActionScript 3.0
运行时版本: Flash Player 11, AIR 3.0, Flash Lite 4

将调用方 Matrix 对象的特定行复制到 Vector3D 对象中。将不会更改 Vector3D 对象的 w 元素。

参数

row:uint — 要从中复制数据的行。
 
vector3D:Vector3D — 要从中复制数据的 Vector3D 对象。

createBox

()方法 
public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

包括用于缩放、旋转和转换的参数。当应用于矩阵时,该方法会基于这些参数设置矩阵的值。

通过使用 createBox() 方法,您可以获得与依次应用 identity()rotate()scale()translate() 方法时得到的矩阵相同的矩阵。例如,mat1.createBox(2,2, ,Math.PI/4, 100, 100) 具有与如下所示代码相同的效果:

     import flash.geom.Matrix;
     
     var mat1:Matrix = new Matrix();
     mat1.identity();
     mat1.rotate(Math.PI/4);
     mat1.scale(2,2);
     mat1.translate(10,20);
     

参数

scaleX:Number — 水平缩放所用的系数。
 
scaleY:Number — 垂直缩放所用的系数。
 
rotation:Number (default = 0) — 旋转量(以弧度为单位)。
 
tx:Number (default = 0) — 沿 x 轴向右平移(移动)的像素数。
 
ty:Number (default = 0) — 沿 y 轴向下平移(移动)的像素数。

相关 API 元素


示例  ( 如何使用本示例 )

下面的示例通过调用 myMatrixcreateBox() 方法来设置它的 x 缩放比例、y 缩放比例、旋转、x 位置和 y 位置。
package
{
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.geom.Matrix;
    import flash.geom.Transform;
    
    public class Matrix_createBox extends Sprite
    {
        public function Matrix_createBox()
        {
             var myMatrix:Matrix = new Matrix();
             trace(myMatrix.toString());  // (a=1, b=0, c=0, d=1, tx=0, ty=0)
             
             myMatrix.createBox(1, 2, Math.PI/4, 50, 100);
             trace(myMatrix.toString());  
             // (a=0.7071067811865476, b=1.414213562373095, c=-0.7071067811865475, 
             //  d=1.4142135623730951, tx=50, ty=100)
             
             var rectangleShape:Shape = createRectangle(20, 80, 0xFF0000);   
             addChild(rectangleShape);
              
             var rectangleTrans:Transform = new Transform(rectangleShape);
             rectangleTrans.matrix = myMatrix;
        }
        
        public function createRectangle(w:Number, h:Number, color:Number):Shape 
        {
            var rect:Shape = new Shape();
            rect.graphics.beginFill(color);
            rect.graphics.drawRect(0, 0, w, h);
            addChild(rect);
            return rect;
        }
    }
}

createGradientBox

()方法 
public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

创建 Graphics 类的 beginGradientFill()lineGradientStyle() 方法所需的矩阵的特定样式。宽度和高度被缩放为 scaleX/scaleY 对,而 tx/ty 值偏移了宽度和高度的一半。

例如,假设渐变具有以下特性:

  • GradientType.LINEAR
  • 绿色和蓝色这两种颜色(比例数组设置为 [0, 255]
  • SpreadMethod.PAD
  • InterpolationMethod.LINEAR_RGB

下图显示了使用 createGradientBox() 方法以不同参数设置在其中定义矩阵的渐变:

createGradientBox() 设置生成的渐变
width = 25;
     height = 25; 
     rotation = 0; 
     tx = 0; 
     ty = 0;
生成的线性渐变
width = 25; 
     height = 25; 
     rotation = 0; 
     tx = 25; 
     ty = 0;
生成的线性渐变
width = 50; 
     height = 50; 
     rotation = 0; 
     tx = 0; 
     ty = 0;
生成的线性渐变
width = 50;
     height = 50; 
     rotation = Math.PI / 4; // 45 degrees
     tx = 0; 
     ty = 0;
生成的线性渐变

参数

width:Number — 渐变框的宽度。
 
height:Number — 渐变框的高度。
 
rotation:Number (default = 0) — 旋转量(以弧度为单位)。
 
tx:Number (default = 0) — 沿 x 轴向右平移的距离(以像素为单位)。此值将偏移 width 参数的一半。
 
ty:Number (default = 0) — 沿 y 轴向下平移的距离(以像素为单位)。此值将偏移 height 参数的一半。

相关 API 元素


示例  ( 如何使用本示例 )

下面的示例通过调用 myMatrixcreateBox() 方法来设置它的 x 缩放比例、y 缩放比例、旋转、x 位置和 y 位置。
package
{
    import flash.display.GradientType;
    import flash.display.Sprite;
    import flash.geom.Matrix;
    
    public class Matrix_createGradientBox extends Sprite
    {
        public function Matrix_createGradientBox()
        {
             var myMatrix:Matrix = new Matrix();
             trace(myMatrix.toString());          // (a=1, b=0, c=0, d=1, tx=0, ty=0)
             
             myMatrix.createGradientBox(200, 200, 0, 50, 50);
             trace(myMatrix.toString());          // (a=0.1220703125, b=0, c=0, d=0.1220703125, tx=150, ty=150)
             
             var colors:Array = [0xFF0000, 0x0000FF];
             var alphas:Array = [100, 100];
             var ratios:Array = [0, 0xFF];
             
             this.graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, myMatrix);
             this.graphics.drawRect(0, 0, 300, 200);
        }
    }
}

deltaTransformPoint

()方法 
public function deltaTransformPoint(point:Point):Point

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

如果给定预转换坐标空间中的点,则此方法返回发生转换后该点的坐标。与使用 transformPoint() 方法应用的标准转换不同,deltaTransformPoint() 方法的转换不考虑转换参数 txty

参数

point:Point — 想要获得其矩阵转换结果的点。

返回
Point — 由应用矩阵转换所产生的点。

identity

()方法 
public function identity():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

为每个矩阵属性设置一个值,该值将导致 null 转换。通过应用恒等矩阵转换的对象将与原始对象完全相同。

调用 identity() 方法后,生成的矩阵具有以下属性:a=1、b=0、c=0、d=1、tx=0 和 ty=0。

在矩阵表示法中,恒等矩阵如下所示:

以矩阵表示法表示的 Matrix 类属性

invert

()方法 
public function invert():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

执行原始矩阵的逆转换。您可以将一个逆矩阵应用于对象来撤消在应用原始矩阵时执行的转换。


示例  ( 如何使用本示例 )

下面的示例创建一个 halfScaleMatrix,方法是调用 doubleScaleMatrixinvert() 方法。然后它将显示这两个矩阵互为逆矩阵(即两个矩阵互相撤消由另一个矩阵执行的所有转换操作),方法是通过创建 originalAndInverseMatrix,它等同于 noScaleMatrix
package
{
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.geom.Matrix;
    import flash.geom.Transform;
    
    public class Matrix_invert extends Sprite
    {
        public function Matrix_invert()
        {
            var rect0:Shape = createRectangle(20, 80, 0xFF0000);   
            var rect1:Shape = createRectangle(20, 80, 0x00FF00);   
            var rect2:Shape = createRectangle(20, 80, 0x0000FF);
            var rect3:Shape = createRectangle(20, 80, 0x000000);
            
            var trans0:Transform = new Transform(rect0);
            var trans1:Transform = new Transform(rect1);
            var trans2:Transform = new Transform(rect2);
            var trans3:Transform = new Transform(rect3);
             
            var doubleScaleMatrix:Matrix = new Matrix(2, 0, 0, 2, 0, 0);
            trans0.matrix = doubleScaleMatrix;
            trace(doubleScaleMatrix.toString());  // (a=2, b=0, c=0, d=2, tx=0, ty=0)
             
            var noScaleMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);
            trans1.matrix = noScaleMatrix;
            rect1.x = 50;
            trace(noScaleMatrix.toString());  // (a=1, b=0, c=0, d=1, tx=0, ty=0)
             
            var halfScaleMatrix:Matrix = doubleScaleMatrix.clone();
            halfScaleMatrix.invert();
            trans2.matrix = halfScaleMatrix;
            rect2.x = 100;
            trace(halfScaleMatrix.toString());  // (a=0.5, b=0, c=0, d=0.5, tx=0, ty=0)
             
            var originalAndInverseMatrix:Matrix = doubleScaleMatrix.clone();
            originalAndInverseMatrix.concat(halfScaleMatrix);
            trans3.matrix = originalAndInverseMatrix;
            rect3.x = 150;
            trace(originalAndInverseMatrix.toString());  // (a=1, b=0, c=0, d=1, tx=0, ty=0)            
        }
        
        public function createRectangle(w:Number, h:Number, color:Number):Shape 
        {
            var rect:Shape = new Shape();
            rect.graphics.beginFill(color);
            rect.graphics.drawRect(0, 0, w, h);
            addChild(rect);
            return rect;
        }
    }
}

rotate

()方法 
public function rotate(angle:Number):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

对 Matrix 对象应用旋转转换。

rotate() 方法将更改 Matrix 对象的 abcd 属性。在矩阵表示法中,当前矩阵与以下矩阵连接也产生同样的结果:

scale 方法参数的矩阵表示法

参数

angle:Number — 以弧度为单位的旋转角度。

scale

()方法 
public function scale(sx:Number, sy:Number):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

对矩阵应用缩放转换。x 轴乘以 sxy 轴乘以 sy

scale() 方法将更改 Matrix 对象的 ad 属性。在矩阵表示法中,当前矩阵与以下矩阵连接也产生同样的结果:

scale 方法参数的矩阵表示法

参数

sx:Number — 用于沿 x 轴缩放对象的乘数。
 
sy:Number — 用于沿 y 轴缩放对象的乘数。

setTo

()方法 
public function setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void

语言版本: ActionScript 3.0
运行时版本: Flash Player 11, AIR 3.0, Flash Lite 4

将 Matrix 的成员设置为指定值

参数

aa:Number — 要将 Matrix 设置为的值。
 
ba:Number
 
ca:Number
 
da:Number
 
txa:Number
 
tya:Number

toString

()方法 
public function toString():String

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

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

返回
String — 一个字符串,它包含 Matrix 对象的属性值:abcdtxty

transformPoint

()方法 
public function transformPoint(point:Point):Point

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

返回将 Matrix 对象表示的几何转换应用于指定点所产生的结果。

参数

point:Point — 想要获得其矩阵转换结果的点。

返回
Point — 由应用矩阵转换所产生的点。

translate

()方法 
public function translate(dx:Number, dy:Number):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9, Flash Lite 4

沿 xy 轴平移矩阵,由 dxdy 参数指定。

参数

dx:Number — 沿 x 轴向右移动的量(以像素为单位)。
 
dy:Number — 沿 y 轴向下移动的量(以像素为单位)。

MatrixExample.as

下面的示例使用 MatrixExample 类来说明如何创建大的渐变填充正方形。这是由以下步骤完成的:
  1. 应用程序创建新的 Matrix 对象 myMatrix,该对象使用 trace() 方法输出 myMatrix 对象的默认属性值。
  2. 应用程序调用 createGradientBox(),其 widthheight 参数设置为 200 像素,无旋转,且沿 x 轴和 y 轴平移的距离设置为 50 像素。
  3. 应用程序将再次打印 myMatrix 对象以显示调用 createGradientBox() 方法后的更改。
  4. 应用程序设置三个变量以控制如何填充渐变框:
    • colors:将渐变颜色设置为纯红和纯蓝范围之间。
    • alphas:将不透明度设置为纯色。
    • ratios:将红色和蓝色的颜色分布设置为相同。
  5. 应用程序调用图形方法 beginGradientFill()(该方法作用于 myMatrix 对象),并且调用 lineTo() 方法,生成渐变填充框。
package {
    import flash.geom.Matrix;
    import flash.display.Sprite;
    import flash.display.GradientType;

    public class MatrixExample extends Sprite {

        public function MatrixExample() {
            var myMatrix:Matrix = new Matrix();
            trace(myMatrix.toString());    // (a=1, b=0, c=0, d=1, tx=0, ty=0)

            myMatrix.createGradientBox(200, 200, 0, 50, 50);
            trace(myMatrix.toString());    // (a=0.1220703125, b=0, c=0, d=0.1220703125, tx=150, ty=150)

            var colors:Array = [0xFF0000, 0x0000FF];
            var alphas:Array = [1, 1];
            var ratios:Array = [0, 0xFF];
            graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, myMatrix);
            graphics.lineTo(0, 300);
            graphics.lineTo(300, 300);
            graphics.lineTo(300, 0);
            graphics.lineTo(0, 0);
        }
    }
}




[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。