(кастомный ивент мне было лень писать):

Код:
package {
import flash.display.Sprite;
import flash.events.Event;
public class Dispatcher extends Sprite {
public function Dispatcher() {
super();
super.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
}
private function enterFrameHandler(event:Event):void {
super.dispatchEvent(new Event('custom', true));
}
}
}

Код:
package {
import flash.display.Sprite;
import flash.events.Event;
public class Listener extends Sprite {
public function Listener() {
super();
super.addEventListener('custom', this.customHandler);
super.addChild(new Dispatcher());
}
private function customHandler(event:Event):void {
trace(event);
}
}
}
На выходе получаем:

Код:
[Event type="custom" bubbles=true cancelable=false eventPhase=3]
[Event type="custom" bubbles=true cancelable=false eventPhase=3]
[Event type="custom" bubbles=true cancelable=false eventPhase=3]
[Event type="custom" bubbles=true cancelable=false eventPhase=3]
[Event type="custom" bubbles=true cancelable=false eventPhase=3]
[Event type="custom" bubbles=true cancelable=false eventPhase=3]
[Event type="custom" bubbles=true cancelable=false eventPhase=3]