我没有处理试图弄清楚将参数传递给嵌入式 SWF 的问题,而是继续使用不同的值编译了 20 个 SWF。这些 SWF 现在位于我的 Flash Builder 应用程序中。
每个 SWF 都有一个状态(使用 includeIn),因此当用户单击按钮切换状态时,会显示相应的 SWF。
问题在于,当用户查看 SWF 时,它仍处于加载状态并在后台运行。我想在用户离开状态时卸载查看的 SWF,然后在再次需要时加载它。如果这是不可能的,那么我将满足于在进入状态时简单地重新加载 SWF,而让其他 19 个在后台运行。
我有以下内容:
<fx:Script><![CDATA[
private var flashMovie1:MovieClip;
private var flashMovie2:MovieClip;
private function initFirst():void{
flashMovie1 = dmp_first.content as MovieClip;
}
private function initSecond():void{
flashMovie2 = dmp_second.content as MovieClip;
}
protected function btnFirst_clickHandler():void
{
flashMovie2.Stop();
currentState='First';
flashMovie1.Play();
}
protected function btnSecond_clickHandler():void
{
flashMovie1.Stop();
currentState='Second';
flashMovie2.Play();
}
]]></fx:Script>
<mx:SWFLoader id="dmp_first" includeIn="First" source="assets/images/dmp_first.swf" complete="initFirst()"/>
<mx:SWFLoader id="dmp_second" includeIn="Second" source="assets/images/dmp_second.swf" complete="initSecond()"/>
除了上面的代码根本不能与停止和播放一起工作外,我仍然不知道如何强制 SWF 重新加载。任何帮助将不胜感激!