yo tengo este codigo en un mapa interactivo, donde se esconde el menu si no se usa, y aparece cuando el mouse pasa por la parte inferior del flash (como el menu de windows, aparece y desaparece paulatinamente).
Este codigo se coloca en el primer frame de la línea de tiempo del menu, es decir, tienes que hacer un movieclip con todos los botones del menu, y con un fondo transparente (tambien movieclip con nombre de instancia "FondoMenu") que ocupe el área del menú y un área sensible por arriba del menu; por ejemplo, la altura de mi menu es 40 px, y el fondo tiene de altura 40+30=70px, y sobrepasa el menu por la parte superior.
Código :
_global.objMenu = this;
Pos0 = this._y;
Pos1 = Pos0 - this._heigth;
swSobre = false;
FondoMenu.useHandCursor= false;
this._y = Pos1;
//**********************************************************************
IniciaMueve = function (swMuestra) {
if (swMuestra) { // muestra menu
if (_global.objMenu._y <= _global.objMenu.Pos1) return;
trace("Inicia Muestra menu");
_global.objMenu.PosFin = _global.objMenu.Pos1;
_global.objMenu.Inc = -8;
_global.objMenu.Saltar = 0;
} else {
if (_global.objMenu._y >= _global.objMenu.Pos0) return;
trace("Inicia Esconde menu");
_global.objMenu.PosFin = _global.objMenu.Pos0;
_global.objMenu.Inc = +3;
_global.objMenu.Saltar = 18;
}
_global.objMenu.swVisto = swMuestra;
_global.objMenu.onEnterFrame = MueveMenu;
}
//**********************************************************************
MueveMenu = function () {
_global.objMenu.Saltar--;
if (_global.objMenu.Saltar > 0) return;
_global.objMenu._y += _global.objMenu.Inc;
swTermina = false;
// trace("MueveMenu Saltar=" + _global.objMenu.Saltar + " PosY act=" + _global.objMenu._y + " PosFin=" + _global.objMenu.PosFin);
if (_global.objMenu.Inc > 0) { // esconde menu
if (_root._ymouse > _global.objMenu.Pos1 and _global.objMenu.swSobre) {
_global.objMenu.IniciaMueve(true);
return;
}
if (_global.objMenu._y >= _global.objMenu.PosFin) swTermina = true;
} else {
if (_global.objMenu._y <= _global.objMenu.PosFin) swTermina = true;
}
if (swTermina) {
_global.objMenu._y = _global.objMenu.PosFin;
_global.objMenu.onEnterFrame = DetectaMenu;
}
}
//**********************************************************************
DetectaMenu = function () {
if (_root._ymouse > _global.objMenu.Pos1 and _global.objMenu.swSobre) {
if (!_global.objMenu.swVisto) _global.objMenu.IniciaMueve(true);
} else {
_global.objMenu.IniciaMueve(false);
}
}
//**********************************************************************
FondoMenu.onRollOver = function () {
_global.objMenu.swSobre = true;
}
//**********************************************************************
FondoMenu.onRollOut = function () {
_global.objMenu.swSobre = false;
}
//**********************************************************************
function MenuFijo(objBoton){
objBoton.onRollOver = function () {
_global.objMenu.swSobre = true;
}
objBoton.onRollOut = function () {
_global.objMenu.swSobre = false;
}
}
//**********************************************************************
MenuFijo(BtnNavegador); // esto se hace para cada boton del menu
_global.objMenu.onEnterFrame = DetectaMenu;