Я знаю, что подобные темы уже создавались и уже два дня пытаюсь разобраться. Прошу пожалуйсто помогите разобраться как этим пользоваться.
Я взял пример с этого же форума из одной темы:
Задаю вот этот код в Document class (Main)

Код AS3:
// документ класс
package {
import flash.display.*;
import flash.events.*;
public class Main extends Sprite {
private var game:Game;
public function Main() {
game = new Game();
addChild(game);
game.addEventListener(Game.BOOM,boomListener);
}
private function boomListener(e:Event):void{
trace("boom");
}
}
}
И создаю клип(квадратик и в тайм лайн не даю кода "stop();" а то лезет ещё больше ошибак) вытаскиваю его на stage и даю класс (Game)

Код AS3:
// мой пользовательский класс который диспатчит событие
package {
import flash.display.*;
import flash.events.*;
public class Game extends Sprite {
public static const BOOM:String = "boom";
public var dispatcher:EventDispatcher;
public function Game() {
dispatcher = new EventDispatcher(this);
addEventListener(Event.ENTER_FRAME,enterFrameListener);
}
private function enterFrameListener(e:Event):void{
trace("enterFrame");
dispatcher.dispatchEvent(new Event(Game.BOOM));
}
}
}
И ксожалению не работает. Опробовал следующее:
class Game extends EventDispatcher
и

Код AS3:
public function Main() {
this._game = new Game();
this.addChild(this._game);
this._game.dispatcher.addEventListener(Game.BOOM, this.boomListener);
}
Не помогло. Да и мне обращение наоборот нужно из родительского в класс потомка(ребёнка), ну для начала хотя бы это заставить работать. Если найдёте время помочь буду очень благодарен!