Может поможет, точнее поможет, если Вы можете добавить экземпляр на сцену(Stage). Т.е это должно работать, если такая возможность есть.
(Изменил код, т.к более логичная идея появилась.)
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends Sprite
{
var map:Sprite;
var communication:Sprite;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
map = new Sprite();
map.graphics.lineStyle(1);
map.graphics.beginFill(0x000000);
map.graphics.drawCircle(250, 250, 50);
addChild(map);
map.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
stage.addEventListener(MouseEvent.MOUSE_DOWN, stageMouseDownListener);
communication = new Sprite();
communication.name = "communication";
stage.addChild(communication);
}
private function mouseDownListener(e:MouseEvent):void {
trace("down mouse at the map!");
communication.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN));
}
private function stageMouseDownListener(e:MouseEvent):void {
if (e.target == communication){
trace("stage event!" + " event target = " + e.target.name);
}
}
}
}