2.4 用 SWFLoader 载入一个 SWF 文件
2.4.1 问题
你打算在 Flex 文件运行时,载入由 Flash cs3 或者 Flex 3 创建的外部 SWFs 文件。
2.4.2 解答
在运行时,用 SWFLoader 组件载入外部的 SWFs 文件。
2.4.3 讨论
要在运行时载入外部的 SWFs 文件,用 SWFLoader 组件。如下的示例载入了外部 SWFs 到 Canvas 容器内,这些 Canvas 容器又是一个 TabNavigator 的子级。 SWFLoader 的 source 属性指出了在运行时要载入的外部 SWFs 文件的路径。 Sub1.swf 是一个 Flex 3 应用;而 sub2.swf 却是用 Flash CS3 创建。
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical">
<mx:TabNavigator resizeToContent="true"
paddingTop="0">
<mx:Canvas>
<mx:SWFLoader source="assets/Sub1.swf"/>
</mx:Canvas>
<mx:Canvas>
<mx:SWFLoader source="assets/Sub2.swf"/>
</mx:Canvas>
</mx:TabNavigator>
</mx:Application>
SWFLoader 组件也能载入绑定到这个 Flex 应用中的 SWFs 。用 Embed 指令就可以了。在如下的例子中, Sub2.swf 会被编译进应用中去。
<mx:SWFLoader source="@Embed('assets/Sub2.swf')"/>