Flash: cambio di scena

Di: taty81 | 26/09/2020 18:51:18
Ciao a tutti e grazie in anticipo per l'attenzione!
Ho un piccolo quesito da porvi che da qualche giorno stà diventando un grosso problema.
Ho creato un filmato composto da 3 scene: nella prima c'è il preload, nella seconda scena un'animazione che parte automaticamente alla fine del preload e la terza serve per visualizzare alcune immagine con il LoadMovie.
L'animazione della seconda scena continua fino a che l'utente non iteragisce con la stessa cliccando su alcuni pulsanti che appunto dovrebbero passare alla terza scena e richiamare l'immagine da visualizzare.
il problema è che invece di andare alla 3 scena, il click sui pulsanti fa ripartire l'animazione della seconda scena dall'inizio.
Riporto il codice ActionScript:
- sul primo fotogramma della scena 3 ho messo
loadMovie(variabile,"film");
stop;
dove "variabile" è il nome della variabile e "film" è il nome dell'istanza su cui vado a richiamare il clip
- poi,per ogni pulsante
on (release) {
_global.variabile = "swf/clip8_9.swf";
gotoAndPlay("scena3",1);
}
dove determino la variabile e indico il percorso del file da richiamare
Ho fatto prove su prove ma non c'è verso. Non funziona!
Help!!!

Risposte



il problema è gotoAndPlay....
goto = vai a
And Play = e riproduci
Quindi il tuo filmato si sposta sì al fotogramma 1 delle scena 3, ma subito avvia la riproduzione, arrivato al termine riparte dalla scena 1 che è il preload, quindi non lo vedi perché si sposta subito alla successiva scena.
Rimpiazza gotoAndPlay con gotoAndStop.

Di: Professore | 26/09/2020 18:52:18


Il gotoAndPlay stà sui pulsanti, dopo il click dei quali deve partire la riproduzione del clip relativo al pulsante. Quindi lì dovrebbe andare il gotoAndPlay
Cmq, tanto è che non so + che fare che ho provato a modificare il file come hai detto.
Niente da fare

Di: taty81 | 26/09/2020 18:52:18


Ciao Taty,
Ricapitoliamo...
Hai tre scene.
La prima scena è un preload, quindi avrà uno script che controlla se il filmato principale è stato caricato, dopo di che si sposta alla scena successiva.
La seconda scena contiene dei pulsanti, ognuno di questi pulsanti deve memorizzare il nome del clip da caricare e poi deve spostarsi alla scena 3, il cui nome è "scena3".
on (release) {
_global.variabile = "swf/clip8_9.swf";
_root.gotoAndStop("scena3",1);
}
La terza scena deve caricare il movieclip, il cui nome è contenuto all'interno della variabile _global.variabile, utilizzando come segnaposto l'istanza denominata film.
_root.film.loadMovie(variabile);
stop();
Dovrebbe funzionare, se non funziona dobbiamo andare alla ricerca di qualcosa che fa ripartire la scena 2 dall'inizio...
Possibili candidati:
1. Il filmato caricato contiene un riferimento a _root, magari un _root.play() o un _root.gotoAndPlay(), che spiegherebbe perché l'animazione principale riparte.
2. Il nome della terza scena non è "scena3" oppure il nome "scena3" è assegnato alla seconda scena.
3. C'è un intervallo impostato da qualche parte, magari nel preload, che non è stato eliminato. Questo spiegherebbe l'avvio dell'animazione ma non avrebbe nessuna connessione con la pressione dei pulsanti.
Non so aiutarti ulteriormente, se vuoi postare il sorgente gli darò un'occhiata.

Di: Professore | 26/09/2020 18:52:18


Ti ringrazio per l'aiuto,ma per l'ennesima volta non va.
Approfitto della tua gentilezza e disponibilità e non appena mi metterai a conoscenza del tuo indirizzo e-mail provvederò quanto prima ad inviarti il file sorgente, almeno così troveremo una soluzione a quello che stà diventando un enigma.
Grazie infinitamente.
-----------------------
Dopo numerosi tentativi ovviamente tutti falliti, ho trovato un modo per modificare il file in modo tale da aggirare il problema. Grazie comunque per il tuo aiuto

Di: taty81 | 26/09/2020 18:52:18