2009-02-18 126 views
1

我對Flash很新,我需要幫助來開始構建多頁Flash應用程序。多頁Flash應用程序

我設法通過調用這個函數

private function LoadExternalSwf(): void 
    { 
     var loader:Loader = new Loader(); 
     var urlReq:URLRequest = new URLRequest("page1.swf"); 
     loader.load(urlReq); 
     addChild(loader); 
    } 
  1. 打開另一個SWF文件從主SWF內(稱爲第1頁)你如何排序「後退」按鈕添加到第1頁,以便它會自動關閉(以便我們回到主屏幕)?

  2. 如果Page1是一部電影,是否可以在完成播放後自動關閉它?

(我使用Flash CS3,Flex Builder中3,AS3)

謝謝

回答

0

解決方案:

從第1頁:

// Dispatch a "pageFinish" event to the loader/parent/container if any 
if (loaderInfo.loader) 
    loaderInfo.loader.dispatchEvent(new Event("pageFinish", true)); 

從主SWF:

// Listen for the "pageFinish" event 
loader.addEventListener(EVENT_PAGEFINISH, OnPageFinish); 

... 

private function OnPageFinish(event: Event): void 
{ 
    ... 
} 
2

你怎麼一種 「後退」 按鈕 添加到第1頁,這樣它會關閉本身 (讓我們回到主屏幕 )?

有很多方法可以做到這一點。您可以通過將其可見性設置爲false來隱藏頁面,您可以將其從舞臺上移開,以使其無法看到,或者可以完全刪除動畫片段(以及其他可能的選項)。基本上完全取決於你,你必須選擇最適合你的目的的選擇。

在您的示例中,您希望page1.swf具有一個按鈕,當單擊該按鈕時,它會告訴它的父級執行某些操作。我個人會建議這種情況發生在單擊按鈕時調度一個事件。家長然後可以爲該事件收聽page1。當它捕捉到該事件時,您可以選擇如何處理page1。

我建議你閱讀一些關於actionscript 3中的事件的文章,以瞭解它是如何實現的。嘗試this one對於初學者

如果第一頁是一部電影,是有可能 它 播放完之後自動關閉呢?

是的,這也是可能的,我會再次使用上述同樣的方法。在最後一幀發送一個事件(或者至少你知道最後一幀已經被擊中),告訴它的父母做某事。

+0

感謝詹姆斯。我讀過這個鏈接,我會試試它。 現在是否有任何標準事件類型要派遣以告訴父母它已完成? (或任何標準/普通名稱或派遣活動的方式?) 謝謝! – Aximili 2009-02-20 00:39:15