包 | mx.core |
类 | public class SpriteAsset |
继承 | SpriteAsset FlexSprite Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
实现 | IFlexAsset, IFlexDisplayObject, IBorder |
子类 | DefaultDragImage |
您可以嵌入位于 SVG 文件中的矢量图形图像。还可以嵌入由 Flash 生成的 SWF 文件中的 sprite 元件。在这两种情况下,MXML 编译器自动生成了一个类,该类扩展 SpriteAsset 以呈现嵌入的矢量图形图像。
编写 Flex 应用程序时,通常无需直接使用 SpriteAsset 类。例如,您可以通过编写以下内容嵌入 SWF 文件中的 sprite 元件并将其显示在 Image 控件中:
<mx:Image id="logo" source="@Embed(source='Assets.swf', symbol='Logo')"/>
或者,通过编写以下内容使用 CSS 语法将其用作应用程序的背景图像:
<mx:Style> Application { backgroundImage: Embed(source="Assets.swf", symbol='Logo') } <mx:Style/>
而不必了解 MXML 编译器已为您创建了 BitmapAsset 的一个子类。
不过,了解在 ActionScript 级别发生的操作可能会有用。要在 ActionScript 中嵌入矢量图形图像,需要声明类型为 Class 的变量,并对其应用 [Embed]
元数据。例如,可以通过以下方式嵌入 SWF 文件中的 sprite 元件:
[Bindable] [Embed(source="Assets.swf", symbol="Logo")] private var logoClass:Class;
MXML 编译器会发现 Assets.swf 中的 Logo 元件是一个 sprite,自动生成 SpriteAsset 类的子类来表示该 sprite,并将变量设置为引用此自动生成的类。然后,您可以使用此类引用通过 new
运算符创建 SpriteAsset 的实例,还可以对其使用 Sprite 类的 API:
var logo:SpriteAsset = SpriteAsset(new logoClass()); logo.rotation=45;
但是,您很少需要自己创建 SpriteAsset 实例,因为 image-related 属性和样式可以直接设置为 image-producing 类,且组件会根据需要创建图像实例。例如,要在 Image 控件中显示此矢量图形图像,可以将 Image 的 source
属性设置为 logoClass
。在 MXML 中,您可以按照以下方法执行此操作:
<mx:Image id="logo" source="{logoClass}"/>
属性 | 定义方 | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties 此显示对象的当前辅助功能选项。 | DisplayObject | ||
alpha : Number 指示指定对象的 Alpha 透明度值。 | DisplayObject | ||
blendMode : String BlendMode 类中的一个值,用于指定要使用的混合模式。 | DisplayObject | ||
blendShader : Shader [只写] 设置用于混合前景和背景的着色器。 | DisplayObject | ||
borderMetrics : EdgeMetrics [只读 (read-only)] 为具有四个属性(left、top、right 和 bottom)的边框返回 EdgeMetrics 对象。 | SpriteAsset | ||
buttonMode : Boolean 指定此 sprite 的按钮模式。 | Sprite | ||
cacheAsBitmap : Boolean 如果设置为 true,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。 | DisplayObject | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
contextMenu : NativeMenu 指定与此对象相关联的上下文菜单。 | InteractiveObject | ||
doubleClickEnabled : Boolean 指定此对象是否接收 doubleClick 事件。 | InteractiveObject | ||
dropTarget : DisplayObject [只读 (read-only)] 指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 | Sprite | ||
filters : Array 包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | ||
focusRect : Object 指定此对象是否显示焦点矩形。 | InteractiveObject | ||
graphics : Graphics [只读 (read-only)] 指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘画命令。 | Sprite | ||
height : Number 指示显示对象的高度,以像素为单位。 | DisplayObject | ||
hitArea : Sprite 指定一个 sprite 用作另一个 sprite 的点击区域。 | Sprite | ||
loaderInfo : LoaderInfo [只读 (read-only)] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | ||
mask : DisplayObject 调用显示对象被指定的 mask 对象遮罩。 | DisplayObject | ||
measuredHeight : Number [只读 (read-only)] 此对象的测量高度。 | SpriteAsset | ||
measuredWidth : Number [只读 (read-only)] 此对象的测量宽度。 | SpriteAsset | ||
mouseChildren : Boolean 确定对象的子项是否支持鼠标。 | DisplayObjectContainer | ||
mouseEnabled : Boolean 指定此对象是否接收鼠标消息。 | InteractiveObject | ||
mouseX : Number [只读 (read-only)] 指示鼠标位置的 x 坐标,以像素为单位。 | DisplayObject | ||
mouseY : Number [只读 (read-only)] 指示鼠标位置的 y 坐标,以像素为单位。 | DisplayObject | ||
name : String 指示 DisplayObject 的实例名称。 | DisplayObject | ||
numChildren : int [只读 (read-only)] 返回此对象的子项数目。 | DisplayObjectContainer | ||
opaqueBackground : Object 指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | ||
parent : DisplayObjectContainer [只读 (read-only)] 指示包含此显示对象的 DisplayObjectContainer 对象。 | DisplayObject | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
root : DisplayObject [只读 (read-only)] 对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 | DisplayObject | ||
rotation : Number 指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | DisplayObject | ||
rotationX : Number 指示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 | DisplayObject | ||
rotationY : Number 指示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 | DisplayObject | ||
rotationZ : Number 指示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 z 轴旋转(以度为单位)。 | DisplayObject | ||
scale9Grid : Rectangle 当前有效的缩放网格。 | DisplayObject | ||
scaleX : Number 指示从注册点开始应用的对象的水平缩放比例(百分比)。 | DisplayObject | ||
scaleY : Number 指示从对象注册点开始应用的对象的垂直缩放比例(百分比)。 | DisplayObject | ||
scaleZ : Number 指示从对象的注册点开始应用的对象的深度缩放比例(百分比)。 | DisplayObject | ||
scrollRect : Rectangle 显示对象的滚动矩形范围。 | DisplayObject | ||
soundTransform : SoundTransform 控制此 sprite 中的声音。 | Sprite | ||
stage : Stage [只读 (read-only)] 显示对象的舞台。 | DisplayObject | ||
tabChildren : Boolean 确定对象的子项是否支持 Tab 键。 | DisplayObjectContainer | ||
tabEnabled : Boolean 指定此对象是否遵循 Tab 键顺序。 | InteractiveObject | ||
tabIndex : int 指定 SWF 文件中的对象按 Tab 键顺序排列。 | InteractiveObject | ||
textSnapshot : TextSnapshot [只读 (read-only)] 返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 | DisplayObjectContainer | ||
transform : Transform 一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | DisplayObject | ||
useHandCursor : Boolean 布尔值,指示当鼠标滑过其 buttonMode 属性设置为 true 的 sprite 时是否显示手指形(手形光标)。 | Sprite | ||
visible : Boolean 显示对象是否可见。 | DisplayObject | ||
width : Number 指示显示对象的宽度,以像素为单位。 | DisplayObject | ||
x : Number 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。 | DisplayObject | ||
y : Number 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。 | DisplayObject | ||
z : Number 指示 DisplayObject 实例相对于 3D 父容器沿 z 轴的 z 坐标位置。 | DisplayObject |
方法 | 定义方 | ||
---|---|---|---|
构造函数。 | SpriteAsset | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。 | DisplayObjectContainer | ||
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。 | DisplayObjectContainer | ||
将事件调度到事件流中。 | EventDispatcher | ||
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | DisplayObject | ||
返回位于指定索引处的子显示对象实例。 | DisplayObjectContainer | ||
返回具有指定名称的子显示对象。 | DisplayObjectContainer | ||
返回 DisplayObject 的 child 实例的索引位置。 | DisplayObjectContainer | ||
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。 | DisplayObjectContainer | ||
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | DisplayObject | ||
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | DisplayObject | ||
将二维点从舞台(全局)坐标转换为三维显示对象的(本地)坐标。 | DisplayObject | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。 | DisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | DisplayObject | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
将三维显示对象的(本地)坐标的三维点转换为舞台(全局)坐标中的二维点。 | DisplayObject | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | ||
将此对象移动到指定的 x 和 y 坐标。 | SpriteAsset | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。 | DisplayObjectContainer | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置此对象的实际大小。 | SpriteAsset | ||
更改现有子项在显示对象容器中的位置。 | DisplayObjectContainer | ||
设置循环操作动态属性的可用性。 | Object | ||
允许用户拖动指定的 Sprite。 | Sprite | ||
结束 startDrag() 方法。 | Sprite | ||
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。 | DisplayObjectContainer | ||
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。 | DisplayObjectContainer | ||
返回一个字符串,用于指示此对象在应用程序的 DisplayObject 层次结构中所处的位置。 | FlexSprite | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
borderMetrics | 属性 |
borderMetrics:EdgeMetrics
[只读 (read-only)]
为具有四个属性(left
、top
、right
和 bottom
)的边框返回 EdgeMetrics 对象。每个属性值等于边框其中一条边的粗细(以像素为单位)。
public function get borderMetrics():EdgeMetrics
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
SpriteAsset | () | 构造函数 |
public function SpriteAsset()
构造函数。
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 — 此对象的新高度。 |