Я создал пользовательское событие, которое должно запускаться при выполнении определенной функции в классе. Я слушаю это событие из своего основного сценария, обрамляя одну из моих временных рамок. Посмотрите код, чтобы лучше понять мой вопрос.
My CustomEvents.as
package {
import flash.events.Event;
public class CustomEvents extends Event {
public static const PAGE_EMPTY:String = "Page Empty";
public function CustomEvents(type:String) {
super(type);
trace("hello from within the event class!");
}
}
}
Функция в FRONT_PAGE.as, которая отправляет событие
public function exitPage(){
dispatchEvent(new CustomEvents(CustomEvents.PAGE_EMPTY));
var mainLinkExitMove:Tween = new Tween(mainLink, "y", Strong.easeOut, mainLink.y , -150, 3, true);
var gridExitMove:Tween = new Tween(grid, "y", Strong.easeOut, grid.y , -150, 3, true);
}
И, наконец, код, который вызывает вышеуказанную функцию и прослушивает возвращенное событие.
frontPage - это объект класса FRONT_PAGE.as, ранее объявленный в коде.
function gotoSubPage(){
frontPage.exitPage();
frontPage.addEventListener(CustomEvents.PAGE_EMPTY, ef_FrontPageFinishedExiting);
function ef_FrontPageFinishedExiting(event:CustomEvents){
trace("Event has been caught");
}
}
Я знаю, что достигаю конструктора CustomEvents, так как трассировка внутри него печатается.
Проблема в том, что событие не достигает функции вызывающей стороны?
Мне не удалось найти хороших примеров того, как использовать простые пользовательские события, поэтому я думаю, что так и должно быть. Что я делаю не так?