Ok, era quello che avevo immaginato.
Ovviamente è un problema di priorità dell'interazione sui diversi pulsanti.
Quando passi sul pulsante 2, che sta ad un livello superiore rispetto al pulsante 1, avviene il rollOut del pulsante 1.
Puoi risolvere in vari modi.
Secondo me potresti utilizzare una variabile di controllo che venga impostata su ciascun pulsante e un timer, attivato al rollOut, con una condizione che verifichi poi lo stato della variabile.
Ti posto un esempio dovrai metterlo sul primo frame e istanziare adeguatamente ciascun pulsante:
Codice PHP:
// definisco le variabili
var isOver = false;
var timer;
// funzione richiamata per abilitare o disabilitare i pulsanti di controllo
function showControls(v) {
pulsante_a._visible = v;
pulsante_b._visible = v;
pulsante_c._visible = v;
}
// funzione richiamata quando passo sopra un qualsiasi pulsante
function over() {
// abilito i pulsanti se non sono già abilitati
if (!isOver) {
isOver = true;
showControls(true);
}
}
// funzione richiamata quando esco da un qualsiasi pulsante
function out() {
isOver = false;
// imposto un timer che esegue una verifica dopo 2 secondi
// se non sono più sopra nessun pulsante allora disattivo i pulsanti di controllo
clearTimeout(timer);
timer = setTimeout(function () {
if (!isOver) {
showControls(false);
}
}, 2000);
}
// associo gli eventi alle relative funzioni
zona_attiva.onRollOver = over;
pulsante_a.onRollOver = over;
pulsante_b.onRollOver = over;
pulsante_c.onRollOver = over;
zona_attiva.onRollOut = zona_attiva.onReleaseOutside=out;
pulsante_a.onRollOut = pulsante_a.onReleaseOutside=out;
pulsante_b.onRollOut = pulsante_b.onReleaseOutside=out;
pulsante_c.onRollOut = pulsante_c.onReleaseOutside=out;
// disabilito i pulsanti di controllo
showControls(false);
L'ho commentato ma se ci sono parti che non ti sono chiare fammi sapere.
Ovviamente lo dovrai poi adeguare alla tua applicazione.