包 | mx.core |
接口 | public interface IFlexDisplayObject extends IBitmapDrawable , IEventDispatcher |
实现器 | BitmapAsset, ButtonAsset, DefaultDragImage, MovieClipAsset, MovieClipLoaderAsset, ProgrammaticSkin, SpriteAsset, SystemManager, TextFieldAsset, UIComponent |
属性 | 定义方 | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties 此显示对象的当前辅助功能选项。 | IFlexDisplayObject | ||
alpha : Number 指示指定对象的 Alpha 透明度值。 | IFlexDisplayObject | ||
blendMode : String BlendMode 类中的一个值,用于指定要使用的混合模式。 | IFlexDisplayObject | ||
cacheAsBitmap : Boolean 如果设置为 true,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。 | IFlexDisplayObject | ||
filters : Array 包含当前与显示对象关联的每个滤镜对象的索引数组。 | IFlexDisplayObject | ||
height : Number 指示显示对象的高度,以像素为单位。 | IFlexDisplayObject | ||
loaderInfo : LoaderInfo [只读 (read-only)] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | IFlexDisplayObject | ||
mask : DisplayObject 调用显示对象被指定的 mask 对象遮罩。 | IFlexDisplayObject | ||
measuredHeight : Number [只读 (read-only)] 此对象的测量高度。 | IFlexDisplayObject | ||
measuredWidth : Number [只读 (read-only)] 此对象的测量宽度。 | IFlexDisplayObject | ||
mouseX : Number [只读 (read-only)] 指示鼠标位置的 x 坐标,以像素为单位。 | IFlexDisplayObject | ||
mouseY : Number [只读 (read-only)] 指示鼠标位置的 y 坐标,以像素为单位。 | IFlexDisplayObject | ||
name : String 指示 DisplayObject 的实例名称。 | IFlexDisplayObject | ||
opaqueBackground : Object 指定显示对象是否由于具有某种背景颜色而不透明。 | IFlexDisplayObject | ||
parent : DisplayObjectContainer [只读 (read-only)] 指示包含此显示对象的 DisplayObjectContainer 对象。 | IFlexDisplayObject | ||
root : DisplayObject [只读 (read-only)] 此处介绍的几种方法通常只位于 IDisplayObject 中,但为了具有向后兼容性,在 IFlexDisplayObject 中还必须直接包含它们,因此这些方法存在于此独立的包含文件中。 | IFlexDisplayObject | ||
rotation : Number 指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | IFlexDisplayObject | ||
scale9Grid : Rectangle 当前有效的缩放网格。 | IFlexDisplayObject | ||
scaleX : Number 指示从注册点开始应用的对象的水平缩放比例(百分比)。 | IFlexDisplayObject | ||
scaleY : Number 指示从对象注册点开始应用的对象的垂直缩放比例(百分比)。 | IFlexDisplayObject | ||
scrollRect : Rectangle 显示对象的滚动矩形范围。 | IFlexDisplayObject | ||
stage : Stage [只读 (read-only)] 显示对象的舞台。 | IFlexDisplayObject | ||
transform : Transform 一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | IFlexDisplayObject | ||
visible : Boolean 显示对象是否可见。 | IFlexDisplayObject | ||
width : Number 指示显示对象的宽度,以像素为单位。 | IFlexDisplayObject | ||
x : Number 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。 | IFlexDisplayObject | ||
y : Number 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。 | IFlexDisplayObject |
方法 | 定义方 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | IEventDispatcher | ||
将事件调度到事件流中。 | IEventDispatcher | ||
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | IFlexDisplayObject | ||
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | IFlexDisplayObject | ||
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | IFlexDisplayObject | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | IEventDispatcher | ||
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。 | IFlexDisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | IFlexDisplayObject | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | IFlexDisplayObject | ||
将此对象移动到指定的 x 和 y 坐标。 | IFlexDisplayObject | ||
从 EventDispatcher 对象中删除侦听器。 | IEventDispatcher | ||
设置此对象的实际大小。 | IFlexDisplayObject | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | IEventDispatcher |
accessibilityProperties | 属性 |
accessibilityProperties:AccessibilityProperties
[读写]
此显示对象的当前辅助功能选项。如果您修改 accessibilityProperties
属性或 accessibilityProperties
内部的任何字段,则必须调用 Accessibility.updateProperties()
方法以使您的更改生效。
public function get accessibilityProperties():AccessibilityProperties
public function set accessibilityProperties(value:AccessibilityProperties):void
alpha | 属性 |
alpha:Number
[读写]
指示指定对象的 Alpha 透明度值。有效值为 0(完全透明)到 1(完全不透明)。默认值为 1。alpha
设置为 0 的显示对象是活动的,即使它们不可见。
public function get alpha():Number
public function set alpha(value:Number):void
blendMode | 属性 |
blendMode:String
[读写]
BlendMode 类中的一个值,用于指定要使用的混合模式。内部绘制位图的方法有两种。如果启用了混合模式或外部剪辑遮罩,则将通过向矢量渲染器添加有位图填充的正方形来绘制位图。如果尝试将此属性设置为无效值,则 Flash Player 或 Adobe AIR 会将该值设置为 BlendMode.NORMAL
。
blendMode
属性影响显示对象的每个像素。每个像素都由三种原色(红色、绿色和蓝色)组成,每种原色的值介于 0x00 和 0xFF 之间。Flash Player 或 Adobe AIR 将影片剪辑中一个像素的每种原色与背景中像素的对应颜色进行比较。例如,如果 blendMode
设置为 BlendMode.LIGHTEN
,则 Flash Player 或 Adobe AIR 会将显示对象的红色值与背景的红色值进行比较,然后使用两者中较亮的一种颜色作为显示颜色的红色成分的值。
下表将对 blendMode
设置进行说明。BlendMode 类定义可使用的字符串值。表中的插图显示应用于交叠于显示对象 (1) 之上的圆形显示对象 (2) 的 blendMode
值。
BlendMode 常量 | 插图 | Description |
---|---|---|
BlendMode.NORMAL
| 该显示对象出现在背景前面。显示对象的像素值将覆盖背景的像素值。在显示对象为透明的区域,背景是可见的。 | |
BlendMode.LAYER
|
强制为该显示对象创建一个透明度组。这意味着首先在临时缓冲区中预构建显示对象,然后再进行下一步处理。如果显示对象是使用位图缓存进行预缓存的,或显示对象是至少带有一个子对象(具有 BlendMode.NORMAL 以外的 blendMode 设置)的显示对象容器,则这将自动完成。
| |
BlendMode.MULTIPLY
|
将显示对象原色的值与背景颜色的值相乘,然后通过除以 0xFF 进行标准化,从而得到较暗的颜色。此设置通常用于阴影和深度效果。
例如,如果显示对象中一个像素的某个原色(例如红色)与背景中对应的像素颜色的值均为 0x88,则相乘结果为 0x4840。除以 0xFF 将得到该原色的值 0x48,这是比显示对象或背景颜色暗的阴影。 | |
BlendMode.SCREEN
| 将显示对象颜色的补色(反色)与背景颜色的补色相乘,会产生漂白效果。此设置通常用于产生加亮效果或用来删除显示对象的黑色区域。 | |
BlendMode.LIGHTEN
|
在显示对象原色和背景颜色中选择相对较亮的颜色(具有较大值的颜色)。此设置通常用于叠加类型。
例如,如果显示对象的某个像素的 RGB 值为 0xFFCC33,背景像素的 RGB 值为 0xDDF800,则显示像素的结果 RGB 值为 0xFFF833(因为 0xFF > 0xDD,0xCC < 0xF8,且 0x33 > 0x00 = 33)。 | |
BlendMode.DARKEN
|
在显示对象原色和背景颜色中选择相对较暗的颜色(具有较小值的颜色)。此设置通常用于叠加类型。
例如,如果显示对象的某个像素的 RGB 值为 0xFFCC33,背景像素的 RGB 值为 0xDDF800,则显示像素的结果 RGB 值为 0xDDCC00(因为 0xFF > 0xDD,0xCC < 0xF8,且 0x33 > 0x00 = 33)。 | |
BlendMode.DIFFERENCE
|
将显示对象的原色与背景颜色进行比较,然后从较亮的原色值中减去较暗的原色值。此设置通常用于得到更明亮的颜色。
例如,如果显示对象的某个像素的 RGB 值为 0xFFCC33,背景像素的 RGB 值为 0xDDF800,则显示像素的结果 RGB 值为 0x222C33(因为 0xFF - 0xDD = 0x22,0xF8 - 0xCC = 0x2C,且 0x33 - 0x00 = 0x33)。 | |
BlendMode.ADD
|
将显示对象的原色值添加到它的背景颜色中,上限值为 0xFF。此设置通常用于使两个对象间的加亮溶解产生动画效果。
例如,如果显示对象的某个像素的 RGB 值为 0xAAA633,背景像素的 RGB 值为 0xDD2200,则显示像素的结果 RGB 值为 0xFFC833(因为 0xAA + 0xDD > 0xFF,0xA6 + 0x22 = 0xC8,且 0x33 + 0x00 = 0x33)。 | |
BlendMode.SUBTRACT
|
从背景颜色的值中减去显示对象原色的值,下限值为 0。此设置通常用于使两个对象间的变暗溶解产生动画效果。
例如,如果显示对象的某个像素的 RGB 值为 0xAA2233,背景像素的 RGB 值为 0xDDA600,则显示像素的结果 RGB 值为 0x338400(因为 0xDD - 0xAA = 0x33,0xA6 - 0x22 = 0x84 且 0x00 - 0x33 < 0x00)。 | |
BlendMode.INVERT
| 反转背景。 | |
BlendMode.ALPHA
|
将显示对象的每个像素的 Alpha 值应用于背景。这要求将父显示对象的 blendMode 设置设置为 BlendMode.LAYER 。例如,在此插图中,父显示对象是一个白色背景,它具有 blendMode = BlendMode.LAYER 。
| |
BlendMode.ERASE
|
根据显示对象的 Alpha 值擦除背景。这要求将父显示对象的 blendMode 设置为 BlendMode.LAYER 。例如,在此插图中,父显示对象是一个白色背景,它具有 blendMode = BlendMode.LAYER 。
| |
BlendMode.OVERLAY
| 根据背景的暗度调整每个像素的颜色。如果背景灰度值高于 50%,则显示对象和背景颜色进行叠加,从而产生较亮的颜色。如果背景灰度值低于 50%,则颜色相乘,从而产生较暗的颜色。此设置通常用于获得阴影效果。 | |
BlendMode.HARDLIGHT
| 根据显示对象的暗度调整每个像素的颜色。如果显示对象灰度值高于 50%,则显示对象和背景颜色进行叠加,从而产生较亮的颜色。如果显示对象灰度值低于 50%,则颜色相乘,从而产生较暗的颜色。此设置通常用于获得阴影效果。 | |
BlendMode.SHADER
| 不可用 |
使用自定义着色器例程调整颜色。将使用的着色器指定为赋予 blendShader 属性的 Shader 实例。如果将显示对象的 blendShader 属性设置为 Shader 实例,则会将显示对象的 blendMode 属性自动设置为 BlendMode.SHADER 。如果在未首先设置 blendShader 属性的情况下将 blendMode 属性设置为 BlendMode.SHADER ,则 blendMode 属性会设置为 BlendMode.NORMAL 。
|
public function get blendMode():String
public function set blendMode(value:String):void
cacheAsBitmap | 属性 |
cacheAsBitmap:Boolean
[读写]
如果设置为 true
,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。此缓存可以提高包含复杂矢量内容的显示对象的性能。
具有已缓存位图的显示对象的所有矢量数据都将被绘制到位图而不是主显示。然后,将位图作为贴紧到最接近像素边界的未拉伸、未旋转的像素复制到主显示。像素按一对一与父对象进行映射。如果位图的边界发生更改,则将重新创建位图而不会拉伸它。
除非将 cacheAsBitmap
属性设置为 true
,否则不会创建内部位图。
将 cacheAsBitmap
属性设置为 true
后,呈现并不更改,但是,显示对象将自动执行像素贴紧。动画速度可能会大大加快,具体取决于矢量内容的复杂性。
只要对显示对象(当其 filter
数组不为空时)应用滤镜,cacheAsBitmap
属性就自动设置为 true
,而且如果对显示对象应用了滤镜,即使将该属性设置为 false
,也会将该显示对象的 cacheAsBitmap
报告为 true
。如果清除显示对象的所有滤镜,则 cacheAsBitmap
设置将更改为它上次的设置。
在下面的情况下,即使将 cacheAsBitmap
属性设置为 true
,显示对象也不使用位图,而是从矢量数据呈现:
最好将 cacheAsBitmap
属性与主要具有静态内容且不频繁缩放和旋转的影片剪辑一起使用。对于这样的影片剪辑,在转换影片剪辑时(更改其 x 和 y 位置时),cacheAsBitmap
可以提高性能。
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean):void
filters | 属性 |
filters:Array
[读写] 包含当前与显示对象关联的每个滤镜对象的索引数组。 flash.filters 包中的多个类定义了可使用的特定滤镜。
在设计时可以在 Flash 创作工具中应用滤镜,而在运行时则可以使用 ActionScript 代码应用滤镜。若要通过使用 ActionScript 应用滤镜,您必须制作整个 filters
数组的临时副本,修改临时数组,然后将临时数组的值分配回 filters
数组。 无法直接将新滤镜对象添加到 filters
数组。
要通过使用 ActionScript 添加滤镜,请执行以下步骤(假定目标显示对象名为 myDisplayObject
):
myDisplayObject.filters
数组的值分配给临时数组,例如一个名为 myFilters
的数组。
myFilters
。
myDisplayObject.filters
数组。
如果 filters
数组未定义,则无需使用临时数组。相反,您可以直接赋值包含一个或多个已创建的滤镜对象的一个数组文本值。“示例”部分的第一个示例通过使用处理已定义和未定义的 filters
数组的代码来添加投影滤镜。
要修改现有的滤镜对象,必须使用修改 filters
数组的副本的技术:
filters
数组的值分配给临时数组,例如一个名为 myFilters
的数组。
myFilters
修改属性。例如,如果要设置数组中第一个滤镜的品质属性,可以使用以下代码:myFilters[0].quality = 1;
filters
数组。
在加载时,如果显示对象具有关联的滤镜,则将它标记为像透明位图那样缓存自身。从此时起,只要显示对象具有有效的滤镜列表,播放器就会将显示对象缓存为位图。此源位图用作滤镜效果的源图像。每个显示对象通常有两个位图:一个包含原始未过滤的源显示对象,另一个是过滤后的最终图像。呈现时使用最终图像。只要显示对象不发生更改,最终图像就不需要更新。
flash.filters 包含有滤镜类。例如,要创建 DropShadow 滤镜,请输入:
import flash.filters.DropShadowFilter var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
您可以使用 is
运算符确定分配给 filter
数组中每个索引位置的滤镜的类型。例如,以下代码显示如何确定是 DropShadowFilter 的 filters
数组中第一个滤镜的位置:
import flash.text.TextField; import flash.filters.*; var tf:TextField = new TextField(); var filter1:DropShadowFilter = new DropShadowFilter(); var filter2:GradientGlowFilter = new GradientGlowFilter(); tf.filters = [filter1, filter2]; tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0 addChild(tf) function filterPosition(displayObject:DisplayObject, filterClass:Class):int { for (var i:uint = 0; i < displayObject.filters.length; i++) { if (displayObject.filters[i] is filterClass) { return i; } } return -1; }
注意:由于无法直接将新滤镜对象添加到 DisplayObject.filters
数组,因此以下代码对名为 myDisplayObject
的目标显示对象不起作用:
myDisplayObject.filters.push(myDropShadow);
public function get filters():Array
public function set filters(value:Array):void
height | 属性 |
height:Number
[读写]
指示显示对象的高度,以像素为单位。高度是根据显示对象内容的范围来计算的。如果您设置了 height
属性,则 scaleY
属性会相应调整,如以下代码所示:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleY) // 1; rect.height = 200; trace(rect.scaleY) // 2;
除 TextField 和 Video 对象以外,没有内容的显示对象(如一个空的 Sprite)的高度为 0,即使您尝试将 height
设置为其它值,也是这样。
public function get height():Number
public function set height(value:Number):void
loaderInfo | 属性 |
loaderInfo:LoaderInfo
[只读 (read-only)]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。loaderInfo
属性仅为 SWF 文件的根显示对象或已加载的位图(而不是使用 ActionScript 绘制的位图)定义。要查找与包含名为 myDisplayObject
的显示对象的 SWF 文件相关的 loaderInfo
对象,请使用 myDisplayObject.root.loaderInfo
。
大的 SWF 文件可以通过调用 this.root.loaderInfo.addEventListener(Event.COMPLETE, func)
来监控其下载。
public function get loaderInfo():LoaderInfo
mask | 属性 |
mask:DisplayObject
[读写]
调用显示对象被指定的 mask
对象遮罩。要确保当舞台缩放时蒙版仍然有效,mask
显示对象必须处于显示列表的活动部分。但不绘制 mask
对象本身。将 mask
设置为 null
可删除蒙版。
要能够缩放遮罩对象,它必须在显示列表中。要能够拖动蒙版 Sprite 对象(通过调用其 startDrag()
方法),它必须在显示列表中。要为基于 sprite 正在调度的 mouseDown
事件调用 startDrag()
方法,请将 sprite 的 buttonMode
属性设置为 true
。
注意:单个 mask
对象不能用于遮罩多个执行调用的显示对象。在将 mask
分配给第二个显示对象时,会撤消其作为第一个对象的遮罩,该对象的 mask
属性将变为 null
。
public function get mask():DisplayObject
public function set mask(value:DisplayObject):void
measuredHeight | 属性 |
measuredHeight:Number
[只读 (read-only)] 此对象的测量高度。
通常为图形外观硬编码此属性,因为此数字只是图形中的像素数目。对于代码外观来说,如果希望以特定大小进行绘制,也可以对其进行硬编码。如果此大小可以随属性更改,您可能还希望是 ILayoutManagerClient,以便在适当时调用 measure()
方法,从而能够计算 measuredHeight
。
public function get measuredHeight():Number
measuredWidth | 属性 |
measuredWidth:Number
[只读 (read-only)] 此对象的测量宽度。
通常为图形外观硬编码此属性,因为此数字只是图形中的像素数目。对于代码外观来说,如果希望以特定大小进行绘制,也可以对其进行硬编码。如果此大小可以随属性更改,您可能还希望是 ILayoutManagerClient,以便在适当时调用 measure()
方法,从而能够计算 measuredHeight
。
public function get measuredWidth():Number
mouseX | 属性 |
mouseX:Number
[只读 (read-only)] 指示鼠标位置的 x 坐标,以像素为单位。
注意:对于已旋转的 DisplayObject,返回的 x 坐标将反映未旋转的对象。
public function get mouseX():Number
mouseY | 属性 |
mouseY:Number
[只读 (read-only)] 指示鼠标位置的 y 坐标,以像素为单位。
注意:对于已旋转的 DisplayObject,返回的 y 坐标将反映未旋转的对象。
public function get mouseY():Number
name | 属性 |
name:String
[读写]
指示 DisplayObject 的实例名称。通过调用父显示对象容器的 getChildByName()
方法,可以在父显示对象容器的子列表中标识该对象。
public function get name():String
public function set name(value:String):void
opaqueBackground | 属性 |
opaqueBackground:Object
[读写] 指定显示对象是否由于具有某种背景颜色而不透明。透明的位图包含 Alpha 通道数据,并以透明的方式进行绘制。不透明位图没有 Alpha 通道(呈现速度比透明位图快)。如果位图是不透明的,则您可以指定要使用的其自己的背景颜色。
如果设置为某个数值,则表面是不透明的,并且带有该数值指定的 RGB 背景颜色。如果设置为 null
(默认值),则显示对象将有透明背景。
opaqueBackground
属性主要与 cacheAsBitmap
属性一起使用,以优化呈现。对于 cacheAsBitmap
属性设置为 true 的显示对象,设置 opaqueBackground
可以提高呈现性能。
如果在 shapeFlag 参数设置为 true
时调用 hitTestPoint()
方法,则不透明的背景区域不
匹配。
不透明背景区域不响应鼠标事件。
public function get opaqueBackground():Object
public function set opaqueBackground(value:Object):void
parent | 属性 |
parent:DisplayObjectContainer
[只读 (read-only)]
指示包含此显示对象的 DisplayObjectContainer 对象。使用 parent
属性可以指定高于显示列表层次结构中当前显示对象的显示对象的相对路径。
可以使用 parent
在显示列表中上移多个级别,如下所示:
this.parent.parent.alpha = 20;
public function get parent():DisplayObjectContainer
root | 属性 |
root:DisplayObject
[只读 (read-only)] 此处介绍的几种方法通常只位于 IDisplayObject 中,但为了具有向后兼容性,在 IFlexDisplayObject 中还必须直接包含它们,因此这些方法存在于此独立的包含文件中。
public function get root():DisplayObject
rotation | 属性 |
rotation:Number
[读写]
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。对于此范围之外的值,可以通过加上或减去 360 获得该范围内的值。例如,my_video.rotation = 450
语句与 my_video.rotation = 90
是相同的。
public function get rotation():Number
public function set rotation(value:Number):void
scale9Grid | 属性 |
scale9Grid:Rectangle
[读写]
当前有效的缩放网格。如果设置为 null
,则在应用任何缩放转换时,将正常缩放整个显示对象。
当定义 scale9Grid
属性时,该显示对象被分割到以 scale9Grid
矩形为基础的具有九个区域的网格中,该矩形定义网格的中心区域。网格的其它八个区域如下:
可以认为中心区域(由矩形定义)之外的八个区域类似于在缩放时已应用特殊规则的图片帧。
在设置 scale9Grid
属性并缩放显示对象后,会正常缩放所有文本和渐变;但是,对于对象的其它类型,将应用以下规则:
如果旋转显示对象,则所有后续缩放都是正常的(并会忽略 scale9Grid
属性)。
例如,请考虑以下显示对象和作为该显示对象的 scale9Grid
属性应用的矩形:
显示对象。 |
红色矩形显示 |
缩放或拉伸显示对象时,矩形内的对象正常缩放,但是矩形外的对象则按照 scale9Grid
规则进行缩放:
缩放到 75%: | |
缩放到 50%: | |
缩放到 25%: | |
水平拉伸 150%: |
设置 scale9Grid
的常见用法是设置用作组件的显示对象,当缩放该组件时,其中的边缘区域保持相同的宽度。
public function get scale9Grid():Rectangle
public function set scale9Grid(value:Rectangle):void
scaleX | 属性 |
scaleX:Number
[读写] 指示从注册点开始应用的对象的水平缩放比例(百分比)。默认注册点为 (0,0)。 1.0 等于 100% 缩放。
缩放本地坐标系统将更改 x
和 y
属性值,这些属性值是以整像素定义的。
public function get scaleX():Number
public function set scaleX(value:Number):void
scaleY | 属性 |
scaleY:Number
[读写] 指示从对象注册点开始应用的对象的垂直缩放比例(百分比)。默认注册点为 (0,0)。 1.0 是 100% 缩放。
缩放本地坐标系统将更改 x
和 y
属性值,这些属性值是以整像素定义的。
public function get scaleY():Number
public function set scaleY(value:Number):void
scrollRect | 属性 |
scrollRect:Rectangle
[读写]
显示对象的滚动矩形范围。显示对象被裁切为矩形定义的大小,当您更改 scrollRect
对象的 x
和 y
属性时,它会在矩形内滚动。
scrollRect
Rectangle 对象的属性使用显示对象的坐标空间,并缩放到像整个显示对象一样。滚动显示对象上已裁切窗口的转角范围是显示对象的原点 (0,0) 和矩形的宽度和高度定义的点。它们不按原点居中,而是使用原点定义区域的左上角。滚动的显示对象始终以整像素为增量进行滚动。
您可以通过设置 scrollRect
Rectangle 对象的 x
属性来左右滚动对象, 还可以通过设置 scrollRect
对象的 y
属性来上下滚动对象。如果显示对象旋转了 90 度,并且您左右滚动它,则实际上显示对象会上下滚动。
public function get scrollRect():Rectangle
public function set scrollRect(value:Rectangle):void
stage | 属性 |
stage:Stage
[只读 (read-only)]
显示对象的舞台。Flash 应用程序只有一个 Stage 对象。例如,您可以创建多个显示对象并加载到显示列表中,每个显示对象的 stage
属性是指相同的 Stage 对象(即使显示对象属于已加载的 SWF 文件)。
如果显示对象未添加到显示列表,则其 stage
属性会设置为 null
。
public function get stage():Stage
transform | 属性 |
transform:Transform
[读写]
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。在 Transform 类的条目中对特定属性 matrix、colorTransform 和三个只读属性(concatenatedMatrix
、concatenatedColorTransform
和 pixelBounds
)进行了说明。
transform 对象的每个属性本身都是一个对象。此概念很重要,因为设置 matrix 或 colorTransform 对象的新值的唯一方法是,创建新对象并将该对象复制到 transform.matrix 或 transform.colorTransform 属性。
例如,要增加显示对象矩阵的 tx
值,您必须制作整个矩阵对象的副本,然后将新对象复制到 transform 对象的 matrix 属性中:
var myMatrix:Matrix = myDisplayObject.transform.matrix;
myMatrix.tx += 10;
myDisplayObject.transform.matrix = myMatrix;
不能直接设置 tx
属性。下面的代码对 myDisplayObject
不起作用:
myDisplayObject.transform.matrix.tx += 10;
您也可以复制整个 transform 对象并为其赋予另一个显示对象的 transform 属性。例如,下面的代码将整个 transform 对象从 myOldDisplayObj
复制到 myNewDisplayObj
:
myNewDisplayObj.transform = myOldDisplayObj.transform;
现在,新显示对象 myNewDisplayObj
与旧显示对象 myOldDisplayObj
具有相同的矩阵、颜色转换和像素范围值。
public function get transform():Transform
public function set transform(value:Transform):void
visible | 属性 |
visible:Boolean
[读写]
显示对象是否可见。不可见的显示对象已被禁用。例如,如果 InteractiveObject 实例的 visible=false
,则无法单击该对象。
public function get visible():Boolean
public function set visible(value:Boolean):void
width | 属性 |
width:Number
[读写]
指示显示对象的宽度,以像素为单位。宽度是根据显示对象内容的范围来计算的。如果您设置了 width
属性,则 scaleX
属性会相应调整,如以下代码所示:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleX) // 1; rect.width = 200; trace(rect.scaleX) // 2;
除 TextField 和 Video 对象以外,没有内容的显示对象(如一个空的 Sprite)的宽度为 0,即使您尝试将 width
设置为其它值,也是这样。
public function get width():Number
public function set width(value:Number):void
x | 属性 |
x:Number
[读写] 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。如果该对象位于具有变形的 DisplayObjectContainer 内,则它也位于包含 DisplayObjectContainer 的本地坐标系中。因此,对于逆时针旋转 90 度的 DisplayObjectContainer,该 DisplayObjectContainer 的子级将继承逆时针旋转 90 度的坐标系。对象的坐标指的是注册点的位置。
public function get x():Number
public function set x(value:Number):void
y | 属性 |
y:Number
[读写] 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。如果该对象位于具有变形的 DisplayObjectContainer 内,则它也位于包含 DisplayObjectContainer 的本地坐标系中。因此,对于逆时针旋转 90 度的 DisplayObjectContainer,该 DisplayObjectContainer 的子级将继承逆时针旋转 90 度的坐标系。对象的坐标指的是注册点的位置。
public function get y():Number
public function set y(value:Number):void
getBounds | () | 方法 |
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形定义相对于 targetCoordinateSpace
对象坐标系的显示对象区域。考虑以下代码,此代码显示了矩形的返回方式根据您传递给该方法的 targetCoordinateSpace
参数的不同而不同:
var container:Sprite = new Sprite(); container.x = 100; container.y = 100; this.addChild(container); var contents:Shape = new Shape(); contents.graphics.drawCircle(0,0,100); container.addChild(contents); trace(contents.getBounds(container)); // (x=-100, y=-100, w=200, h=200) trace(contents.getBounds(this)); // (x=0, y=0, w=200, h=200)
请注意:使用 localToGlobal()
和 globalToLocal()
方法可以分别将显示对象的本地坐标转换为显示坐标,或将显示坐标转换为本地坐标。
getBounds()
方法与 getRect()
方法类似;但是 getBounds()
方法返回的矩形包括形状的所有笔触,然而 getRect()
方法返回的矩形则不包括。例如,请参阅 getRect()
方法的说明。
参数
targetCoordinateSpace:DisplayObject — 定义要使用的坐标系的显示对象。 |
Rectangle —
定义与 targetCoordinateSpace 对象坐标系统相关的显示对象面积的矩形。
|
getRect | () | 方法 |
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形根据 targetCoordinateSpace
参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。getRect()
方法返回的值等于或小于由 getBounds()
方法返回的值。
请注意:使用 localToGlobal()
和 globalToLocal()
方法可以分别将显示对象的本地坐标转换为舞台坐标,或将舞台坐标转换为本地坐标。
参数
targetCoordinateSpace:DisplayObject — 定义要使用的坐标系的显示对象。 |
Rectangle —
定义与 targetCoordinateSpace 对象坐标系统相关的显示对象面积的矩形。
|
globalToLocal | () | 方法 |
public function globalToLocal(point:Point):Point
将 point
对象从舞台(全局)坐标转换为显示对象的(本地)坐标。
要使用此方法,请先创建 Point 类的一个实例。您分配的 x 和 y 值表示全局坐标,因为它们是相对于主显示区域的原点 (0,0) 的。然后将 Point 实例作为参数传递给 globalToLocal()
方法。该方法会返回一个新的 Point 对象,该对象具有相对于显示对象原点(而不是舞台原点)的 x 和 y 值。
参数
point:Point —
用 Point 类创建的对象。该 Point 对象指定 x 和 y 坐标作为属性。
|
Point — 具有相对于显示对象的坐标的 Point 对象。 |
hitTestObject | () | 方法 |
public function hitTestObject(obj:DisplayObject):Boolean
计算显示对象,以确定它是否与 obj
显示对象重叠或相交。
参数
obj:DisplayObject — 要测试的显示对象。 |
Boolean —
如果显示对象相交,则为 true ;否则为 false 。
|
hitTestPoint | () | 方法 |
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
计算显示对象,以确定它是否与 x
和 y
参数指定的点重叠或相交。x
和 y
参数指定舞台的坐标空间中的点,而不是包含显示对象的显示对象容器中的点(除非显示对象容器是舞台)。
参数
x:Number —
要测试的此对象的 x 坐标。
| |
y:Number —
要测试的此对象的 y 坐标。
| |
shapeFlag:Boolean (default = false ) —
是检查对象 (true ) 的实际像素,还是检查边框 (false ) 的实际像素。
|
Boolean —
如果显示对象与指定的点重叠或相交,则为 true ;否则为 false 。
|
localToGlobal | () | 方法 |
public function localToGlobal(point:Point):Point
将 point
对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
此方法允许您将任何给定的 x 和 y 坐标从相对于特定显示对象原点 (0,0) 的值(本地坐标)转换为相对于舞台原点的值(全局坐标)。
要使用此方法,请先创建 Point 类的一个实例。您分配的 x 和 y 的值表示本地坐标,因为它们是相对于显示对象原点的值。
然后,您可以将创建的 Point 实例作为参数传递给 localToGlobal()
方法。该方法会返回一个新的 Point 对象,该对象具有相对于舞台原点(而不是显示对象原点)的 x 和 y 值。
参数
point:Point —
使用 Point 类创建的点的名称或标识符,指定 x 和 y 坐标作为属性。
|
Point — 具有相对于舞台的坐标的 Point 对象。 |
move | () | 方法 |
public function move(x:Number, y:Number):void
将此对象移动到指定的 x 和 y 坐标。
参数
x:Number — 此对象的新 x 位置。 | |
y:Number — 此对象的新 y 位置。 |
setActualSize | () | 方法 |
public function setActualSize(newWidth:Number, newHeight:Number):void
设置此对象的实际大小。
此方法主要用于实现 updateDisplayList()
方法。在此期间,您可以根据其显式大小、相对于父项的(百分比)大小以及度量大小计算此对象的实际大小。然后,通过调用 setActualSize()
将此实际大小应用于对象。
在其它情况下,您应该设置 width
、height
、percentWidth
或 percentHeight
属性,而非调用此方法。
参数
newWidth:Number — 此对象的新宽度。 | |
newHeight:Number — 此对象的新高度。 |