Flash: animazioni, rollover e rollout

Di: Alex Cappello | 26/09/2020 18:30:21
Ciao a tutti. Provate ad andare in questo sito
www.brianfidler.com
premete il tasto "what I do", poi premete "example of my work"
Vengono fuori i quadratini-pulsanti con l'animazione rollover e rollout.
Il mio problema è questo: io riesco a creare l'animazione del pulsante, in entrata e in uscita in questo modo
on (rollOver) {
gotoAndPlay(5);
}
on (releaseOutside, rollOut) {
gotoAndPlay(16);
}
al fotogramma 15 e all'ultimo ho messo uno stop().
xò quando cerco di andare sul secondo pulsante, creato con l'animazione logicamente non mi fa andare poichè continua l'animazione facendomi scomparire il pulsante. Di sicuro manca qualcosa... ma che cosa??
Ringrazio tutti... ciao.
(goku ti prego aiutami tu...)
cappalex

Risposte



Di sicuro il problema sta nella gestione dei MC, ti dico come farei io:
creerei un MC (pulsantiera) che conterrà tanti MC quanti sono i pulsanti, già questo ti fa capire che non userei i classici pulsanti, ma appunto dei MC, questi li metterai su livelli diversi ma sullo stesso frame, ovvio no?
Ogni MC (pulsante) conterrà la rispettiva animazione di rollOver e rollOut distribuita sui frame, che puoi gestire come tu stesso hai descritto, anche se ti consiglio di usare uno script che non faccia scomparire di netto l'animazione ma gradualmente a seconda del punto dove si trova la testina nel momento in cui si attiva l'azione di rollOut e viceversa (script in fondo).
Così facendo ogni MC (pulsante) avrà vita propria, devi solo fare attenzione ai percorsi.
Se i vari MC (pulsanti) a loro volta conterranno altri MC (pulsanti), il meccanismo è lo stesso, è solo una questione di percorsi.
Script per rollOver:
if (_currentframe>(_totalframes/2)) {
gotoAndPlay(_totalframes-_currentframe);
} else {
play();
}
Script per rollOut:
if (_currentframe<(_totalframes/2)) {
gotoAndPlay(_totalframes-_currentframe);
} else {
play();
}
Dimenticavo, lo script è valido nel caso in cui l'animazione d'ingresso è uguale a quella di uscita ma invertita, vedi variazioni alpha ecc.

Di: goku | 26/09/2020 18:31:21


Non ho capito una cosa: per creare il pulsante come mc intendi creare il clip filmato con l'animazione e quando lo importi nella pulsantiera lo trasformi in pulsante nelle proprietà?

Di: Alex Cappello | 26/09/2020 18:31:21


Intendo usare il Clip filmato invece che i Pulsanti e associargli le classiche azioni come on(release){...ecc.

Di: goku | 26/09/2020 18:32:21


Boh a me pare che, più semplicemente, lì hanno messo su ogni pulsante la stessa azione di rollout: come esci da uno qualunque, l'animazione torna indietro.

Di: bisbiturro | 26/09/2020 18:32:21


Perfetto! Ti ringrazio goku. è stato più semplice di quanto pensassi...
cappalex

Di: Alex Cappello | 26/09/2020 18:32:21


Goku funziona tutto correttamente xò non avevo provato la funzionalità del mc (pulsante). Nel senso che ho creato il clip filmato con la rispettiva animazione, all'interno della libreria ho inserito gli script che mi hai dato tu. Poi l'ho inserito nello stage inserendo questo script
on (rollOver) {
gotoAndPlay(2);
}
on (releaseOutside, rollOut) {
gotoAndPlay(7);
}
on (press) {
gotoAndPlay(171);
}
L'animazione funziona correttamente, ma il pulsante non funziona. E' come se non gli avessi messo l'ultima parte dello script... Non me lo fa andare al frame 171.
Dove sbaglio??

Di: Alex Cappello | 26/09/2020 18:32:21


Perché l'ultima azione che esegue il pulsante quando viene azionato è questa:
on (releaseOutside, rollOut) {
gotoAndPlay(7);
}
così gli dici di eseguire questa azione al rilascio e all'uscita dal MC, prova a premere e mantenere premuto il pulsante senza rilasciare, dovrebbe funzionare.
Ovviamente devi cambiare lo script.

Di: goku | 26/09/2020 18:32:21


Ho provato goku ma non funziona nemmeno tenendolo premuto. Va bene che l'ultimo script che viene considerato è
on (releaseOutside, rollOut) {
gotoAndPlay(7);
}
ma come faccio a dirgli di andare al frame 171 premendo il pulsante??
cappalex

Di: Alex Cappello | 26/09/2020 18:33:21