Да, это возможно. Если вы хотите встроить другой SWF-файл в ваше Flex-приложение, у вас есть несколько вариантов.
Опция 1 - встроить swf, встроенный, в компонент SWFLoader. Эта опция имеет некоторые недостатки безопасности, так как SWF-файл загружается в другой домен приложения, поэтому связь между вашим Flex-приложением и встроенным контентом иногда может быть затруднена. Вы можете присвоить этому компоненту идентификатор, прослушать событие complete, а затем обратиться к свойству содержимого SWFLoader, чтобы получить доступ к загруженному SWF. Что-то вроде:
<mx:Script>
<![CDATA[
private function completeHandler(event : FlexEvent) : void
{
trace(mySwfLoader.content);
}
]]>
</mx:Script>
<mx:SWFLoader id="mySwfLoader" source="@Embed(source='YourSwf.swf') complete='completeHandler(event)" />
Вариант 2 - Вы можете использовать метатег, чтобы встроить SWF как класс, а затем создать экземпляр этого класса в коде. Это дает большую гибкость, но вы теряете преимущества возможности декларативного добавления объекта. Что-то вроде:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="creationCompleteHandler(event)">
<mx:Script>
<![CDATA[
[Embed(source="mySourceSwf.swf")]
private var mySourceSwfClass : Class
private function creationCompleteHandler(event : FlexEvent) : void
{
var mySourceSwf = new mySourceSwfClass();
myCanvas.addChild(mySourceSwf);
trace(mySourceSwf);
}
]]>
</mx:Script>
<mx:Canvas id="myCanvas" />
</mx:Application>
Вариант 3 - У меня нет swf вообще. Имейте все, что вы хотите встроить в UIMovieClip в FLA. Затем вы можете создать файл .swc всякий раз, когда публикуете этот фла. Затем вы можете ссылаться на этот файл SWC в Flex Builder. Затем он автоматически добавит этот MovieClip в качестве ссылочного в вашем проекте (это может потребовать дополнительного изучения с вашей стороны). По сути, вы можете сделать что-то вроде:
<local:MyMovieClipInSwc id="myMovieClip" />
Таким образом, вы получаете преимущества обоих миров, декларативной разметки и всего в одном домене приложения. Одна вещь, которую я хотел бы сказать об этом методе, заключается в том, что Adobe по-королевски объединилась с классом UIMovieClip, и его производительность - отстой. Просто знайте, что если вы начнете использовать это везде, приложение может стать очень вялым.