包 | mx.core |
类 | public class SpriteAsset |
继承 | SpriteAsset FlexSprite Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
实现 | IFlexAsset, IFlexDisplayObject, IBorder, ILayoutDirectionElement |
子类 | DefaultDragImage |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
您可以嵌入位于 SVG 文件中的矢量图形图像。还可以嵌入由 Flash 生成的 SWF 文件中的 sprite 元件。在这两种情况下,MXML 编译器自动生成了一个类,该类扩展 SpriteAsset 以呈示嵌入的矢量图形图像。
编写 Flex 应用程序时,通常无需直接使用 SpriteAsset 类。例如,您可以通过编写以下内容嵌入 SWF 文件中的 sprite 元件并将其显示在 Image 控件中:
<mx:Image id="logo" source="@Embed(source='Assets.swf', symbol='Logo')"/>
或者,通过编写以下内容使用 CSS 语法将其用作应用程序的背景图像:
<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx" mx|Application { backgroundImage: Embed(source="Assets.swf", symbol='Logo') } <fx: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}"/>
属性 | 由以下参数定义 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
InteractiveObject 实例的当前辅助功能实现 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。 | DisplayObject | ||
alpha : Number
表示指定对象的 Alpha 透明度值。 | DisplayObject | ||
blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。 | DisplayObject | ||
blendShader : Shader [只写]
设置用于混合前景和背景的着色器。 | DisplayObject | ||
borderMetrics : EdgeMetrics [只读]
为具有四个属性(left、top、right 和 bottom)的边框返回 EdgeMetrics 对象。 | SpriteAsset | ||
buttonMode : Boolean
指定此 sprite 的按钮模式。 | Sprite | ||
cacheAsBitmap : Boolean
如果设置为 true,则 Flash 运行时将缓存显示对象的内部位图表示形式。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果为非 null,则 Matrix 对象会定义显示对象在 cacheAsBitmap 设置为 true 时的呈现方式。 | DisplayObject | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
contextMenu : NativeMenu
指定与此对象相关联的上下文菜单。 | InteractiveObject | ||
doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。 | InteractiveObject | ||
dropTarget : DisplayObject [只读]
指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 | Sprite | ||
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | ||
focusRect : Object
指定此对象是否显示焦点矩形。 | InteractiveObject | ||
graphics : Graphics [只读]
指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘图命令。 | Sprite | ||
height : Number
表示显示对象的高度,以像素为单位。 | DisplayObject | ||
hitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。 | Sprite | ||
layoutDirection : String
指定元素的所需布局方向:LayoutDirection.LTR(从左到右)、LayoutDirection.RTL(从右到左)或 null(继承)。 | SpriteAsset | ||
loaderInfo : LoaderInfo [只读]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | ||
mask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。 | DisplayObject | ||
measuredHeight : Number [只读]
此对象的测量高度。 | SpriteAsset | ||
measuredWidth : Number [只读]
此对象的测量宽度。 | SpriteAsset | ||
metaData : Object
如果元数据是通过 PlaceObject4 标记与此 DisplayObject 的实例一起存储在 SWF 文件中的,则获取 DisplayObject 实例的元数据对象。 | DisplayObject | ||
mouseChildren : Boolean
确定对象的子级是否支持鼠标或用户输入设备。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
指定此对象是否接收鼠标或其他用户输入、消息。 | InteractiveObject | ||
mouseX : Number [只读]
表示此鼠标或用户输入设备位置的 x 坐标,以像素为单位。 | DisplayObject | ||
mouseY : Number [只读]
表示此鼠标或用户输入设备位置的 y 坐标,以像素为单位。 | DisplayObject | ||
name : String
表示 DisplayObject 的实例名称。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定当该 InteractiveObject 实例获得焦点时,是否显示虚拟键盘(显示在屏幕上的软键盘)。 | InteractiveObject | ||
numChildren : int [只读]
返回此对象的子项数目。 | DisplayObjectContainer | ||
opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | ||
parent : DisplayObjectContainer [只读]
表示包含此显示对象的 DisplayObjectContainer 对象。 | DisplayObject | ||
root : DisplayObject [只读]
对于加载的 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 | ||
softKeyboard : String
控制软键盘的外观。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定义当显示软键盘时应在屏幕上保留的区域(在 iOS 上不支持)。 | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
控制此 sprite 中的声音。 | Sprite | ||
stage : Stage [只读]
显示对象的舞台。 | DisplayObject | ||
tabChildren : Boolean
确定对象的子项是否支持 Tab 键。 | DisplayObjectContainer | ||
tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。 | InteractiveObject | ||
tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。 | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [只读]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 | DisplayObjectContainer | ||
transform : flash.geom: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 | ||
当某元素的 layoutDirection 更改或其父代的 layoutDirection 更改时,该元素必须调用该方法。 | SpriteAsset | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
将三维显示对象的(本地)坐标的三维点转换为舞台(全局)坐标中的二维点。 | DisplayObject | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | ||
将此对象移动到指定的 x 和 y 坐标。 | SpriteAsset | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 实例的子级列表中删除所有子 DisplayObject 实例。 | DisplayObjectContainer | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
显示虚拟键盘。 | InteractiveObject | ||
设置此对象的实际大小。 | SpriteAsset | ||
更改现有子项在显示对象容器中的位置。 | DisplayObjectContainer | ||
设置循环操作动态属性的可用性。 | Object | ||
允许用户拖动指定的 Sprite。 | Sprite | ||
使用户可以在启用触摸的设备上拖动指定的 Sprite。 | Sprite | ||
对源起于此对象的所有 MovieClip 递归停止时间轴执行。 | DisplayObjectContainer | ||
结束 startDrag() 方法。 | Sprite | ||
结束 startTouchDrag() 方法,用于启用触摸的设备。 | Sprite | ||
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。 | DisplayObjectContainer | ||
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。 | DisplayObjectContainer | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
[覆盖]
返回一个字符串,用于指示此对象在应用程序的 DisplayObject 层次结构中所处的位置。 | FlexSprite | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
borderMetrics | 属性 |
borderMetrics:EdgeMetrics
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
为具有四个属性(left
、top
、right
和 bottom
)的边框返回 EdgeMetrics 对象。每个属性值等于边框其中一条边的粗细(以像素为单位)。
实现
public function get borderMetrics():EdgeMetrics
layoutDirection | 属性 |
layoutDirection:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.1 |
运行时版本: | Flash Player 10, AIR 1.5 |
指定元素的所需布局方向:LayoutDirection.LTR(从左到右)、LayoutDirection.RTL(从右到左)或 null(继承)。此属性通常按继承样式回退。如果指定 null,则 layoutDirection 样式将设置为 undefined。类似 GraphicElement 的类(实现 ILayoutDirectionElement,但不支持样式)必须另外针对此属性支持 null 值,这意味着 layoutDirection 必须从其父代继承。
实现
public function get layoutDirection():String
public function set layoutDirection(value:String):void
measuredHeight | 属性 |
measuredWidth | 属性 |
SpriteAsset | () | 构造函数 |
public function SpriteAsset()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
invalidateLayoutDirection | () | 方法 |
public function invalidateLayoutDirection():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.1 |
运行时版本: | Flash Player 10, AIR 1.5 |
当某元素的 layoutDirection 更改或其父代的 layoutDirection 更改时,该元素必须调用该方法。如果它们不同,该方法负责镜像元素的内容以及更新元素的布局后转换,以便子代继承镜像的坐标系。IVisualElement 通常通过以下方法实现镜像:使用 postLayoutTransformOffsets 按 -1 缩放 X 轴以及按元素宽度平移原点的 x 坐标。此“镜像”转换的净效果是反转 X 轴增加的方向,而不更改元素相对于其父代的原点的位置。
move | () | 方法 |
setActualSize | () | 方法 |
public function setActualSize(newWidth:Number, newHeight:Number):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
设置此对象的实际大小。
此方法主要用于实现 updateDisplayList()
方法。在此期间,您可以根据其显式大小、相对于父项的(百分比)大小以及度量大小计算此对象的实际大小。然后,通过调用 setActualSize()
将此实际大小应用于对象。
在其他情况下,您应该设置 width
、height
、percentWidth
或 percentHeight
属性,而非调用此方法。
参数
newWidth:Number — 此对象的新宽度。
| |
newHeight:Number — 此对象的新高度。
|
Tue Jun 12 2018, 11:04 AM Z