зачем в Game диспатчер? спрайт тоже диспатчер сам по себе.

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

Код AS3:
game.someFunction(...)
что именно вам надо делать?
вот так можно повесить слушателя события происходящего в 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(Event.ENTER_FRAME, game.mainEnterFrameListener);
}
}
}