2013-03-02 60 views
2

我正在創建一個Air桌面應用程序。我使用Flash Player 10,ActionScript 3.0從FLA編譯SWF文件。使用SWFLoader與Flex

我現在試圖通過FlashDevelop使用mxml將SWF拉入我的桌面應用程序。

但是,無論何時運行我的應用程序,我的mxml都可以正確運行,但是SWF沒有像我期望的那樣導入;我收到一個空白的白色屏幕,雖然尺寸看起來是正確的。

<?xml version="1.0"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 

    <mx:SWFLoader width="950" height="500" source="..\..\..\bin\Gameseed.swf" /> 

</mx:Application> 

原始代碼(由FlashDevelop中產生):

這裏是我的MXML代碼,我已經從FlashDevelop中生成的默認改變

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/halo"> 

    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 


</s:Application> 

我聽說的SWFLoader只旨在用於次要用戶交互和動畫;我的SWF僅僅是一個帶有按鈕的背景圖像,所以我不知道這是否會在未來,當我開始添加更多的電影片段,如多屏幕的問題...

感謝

+0

您確定源目錄對於Gameseed.swf是否正確? Gameseed.swf與主應用程序的安裝目錄相關在哪裏? (或者如果你正在調試bin-debug目錄)。如果你使用完整的文件路徑,它會工作嗎?如果你使用像'file:// C:/something/something/bin/Gameseed.swf'這樣的文件URL,它會起作用嗎? – JeffryHouser 2013-03-02 19:57:24

+0

我的Main.mxml位於我的src文件夾下,我的SWF在bin下。 我試圖使用絕對路徑,以及文件的URL,但我得到同樣的問題。 – caubry 2013-03-02 20:19:57

+1

您不想使用相對於源文件夾的路徑;你想使用一個相對於你編譯輸出的地方的路徑。在Flash Builder中;這是bin-debug文件夾;我不確定FlashDevelop是如何做到的。最有可能你需要做的:source =「gameseed.swf」 – JeffryHouser 2013-03-02 21:01:18

回答

0

我發現我的問題是關於我的SWF文件。我所擁有的場景中有一個影片剪輯,其中包含多層更多的影片剪輯,因爲我認爲我可以通過它們的實例名稱訪問它們。當我刪除這種嵌套的方法時,編譯器似乎很高興。在最佳實踐方面,我是否應該爲應用程序的每個「頁面」分別提供一個SWF,或者在Flex中構建整個應用程序?感謝@ www.Flextras.com和@danii!

1

你是可能會收到沙箱安全違規,請使用Flash Player調試程序檢查實際的錯誤代碼和消息。一些常見的問題有:

希望這有助於!

相關問題