0

別の swf ファイル (page1.swf) をロードする Flash アプリケーション (main_container.swf) があります。

page1 が終了したときにイベントをディスパッチして、main_container に page1 を閉じるように指示したいと考えています。

これは、page1 から main_container にイベントをディスパッチする方法ですか?

parent.dispatchEvent(new Event("pageFinish", true));

それでは、main_container からどのようにイベントをキャッチしますか? これを試しましたが、うまくいきませんでした。

loader.addEventListener("pageFinish", OnPage1Finish);

ありがとうございました。

4

1 に答える 1

1

最も簡単な方法は

// main, somewhere
loader.content.addEventListener("imDone", imDoneListener);

// page1 timeline/doc class
dispatchEvent(new Event("imDone"));

もちろん、リスナーを追加するための .content がローダーに用意されるまで待つ必要があります。完全なリスナーを追加するか、ローダーでディスパッチする前に、loader.contentLoaderInfo からの Event.INIT を待つことができます。

// page1 again, parent.dispatchEvent() would also work
// if you don't reparent the content (which is a bad idea, it confuses Loader)
loaderInfo.loader.dispatchEvent(new Event("imDone"));
于 2009-02-20T04:32:47.450 に答える