SpriteAsset is a subclass of the flash.display.Sprite class which
represents vector graphic images that you embed in an application.
It implements the IFlexDisplayObject interface, which makes it
possible for an embedded vector graphic image to be displayed in an Image
control, or to be used as a container background or a component skin.
The vector graphic image that you're embedding can be in an SVG file.
You can also embed a sprite symbol that is in a SWF file produced
by Flash.
In both cases, the MXML compiler autogenerates a class that extends
SpriteAsset to represent the embedded vector graphic image.
You don't generally have to use the SpriteAsset class directly
when you write a Flex application.
For example, you can embed a sprite symbol from a SWF file and display
it in an Image control by writing the following:
without having to understand that the MXML compiler has created
a subclass of BitmapAsset for you.
However, it may be useful to understand what is happening
at the ActionScript level.
To embed a vector graphic image in ActionScript, you declare a variable
of type Class, and put [Embed] metadata on it.
For example, you embed a sprite symbol from a SWF file like this:
[Bindable]
[Embed(source="Assets.swf", symbol="Logo")]
private var logoClass:Class;
The MXML compiler notices that the Logo symbol in Assets.swf
is a sprite, autogenerates a subclass of the SpriteAsset class
to represent it, and sets your variable to be a reference to this
autogenerated class.
You can then use this class reference to create instances of the
SpriteAsset using the new operator, and use APIs
of the Sprite class on them:
var logo:SpriteAsset = SpriteAsset(new logoClass());
logo.rotation=45;
However, you rarely need to create SpriteAsset instances yourself
because image-related properties and styles can simply be set to an
image-producing class, and components will create image instances
as necessary.
For example, to display this vector graphic image in an Image control,
you can set the Image's source property to
logoClass.
In MXML you could do this as follows:
Specifies the desired layout direction for an element: one of LayoutDirection.LTR
(left to right), LayoutDirection.RTL (right to left), or null (inherit).
Returns an EdgeMetrics object for the border that has four properties:
left, top, right,
and bottom.
The value of each property is equal to the thickness of one side
of the border, in pixels.
Implementation public function get borderMetrics():EdgeMetrics
layoutDirection
property
layoutDirection:String
Language Version :
ActionScript 3.0
Product Version :
Flex 4.1
Runtime Versions :
Flash Player 10, AIR 1.5
Specifies the desired layout direction for an element: one of LayoutDirection.LTR
(left to right), LayoutDirection.RTL (right to left), or null (inherit).
This property is typically backed by an inheriting style. If null,
the layoutDirection style will be set to undefined.
Classes like GraphicElement, which implement ILayoutDirectionElement but do not
support styles, must additionally support a null value for this property
which means the layoutDirection must be inherited from its parent.
Implementation public function get layoutDirection():String public function set layoutDirection(value:String):void
measuredHeight
property
measuredHeight:Number [read-only]
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The measured height of this object.
This is typically hard-coded for graphical skins
because this number is simply the number of pixels in the graphic.
For code skins, it can also be hard-coded
if you expect to be drawn at a certain size.
If your size can change based on properties, you may want
to also be an ILayoutManagerClient so a measure()
method will be called at an appropriate time,
giving you an opportunity to compute a measuredHeight.
Implementation public function get measuredHeight():Number
measuredWidth
property
measuredWidth:Number [read-only]
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The measured width of this object.
This is typically hard-coded for graphical skins
because this number is simply the number of pixels in the graphic.
For code skins, it can also be hard-coded
if you expect to be drawn at a certain size.
If your size can change based on properties, you may want
to also be an ILayoutManagerClient so a measure()
method will be called at an appropriate time,
giving you an opportunity to compute a measuredHeight.
Implementation public function get measuredWidth():Number
Constructor Detail
SpriteAsset
()
Constructor
public function SpriteAsset()
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Constructor.
Method Detail
invalidateLayoutDirection
()
method
public function invalidateLayoutDirection():void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.1
Runtime Versions :
Flash Player 10, AIR 1.5
An element must call this method when its layoutDirection changes or
when its parent's layoutDirection changes.
If they differ, this method is responsible for mirroring the element’s contents
and for updating the element’s post-layout transform so that descendants inherit
a mirrored coordinate system. IVisualElements typically implement
mirroring by using postLayoutTransformOffsets to scale the X axis by -1 and
to translate the x coordinate of the origin by the element's width.
The net effect of this "mirror" transform is to reverse the direction
in which the X axis increases without changing the element's location
relative to its parent's origin.
move
()
method
public function move(x:Number, y:Number):void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Moves this object to the specified x and y coordinates.
Parameters
x:Number — The new x-position for this object.
y:Number — The new y-position for this object.
setActualSize
()
method
public function setActualSize(newWidth:Number, newHeight:Number):void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Sets the actual size of this object.
This method is mainly for use in implementing the
updateDisplayList() method, which is where
you compute this object's actual size based on
its explicit size, parent-relative (percent) size,
and measured size.
You then apply this actual size to the object
by calling setActualSize().
In other situations, you should be setting properties
such as width, height,
percentWidth, or percentHeight
rather than calling this method.
Parameters
newWidth:Number — The new width for this object.
newHeight:Number — The new height for this object.