Flash: отправка / обработка событий - PullRequest
0 голосов
/ 20 февраля 2009

У меня есть приложение Flash (main_container.swf), которое загружает другой файл SWF (page1.swf).

Я хочу отправить событие, когда страница1 закончила, и сказать main_container закрыть страницу 1.

Это как вы отправляете событие со страницы 1 в main_container?

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

Тогда как вы ловите событие из main_container? Я попробовал это, но это не сработало.

loader.addEventListener("pageFinish", OnPage1Finish);

Спасибо.

1 Ответ

1 голос
/ 20 февраля 2009

Самый простой способ это просто

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

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

Конечно, вам нужно подождать, пока загрузчик не получит .content для вас, чтобы добавить слушатель, вы можете подождать Event.INIT из loader.contentLoaderInfo перед добавлением полного слушателя или отправки на загрузчик:

// 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"));
...