包 | mx.core |
类 | public class SpriteAsset |
继承 | SpriteAsset ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
实现 | 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 — 此对象的新高度。 |