Ciao..
Questo comportamento, da quanto hai scritto, è più che giusto perchè la funzione onEnterFrame che hai dichiarato viene sempre considerata anche dopo che MC1 si porta sul frame "r2".MC1 si porta sì sulla seconda label, ma ne rimane bloccato, come se ci fosse un comando stop();
Infatti la condizione indicata
... una volta resa vera, porterà "ripetutamente" MC1 sul frame "r2", a prescindere dall'azione gotoAndPlay.codice:if (getTimer()-tempo>5000) { _root.MC1.gotoAndPlay("r2"); }
Analogamente con questa azione
sarà eseguito ripetutamente il play che farà "saltare" gli eventuali stop presenti nella time-line.codice:_root.MC1.play();
Una soluzione potrebbe essere quella di eliminare la funzione onEnterFrame una volta verificata la condizione, ad esempio in questo modo:
Però a mio parere il metodo che hai utilizzato non è tanto pulito.codice:onEnterFrame = function () { if (getTimer()-tempo>5000) { _root.MC1.gotoAndPlay("r2"); delete onEnterFrame } }
Ti consiglierei l'utilizzo del setInterval per creare delle temporizzazioni in modo più preciso.
Eventualmente consulta la guida in linea di Flash o cerca l'argomento sul forum, sicuramente è stato già discusso varie volte.
![]()


Rispondi quotando