Flash: movie clip in uscita

Di: taukai | 26/09/2020 18:02:13
Ciao tutti, scrivo per un semplice motivo, sono purtroppo Poco pratico di flash, sto studiando su due libri ma non ho trovato risposta a questo quesito.
Io devo creare un filmato dove cliccando sui bottoni compaiono altri filmati. E questo l'ho imparato anche grazie a voi, ma ora mi si pone un quesito, quando clicco su un tasto per fare entrare il filmato, vorrei che il filmato precedente scompaia gradatamente o esca di scena, ma non di colpo non so se mi sono spiegato, come per esempio in qeusto sito che cliccando sul pulsante si chiudono le porte e riaprendosi appare il nuovo mc
Qualcuno mi può aiutare? grazie mille

Risposte



Presupponendo che utilizzi file esterni, uno per ogni filmato e che i pulsanti si trovino sulla root (movie principale):
sul 1 frame della root: sezione="";
sul frame che caratterizza la fine del filmato, cioè quando questo è completamente visualizzato: stop();
dal frame immediatamente successivo crei un'animazione di uscita
sull'ultimo frame dell'animazione di uscita: loadMovieNum(_level0.sezione+".swf",1);
su ogni pulsante:
on(press){
if("nome filmato corrispondente" != _root.sezione){
_root.sezione="nome filmato corrispondente";
_level1.play();
}
}
"nome filmato corrispondente" (le virgolette servono per definire una stringa) deve concidere con il nome del file swf esterno.
Il modo più semplice che conosco per fare quello che hai chiesto, sono andato a memoria, e anche se il tutto è molto semplice, spero di essere stato chiaro e non aver commesso errori.

Di: goku | 26/09/2020 18:02:13


Ciao Goku grazie mille per la risposta, purtroppos cusami ma sono proprio alle prime armi e volevo porti questo cquesito, poi provo a lavorare sul codice che mi hai postato. l'animazione d'uscita la devo creare sul filmato che ho importato giusto e non sul contenitore?
loadMovieNum(_level0.sezione+".swf",1); lo devo inserire sull'ultimo frame di ogni filmato importato giusto?? il level 0 o level 1 sta sul livello su cui voglio metterlo giusto?? quindise per esempio io volessi mettere il filmato sul livello 5 farei:loadMovieNum(_level5.sezione+".swf",1);
mentre sui pulsanti
on(press){
if("nome filmato corrispondente" != _root.sezione){
_root.sezione="nome filmato corrispondente";
_level5.play();
}
}
è esatto???
grazie ancora per la cortesia

Di: taukai | 26/09/2020 18:03:13


Ciao Goku ho provato ma non mi esce nulla (mi puoi dare ancora una mano per cortesia?

Di: taukai | 26/09/2020 18:03:13


quando carichi un filmato esterno swf con il comando loadMovieNum, specifichi il nome del file e il livello su cui vuoi caricarlo, es:
loadMovieNum("filmato.swf",1);
per accedere dal filmato esterno caricato, in questo caso caricato sul livello 1, al movie contenitore devi usare il target _level0.
loadMovieNum(_level5.sezione+".swf",1); sbagliato
loadMovieNum(_level0.sezione+".swf",5); corretto
on(press){
if("nome filmato corrispondente" != _root.sezione){
_root.sezione="nome filmato corrispondente";
_level5.play();
}
}
questo è corretto
per quanto riguarda l'animazione di uscita va sul filmato esterno, come anche l'azione loadMovieNum(_level0.sezione+".swf",1);

Di: goku | 26/09/2020 18:03:13


Goku scusami ma ho bisogno ancora del tuo aiuto, ho fatto come mi hai detto tu ma non funziona nulla, sicuramente sono io che sbaglio. Ora riassumo
Quindi creo unfilmato contenitore che chiamo "principale" ed il filmato da caricare che chiamo "1.swf" ad un certo punto inserisco il bottone che mi deve caricare il nuovo filmato ed inserisco questo codice.
on(press){
if("1.swf" != _root.sezione){
_root.sezione="1.swf";
_level5.play();
}
}
ora nel filmato che devo caricare inserisco l'animazione di uscita e quest action sul frame 1
loadMovieNum(_level0.sezione+"1.swf",5)
dove sbaglio??
grazie ancora per l'aiuto

Di: taukai | 26/09/2020 18:03:13


Innanzitutto i nomi dei filmati esterni falli iniziare con una lettera.
Poi, quando setti la variabile con il nome del swf esterno, fallo senza estensione:
_root.sezione="1";
perché verrà aggiunta nel comando di caricamento loadMovieNum
Ancora, il comando: loadMovieNum(_level0.sezione+"1.swf",5); è sbagliato,
loadMovieNum(_level0.sezione+".swf",5) corretto

Di: goku | 26/09/2020 18:03:13