Professional Documents
Culture Documents
五、嵌入程序资源
原文作者:Aral Balkan
原文地址:http://www.adobe.com/devnet/flex/quickstart/embedding_assets/
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
提示:另一种嵌入资源的方法是在运行时加载它们。在运行时加载资源需要在程序
中部署它们,因为资源并没有编译到文件中。这种做法的好处是可以减小程序文件
的大小并加快程序的加载速度。
• 图像(多个实例)
• 图像(单个实例)
• 通过 scale-9 缩放的图像
• 用于 CSS 和皮肤的图像
• SWF 文件
• SWF 库资源
• 声音文件
• SVG 文件
• 字体
嵌入图像(多个实例)
下面这个例子使用[Embed]元数据标签将图像嵌入的程序中并且将其与一个可绑定
的 ActionScript 类相关联。然后 Image 控件的 source 属性被绑定到了 Logo 类。你
可以将 Logo 类绑定到任何组件的需要图像的属性上,比如 Button 控件的 icon 属性。
示例
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
viewSourceURL="src/EmbeddingImages/index.html"
layout="horizontal" width="350" height="250">
<mx:Script>
<![CDATA[
[Embed(source="assets/logo.png")]
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
[Bindable]
]]>
</mx:Script>
</mx:Application>
运行结果图示
嵌入一个图像(单个实例)
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
示例
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
viewSourceURL="src/EmbeddingAnImage/index.html"
width="200" height="240">
</mx:Application>
运行结果示例
下面的例子使用Embeded元数据标签创建scale-9 的网格并使用了网格线属性
scaleGridTop, scaleGridBottom, scaleGridLeft 和scaleGridRight。
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
示例
<mx:Script>
<![CDATA[
[Embed(
source="assets/fancy_border.png",
scaleGridTop="55", scaleGridBottom="137",
scaleGridLeft="57", scaleGridRight="266"
)]
[Bindable]
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
</mx:Script>
</mx:Application>
运行结果图示
使用 CSS 为皮肤嵌入图像
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
示例
<mx:Style>
Button
{
upSkin: Embed("assets/box_closed.png");
overSkin: Embed("assets/box.png");
downSkin: Embed("assets/box_new.png");
}
</mx:Style>
<mx:Button/>
</mx:Application>
运行结果图示
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
嵌入 SWF 文件
示例
<mx:Script>
<![CDATA[
[Embed(source="assets/hourglass.swf")]
[Bindable]
public var Hourglass:Class;
]]>
</mx:Script>
运行结果图示
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
嵌入 SWF 库资源
示例
<mx:Script>
<![CDATA[
[Embed(source="assets/library.swf", symbol="BadApple")]
[Bindable]
public var BadApple:Class;
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
[Embed(source="assets/library.swf", symbol="Pumpkin")]
[Bindable]
public var Pumpkin:Class;
]]>
</mx:Script>
</mx:Application>
运行结果图示
嵌入声音文件
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
示例
<mx:Script>
<![CDATA[
import mx.core.SoundAsset;
import flash.media.*;
[Embed(source="assets/pie-yan-knee.mp3")]
[Bindable]
public var Song:Class;
]]>
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
</mx:Script>
<mx:HBox>
<mx:Button label="play" click="playSound();"/>
<mx:htmlText>
<![CDATA[<a
href="http://derekaudette.ottawaarts.com/music.php">Pie-Yan-Knee Written
and Performed by: Derek R. Audette © 2004 (Creative Commons Attribution
License)</a>]]>
</mx:htmlText>
</mx:Text>
</mx:Application>
运行结果图示:
嵌入 SVG 文件
示例
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
<mx:Script>
<![CDATA[
[Embed(source="assets/frog.svg")]
[Bindable]
public var SvgFrog:Class;
]]>
</mx:Script>
运行结果图示:
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
嵌入字体
示例
<mx:Style>
@font-face
{
font-family: Copacetix;
src: url("assets/copacetix.ttf");
unicode-range:
U+0020-U+0040, /* Punctuation, Numbers */
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net
Adobe Flex Quick Starts 中文翻译之五:嵌入程序资源
.MyTextStyle
{
font-family: Copacetix;
font-size: 24pt;
}
</mx:Style>
</mx:Application>
运行结果图示:
更多信息
__________________________________________________________________________________
译者:Dreamer http://www.zhuoqun.net