Как встраивать активы в flashbuilder

У меня есть приложение air, в которое я хочу добавить SWF-файл в папку активов, а затем определить его в моем файле MXML, как правильно сделать это, чтобы добавленный SWF-файл был включен в пакет установки Air? Будет ли он автоматически включен, если я просто добавлю его в папку с активами?

1 ответ

Если вы встраиваете ресурсы с тегом [Embed], они будут включены в приложение во время компиляции, и вам не нужно будет включать его отдельно в настройках пакета сборки. По сути, вам нужно только включить файлы в сборку вручную, если вы хотите загрузить их во время выполнения. Например, если у вас есть несколько изображений в папке ресурсов, которые вы хотите ЗАГРУЗИТЬ (не встраивать) во время выполнения, вам нужно будет включить папку ресурсов в сборку, чтобы они были там, когда приложение выполняется на клиенте.

Вы можете вставлять целые SWF-файлы:

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

Или просто некоторые символы из SWF:

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

Помните, что для символов вы должны назначить имя связывания этому символу (и, возможно, пометить его как "Экспорт для ActionScript" - не забывайте, если вам действительно нужно это сделать)

Тогда вы можете объявить свои вещи так:

// 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}" />
Другие вопросы по тегам