Да и нет.
Один из способов - просто переопределить функцию dispatchEvent:
override public function dispatchEvent(event:Event):Boolean
{
// Do something with event.
return super.dispatchEvent( event );
}
Проблема, однако, в том, что это не всегда работает - иногда dispatchEvent не вызывается, если дочерний объект что-то делает. Это также не будет работать, если вы не хотите создавать специальный класс для каждого экземпляра.
Другой альтернативой является перебор массива различных типов событий:
var evtTypes:Array = [ MouseEvent.CLICK, MouseEvent.ROLL_OVER,
MouseEvent.MOUSE_DOWN...
Event.ADDED, Event.ADDED_TO_STAGE... etc.];
for( var i:int = 0; i < evtTypes.length; i++ )
{
target.addEventListener( evtTypes[ i ], trace );
}
Проблема с этим методом в том, что вы не сможете захватывать пользовательские события, только события, которые есть в вашем списке. Я определенно рекомендовал бы второй метод для большинства проблем обучения и отладки.
Я полагаю, однако, более важный вопрос: «Что вы хотите сделать с этими событиями?» Большая часть документации перечисляет все события, которые объект отправит: если вы прокрутите документацию MovieClip , вы увидите пример.