Mah... io col ciclo for + enterframe non faccio altro che assegnare l'enterframe a tutti i vari n elementi del menu, e riesco tranquillamente ad ottenere l'effetto che volevo.
Ho provato ad usare questa soluzione proprio per poter cancellare l'enter frame una volta che il menù è nella posizione desiderata, cosa che al momento non mi riesce...
Questo è il codice che ho utilizzato:
codice:
// funzione spostamento
MovieClip.prototype.sposta=function(i, quanto) {
this.onEnterFrame=function() {
w=this._y;
t=eval("p"+(i-1))._y;
//ogni elemento si muove seguendo il superiore + eventuale spazio apertura
fine=t+24+quanto;
this._y=((fine-w)/5)+w;
if(Math.abs(this._y-fine)<=.5) {this._y=fine;
// delete this.onEnterFrame; non funziona
}
}
}
// funzione richiamata alla pressione di un elemento
function muovi(quale, quanto) {
// estrapolo il nome dell'elemento: p1->1 p2->2...
questo=new String(quale);
questo=parseInt(questo.substr(1,2));
//lancio il ciclo per i movimenti
for(i=2;i<=_root.menu_tot;i++) {
if(i==(questo+1)) {eval("p"+i).sposta(i, quanto);}
else {eval("p"+i).sposta(i, 0);}
}
}
Ho provato ad usare questo sistema proprio per poter interrompere gli enterframe (cosa non possibile con i onClipEvent(Enterframe)) e, ripeto, funziona esattamente come se usassi degli onClipEvent però:
1. non riesco ugualmente a stoppare onEnterFrame;
2. ho il sospetto che così la cpu sia più impegnata...
:master: