2013-05-01 109 views
0

我用按鈕爲我的遊戲創建了一個菜單,而不是一個名爲Menu的單獨.fla文件。我的實際遊戲是另一個名爲Game.fla的.fla文件。我想知道在遊戲開始之前加載這個菜單的最佳方式是什麼?遊戲主菜單

謝謝。

回答

0

我會建議你創建一個與名爲.swc您Menu.fla,然後只需添加到名爲.swc您Game.fla

如果使用CS6,請確保您的任何設置聯動您想要在代碼中創建實例的MovieClip。

在庫路徑選項卡上的actionscript設置中,您可以添加一個.swc,它在編譯時將包含在.swf中。

在您的代碼,您現在就可以創建一個實例,並添加到顯示列表中:

// Assuming MainMenu was a movieclip with linkage set in your .swc 
var mainMenu:MainMenu = new MainMenu; 
addChild(mainMenu); 

我要指出,這並不在運行時加載的名爲.swc,它包括對名爲.swc你。在編譯時swf。在大多數情況下,我會推薦通過加載.swf的方法。我可能不會的情況是,如果有大量內容不是一次都需要的話。這將允許您最大限度地減少您使用的內存量,並減少主.swf的.swf大小,以便加載更快。

無論何時,當您在運行時加載.swf文件時,您都會添加另一層複雜性,所以除非您有充分理由這麼做,否則我不會推薦它。從你所描述的,這聽起來不像我在運行時加載外部.swf的情況。

+0

好的,我創建了.swc文件,但是如何添加並在遊戲之前顯示它? – David 2013-05-01 19:39:27

+0

你有CS6嗎? – prototypical 2013-05-01 19:43:02

+0

我確實有Adobe Flash CS6 yes – David 2013-05-01 19:47:54

0

從Menu.fla加載swf輸出,並檢查loader的progressEvent。在Menu.swf完全加載並初始化之前,不要顯示遊戲屏幕。

有關OP的更多詳細信息: 您可以通過http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#load%28%29加載外部swfs。 init事件會標記swf的actionscript已經開始執行。 OTOH,完整的事件會告訴所有的SWF字節已經加載。

+0

對不起,你好嗎? – David 2013-05-01 14:16:31

+0

增加了一些更多的信息給答案。 – catholicon 2013-05-01 15:18:52

+0

您還沒有添加孩子的裝載機。另外,你似乎沒有在聽從loader的事件......這可能是好的,但是如果沒有聽到事件,你的遊戲會在main.swf加載並顯示之前開始。 – catholicon 2013-05-01 20:11:25