2012-05-22 61 views
0

我試圖嵌入SWF文件在其時間線定義爲我的Flex應用程序的一些幀標籤控制它:嵌入與幀標籤的SWF和Flex中

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="1000" height="563" creationComplete="doSomething()"> 

    <mx:Script> 
     <![CDATA[ 

      private var movieClip:MovieClip; 

      private function doSomething():void { 
       movieClip = swfFile.content as MovieClip; 
       movieClip.gotoAndPlay('playIntro'); 
       movieClip.addEventListener("swfFinished", doSomethingElse); 
      } 

      private function doSomethingElse():void { 
       // 
      } 

     ]]> 
    </mx:Script> 

    <mx:SWFLoader id="swfFile" width="1000" height="563" source="@Embed(source='test.swf')" /> 

</mx:Application> 

不過,我不能在這個控制SWF時間表方式...是否可以嵌入swf文件並以我想要的方式控制它?

謝謝!

+0

當你這樣做會發生什麼?完整的事件是否會觸發?如果它是movieclip null? –

+0

嗯,是的,似乎完全的事件根本不會觸發: - /我試圖把'creationComplete'放在'Application'類中,之後'movieClip'不爲空。但是,它仍然不會播放來自標記幀的影片。 – errata

回答

0

對此的一些搜索似乎表明,這是swf嵌入時發生的。如果你能擺脫不嵌入瑞士法郎,那麼做。

這裏有一個解決方案,我發現,允許嵌入的工作: http://iamjosh.wordpress.com/2008/04/09/embedding-flash-in-flex/

認爲問題可能在於Flash Player的安全模型,只是一種預感。它可能不允許這種類型的嵌入式SWF通信......但你可能會做一些像Security.allowDomain("*")(危險的快捷方式)。

但首先,請查看文檔的allowDomain,作爲文檔建議你也許可以做到這一點:

Security.allowDomain(loader.contentLoaderInfo.url); // 'loader' is a SwfLoader 

但我猜url可能會在嵌入情況下爲空:)

相關問題