__etc, вот фрагмент кода одной из таких реализаций (при слишком быстром перемещении мыши не срабатывает, и при драге не срабатывает

):

Код:
var names_:Array = Array("rewindBtn_mc","playBtn_mc","forwardBtn_mc","stopBtn_mc"); //массив с именами кнопок меню
for (var i:Number =0; i<names_.length;i++) {//регистрация onRollOver, onRollOut, onDragOut событий для кнопок меню
_root.myPlayer_mc[names_[i]].onRollOver = function () {
_root.bFlag = true;
}
_root.myPlayer_mc[names_[i]].onRollOut = _root.myPlayer_mc[names_[i]].onDragOut =function () {
_root.outInt = setInterval(outInterval,_root.delay);
}
}
_root.myPlayer_mc.videoScr_mc.onRollOver = fOver; //регистрация событий onRollOver, onRollOut, onDragOut для мувика под менюшкой
_root.myPlayer_mc.videoScr_mc.onRollOut = _root.myPlayer_mc.videoScr_mc.onDragOut = fOut;
function overInterval (mc:MovieClip) { //интервальные функции введены с целью установления задержки
if (_root.overInt) { //чтобы переменная bFlag могла установиться
if(!_root.bFlag) {hideMenu ()} //bFlag = true если ымшь над кнопками меню
clearInterval(_root.overInt);
}
}
function outInterval () {
if (_root.outInt) {
_root.bFlag = false;
clearInterval(_root.outInt);
}
}
function fOver() {
delete(this.onRollOver);
if (!_root.bFlag) {showMenu ();}
this.onRollOut = this.onDragOut = fOut;
}
function fOut() {
delete(this.onRollOut);
delete(this.onDragOut);
_root.overInt = setInterval(overInterval,_root.delay,this);
this.onRollOver = fOver;
}
[iNils: Для оформления своего кода, надо использовать теги [code][/code]]