如何在flashbuilder中嵌入资源

时间:2016-09-16 12:32:43

标签: flash-builder assets embedded-resource

我有这个air应用程序,我想在assets文件夹中添加一个swf文件,然后能够在我的mxml文件中定义它,正确的方法是什么,以便添加的swf文件包含在空中安装包?如果我将它添加到我的资产文件夹,它会自动包含吗?

1 个答案:

答案 0 :(得分:0)

如果您使用[Embed]标签嵌入资源,则资源将在编译期间包含在应用程序中,您不需要在构建包设置中单独包含它。基本上,如果要在运行时加载文件,则只需手动将文件包含到构建中。例如,如果资源文件夹中有一些图像要在运行时加载(未嵌入),那么您需要将assets文件夹包含在构建中,以便在应用程序运行时将它们放在那里。客户端。

你可以嵌入整个swfs:

[Embed(source="mySWF.swf")] 
public var mySwfClass:Class;

或者只是来自swf的一些符号:

[Embed(source='mySWF.swf', symbol='mySymbolLinkageName')] 
public var mySwfClass:Class;

请记住,对于符号,您必须为该符号指定一个链接名称(并且可能将其标记为"导出为动作脚本" - 不要记住,如果您确实需要这样做)

然后你可以宣布你的东西:

// if your swf or swf symbol has multiple frames it will become a MovieClipAsset
var myMovieClip:MovieClipAsset = new mySwfClass() as MovieClipAsset;

// if it has only one frame it is a SpriteAsset:
var mySpriteAsset:SpriteAsset = new mySwfClass() as SpriteAsset;

如果您只使用MXML,您通常可以直接将类传递给组件而无需进行强制转换和实例化:

<mx:Button id="myButton" label="Button" icon="{mySwfClass}" />