Quick tip: embedding in Flex
In Flex application, you can embed your assets into 3 places: ActionScript, MXML, CSS. To embed into ActionScript use following syntax:
[Embed(source="assets/image.png")] public var imageClass:Class; [Embed(source="assets/library.swf", symbol="symbol1")] public var symbol1Class:Class; // flash library symbol alternative [Embed(source="assets/library.swf#symbol2")] public var symbol2Class:Class;
To embed into MXML use:
<mx:Image source="@Embed('assets/image.png')"/>
<mx:Image source="@Embed('assets/library.swf', symbol='symbol1')"/>
<mx:Image source="@Embed('assets/library.swf#symbol2')"/>
<mx:Button skin="{null}"/>
To embed asset into CSS file use syntax:
Button
{
upSkin: Embed(source="assets/image.png");
overSkin: Embed(source="assets/library.swf", symbol="symbol1");
downSkin: Embed(source="assets/library.swf#symbol2");
selectedUpSkin:ClassReference(null);
}
@font-face
{
font-family: Copacetix;
src: url("assets/copacetix.ttf");
unicode-range:
U+0020-U+0040, /* Punctuation, Numbers */
U+0041-U+005A, /* Upper-Case A-Z */
U+005B-U+0060, /* Punctuation and Symbols */
U+0061-U+007A, /* Lower-Case a-z */
U+007B-U+007E; /* Punctuation and Symbols */
}
Embedding font to .as (.mxml):
[Embed(source="../arial.ttf", fontFamily="myArial")]
public static const FONT_ARIAL:Class;
public static const FONT_ARIAL_NAME:String = "myArial";
[Embed(source="../fonts.swf", fontName="myCourier", fontWeight="bold|normal") ]
public static const FONT_COURIER:Class;
Font.registerFont(FONT_COURIER);
public function Test()
{
var format:TextFormat = new TextFormat();
format.font = FONT_ARIAL_NAME;
var tf:TextField = new TextField();
tf.embedFonts = true;
tf.defaultTextFormat = format;
}
Read more about embedding assets into ActionScript best practices here. Read basics about embedding here.
