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.