Vorrei sottoporvi un filmato che ho realizzato per aggirare un problema, ma che non si è rivelato esente da difetti.

Il problema iniziale:
ho un menu in flash composto da più di due bottoni, e alla pressione di questi bottoni voglio che scompaia un'immagine all'interno del filmato, e ne compaia una appropriata al link appena cliccato.
In sostanza se clicco il bottone 2 deve comparire l'immagine 2, e così via.
Il problema è far uscire, con una animazione, l'immagine attualmente visualizzata.

La mia soluzione:
ho creato 2 contenitori: A che contiene B, e nella cui timeline c'è l'animazione in cui B scompare dietro a una maschera; e B , che contiene le immagini, e le relative animazioni.
Alla pressione di un bottone si attiva subito l'animazione di uscita di B (che rientra subito), e dopo un tempo prestabilito (1 secondo) si attiva l'animazione di ingresso dell'immagine all'interno di B, appena ricomparso dentro A.

Funziona, ma si presentano due difetti non trascurabili:
1. a volte dopo l'uscita di B con l'immagine al suo interno, e prima che l'immagine rientri, B ricompare con l'immagine vecchia al suo interno per un fotogramma o due; problema probabilmente attribuibile all'impossibilità di temporizzare perfettamente l'animazione, e che per ora non sono riuscito ad aggirare;
2. ben più grave: se si clicca velocemente più volte lo stesso bottone, l'immagine ad esso associata 'impazzisce', e ripete all'infinito la propria animazione senza possibilità di fermarla se non chiudendo il filmato.

Potete offrirmi qualche idea per ovviare a questi difetti? Magari sostituendo il metodo della temporizzazione con uno più affidabile.

Potete vedere un esempio del filmato in questione, e scaricarne il sorgente, qui: http://wes.altervista.org/menu_pausa/
Lo script relativo ai bottoni è il seguente:

codice:
on (release) {
_root.cont_ext.gotoAndPlay("esce_img");

var Aspetta = 1000
function wait(){
_root.cont_ext.cont_int.gotoAndPlay("entra_1");
clearInterval(afterAspetta);
}

var afterAspetta=setInterval(wait,Aspetta);
stop();	
}
Nota:
cont_ext = A
cont_int = B

Vi ringrazio per ogni aiuto che potrete offrirmi.


SB