я когда-то писал в исходники такую штуковину...
но это было давно и не правда :)
сейчас я бы сделал так:

Код:
// —————————————————————————————————
// doubleclick event
Mouse.addListener(Mouse);
// dblclick time (msec)
Mouse.doubleClickTime = 300;
// global dblclick event generator
Mouse.onMouseDown = function() {
var md = Mouse.onMouseDown;
trace("["+md.click+"]"+(getTimer()-md.click)+" :: "+Mouse.doubleClickTime);
if (md.click && (getTimer()-md.click<=Mouse.doubleClickTime)) {
this.broadcastMessage("onDoubleClick");
} else {
md.click = getTimer();
}
};
Mouse.onMouseMove = function() {
Mouse.onMouseDown.click = 0;
};
// —————————————————————————————————
// sample:
// **
Mouse.addListener(this);
// **
this.onDoubleClick = function() {
trace(this+" : doubleclicked");
};
для использования события необходимо только подписать нужны объект на события мышки, и создать обработчик onDoubleClick.
Mouse.doubleClickTime - это время между кликами в милисекундах
таким образом занят только обработчик Mouse.onMouseDown
кстати, обратите внимание на отсутствие конструкции ASBroadcaster.initialize(Mouse); которая разрешила бы объекту Mouse передавать события). объект Mouse и так передает события.