Flash: pulsanti con animazione

Di: Romy | 26/09/2020 18:50:12
Ciao a tutti!
Vorrei realizzare un menù molto particolare ma mi sono trovata di fonte ad un problema che credo sia facilmente risolvibile ma non so davvero come fare, vi illustro il problema:
Vi sono 4 menù, ogni menù quando viene ciccato esegue un’animazione per andare nell’apposita posizione.
es:
Quando dal menù “A” si passa al menù “C”, il pulsante “A” esegue un’animazione per tornare al proprio posto.
Ovviamente non posso prevedere che menù andrà a cliccare la persona che naviga sul mio sito; quindi come faccio a far si che tutti i pulsati tornino al loro posto senza problemi????
Grazie a tutti per la collaborazione,
se l domanda non vi è chiara chiedetemi pure chiarimenti !
grazie ancoraa tutti!!!

Risposte



Potresti usare, fra le varie possibilità, le classi Tween... io uso quasi sempre quelle, gestisci il tutto in maniera veloce e pulita. Cercale come: "F1" Animating with the TransitionManager and Tween classes.
Oppure più "semplicemente" crea delle animazioni "interpolazioni" dei tuoi 4 menu'. Identiche, si deduce,l'una all'altra. Al rollOver" i tuoi menu "faranno qualcosa, un moviemento, sfuocatura,scale etc... al rollOut ovviamente la stessa animazione tornerà al proprio posto. Se non usi le classi Tween, i tuoi menu' saranno preferibilmente istanziati come MovieClip... gestiti allo stesso modo. Così facendo, il tuo utente, otterrà l'effetto, comunque e dovunque si sposterà, senza bisogno che tu lo preveda, ovviamente cosa impossibile da capire.
Nell'esempio sopra, l'azione non accade al press ma al rollOver, questo perche' senza gestire dinamicamente l'azione mi e' venuta in mente questa cosa.

Di: dar_pri | 26/09/2020 18:51:12


Ciao, innanzitutto grazie per la tempestiva risposta!
Però io non sono molto pratica e non ho capito molto quello che mi hai detto
Cosa sono:
le classi Tween
il Al rollOver è il primo imput e il rollOut cos’è il rilascio giusto???
istanziati come MovieClip (cioè???)
Grazie per l’aiuto e scusa per le domande forse sciocche per te!!!

Di: Romy | 26/09/2020 18:52:12


Lascierei intanto da parte le classi Tween (ma non ne potrai fare a meno col tempo)
rollOver e rollOut.
Come ben saprai, un bottone, ha 4 stati possibili, giusto?
Prendine 1 ed entraci, troverai 4 keyframe pronti per l'uso, già creati, divisi solo da 4 "etichette", "labe", UP-OVER-
DOWN-HIT. Questo è un bottone nel pieno delle sue caratteristiche. Lasciando perdere il discorso che, anche all interno di esso potresti mettere delle animazioni, puoi cominciare a pensare che anche un movieclip è un bottone, anzi, ti puo' dare libertà creativa molto più ampia in un certo senso. Devo chiederti, sai creare delle interpolazioni con delle etichette?

Di: dar_pri | 26/09/2020 18:52:12


Cioè, se sai riferirti all interno di un movieclip e indirizzare il "puntatore" ad un etichetta o label, puoi far si che, al RollOver avviene tal cosa, al RollOut il ritorno di essa allo stato attuale.
Crea 1 bottone invisibile della stessa grandezza dei tuoi menu, creando la sua forma, mettilo sopra l area che copre
il tuo menu.
Dando per scontato che il menu lo devi ancora creare,potresti far cosi':
1) Crea un bottone, istanziato come "1rollover_btn"
2) Crea un movieClip del tuo menu, come ti dicevo sopra.
Sara' istanziato col nome "menu1_mc"
3) Inserisci, sopra ogni layer che hai gia' in timeline e usato per le tue interpolazioni,uno nuovo livello. Qui, metterai i codici usando "action pannel," ovviamente
4) Proprio a metà di esso,sempre nel layer action, inserisci un key frame, e questa azione: stop();
5) Al primo e ultimo frame, altre due azioni: stop();
6) Ora procederai con le etichette, label,
Al secondo frame inserisci etichetta "RollIn", DOPO lo stop(); "key frame centrale" che hai gia' messo prima, la nuova etichetta "RollVia"
Più o meno otterrai questo nel codice completo:
roll1_btn.onRollOver = function():Void {
this.menu1_mc.gotoAndPlay("RollIn")
};
roll1_btn.onRollOut = function():Void {
this.menu1_mc.gotoAndPlay("RollVia")
};
Ma, tornando alla tua prima domanda, non è proprio quello che intendevi fare. Può aiutare però, il tuo menu ad essere più dinamico sicuramente. Bo', spero di essere stato chiaro. Ciao

Di: dar_pri | 26/09/2020 18:52:12


Ciao, grazie mille do tutto!!!
Forse ho fatto un figura di una un po’ troppo inesperta, io so fare tutto con flash, le interpolazione conosco i pulsanti e come si usano e so creare siti ed animazioni, il problema è che non so una parola di inglese e ho flash in italiano forse è per questo che non capivo!
Ad ogni modo bene o mele ho capito cosa volevi spiegarmi però temo non mi aiuta perché quello che devo creare io è differente, provo a rispiegarti quanto cerco di fare e ti ringrazio ancora mille volte per la tua gentilezza, pazienza e grande disponibilità.
Devo creare un menù con sicuramente più di 5 voci; ogni volta che scelgo una voce dal menù (che si trova ad esempio a sinistra ) la voce che è stata selezionata si sposta (attraverso un interpolazione di movimento o di forma) in una determinata posizione ( ad esempio in alto a destra ) per far capire che siamo dentro a quella sezione ( nella quale ad esempio appariranno testi e foto ), quando decido di cambiare voce dal menù principale ( che rimarrebbe sempre presente in tutte le pagine) la mia voce ( quella che si trova in alto a destra ) si sposta sempre attraverso un’interpolazione e ritorna nella sua posizione, a quel punto la nuova voce che è stata selezionata prende il suo posto e così via…
Spero di essermi spiegata bene e che mi sarai d’aiuto grazie ancora di tutto davvero!!!
Ciao

Di: Romy | 26/09/2020 18:52:12


Di niente figurati, sono anch io dietro un paio di progetti in scadenza,incollato davanti al monitor, e cosi' magari occuparmi di altre problematiche...mi fa' staccare dalle mie...ma di aiuto tanto ne abbiamo bisogno tutti...
Si,forse ho frainteso la tua conoscenza.Allora meglio no?!
Ho capito dall inizio quello che vuoi fare, ma aime' mi viene da riproporti le classi Tween.Non conosco altri modi per risolvere la questione imprevedibilita' dell utente nel selezionare i tuoi menu'.O almeno solo proposte dinamiche.Di fatto le interpolazioni potrebbero fare al caso tuo, ma il limite e' che mica sai cosa' fara' l utente,cosi' al posto del RollOver potresti creare un onPress ma te ti chiederai, e se l utente selezione menu' 5? Allora devi creare qualcosa di dinamico, una variabile che legga e restituisca qualcosa.Un ciclo if ad esempio,quindi se l utente fa questa cosa allora il resto fara' quest'altra cosa.O appunto,la mia preferita, una classe Tween che sappia leggere ad esempio, la _x di un oggetto e dal punto dove e' la faccia tornare al suo posto sensa che te debba "impossibile" sapere l utente come si comportera'.Sono certo che qualc unaltro magari ha in mente anche altro...Prova a guardarti le classi se non c'e la fai proprio,fammelo sapere.Ciao

Di: dar_pri | 26/09/2020 18:52:12


Grazie di tutto,
allora farò un paio di prove e vediamo cosa ne tiro fuori . Ti farò sapere anche perchè forse è un argomento che interessa anche ad altri!!!
Grazie di tutto davvero!
Ciao,
Romy

Di: Romy | 26/09/2020 18:52:12


ciao dar_pri sai che non ci sono riuscita a realizzare questa animazione sig sono depressa
Lo se che forse è chiedere tanto ma non è che potresti inviarmi un esempio per e-mail???
il messaggio è indirizzato anche a chi unque altro possa aiutarmi !!!
grazieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

Di: Romy | 26/09/2020 18:52:12


Cerco di "spegarti un pochino" le Tween.Di seguito potrai farne te l uso che ritieni opportuno.Ripeto, che questo e' un modo per fare le cose che vuoi fare, ma io, lo trovo molto utile e ha la mia simpatia
1) importi i pacchetti che ti serviranno...
import mx.transitions.Tween;
import mx.transitions.easing.*;
Noterai un simbolo "per" *, questo significa che stai decidendo di importare tutto il pacchetto, cosi' da evitare di importarne uno alla volta
2)crei il nome della tua variabile Tween
var tuaTween:Tween = new Tween
In poche parole hai creato un oggetto Tween pronto per l uso.
3)Elabori i campi del new Tween di nome "tuaTween"
(tuomovie, "_x", Regular.easeInOut, 0, 100, 1, true);
Di questo campo ti vado a dire come puoi interpretare le sue funzionalita'
(tuomovie) e'(come si capisce) e' il tuo Target,
("_x") e' la proprieta' del tuo target che vuoi prendere in considerazione, quindi, stai lavorando sull asse _x
(Regular.easeInOut) non credo abbia bisogno di spiegazioni?
(0) il primo 0 e' il punto di partenza del tuo Target, quindi avra' un valore di _x = 0
(0) il secondo e' il punto di arrivo del Target sempre sulla proprieta' _x, ovviamente. Quindi se ne trae la conclusione che, (tuomovie) si spostera' da _x=0 a _x=100, da sinistra a destra in poche parole
(1) e' il tempo che vuoi assegnare al movimento
(true) booleano, in pratica se "vero" prende in coniderazione i tuoi fps, su quelli elabora in millesecondi il movimento, se "falso" no
Quindi lo script finale sara':
import mx.transitions.Tween;
import mx.transitions.easing.*;
var sotto_tween:Tween = new Tween(tuomovie, "_x", Regular.easeInOut, 0, 100, 1, true);
Ovviamente io per prova di ho messo _x, ma te hai la possibilita' di gestirti la proprieta' che desideri, e quante ne desideri...inolre poteva avere piu' caratteristiche.
Se hai chiaro al suo interno come poter tener sotto controllo la cosa, vedrai che quello che vuoi fare diventa semplice.Gestendoti il tutto dentro una funzione...per esempio
Spero ti sia utile, anche se, per i soliti motivi di tempo ti ho scritto velocemente,ma io piu' di questo non posso...Ciao

Di: dar_pri | 26/09/2020 18:52:12


import mx.transitions.Tween;
import mx.transitions.easing.*;
var tuaTween:Tween = new Tween(tuomovie, "_x", Regular.easeInOut, 0, 100, 1, true);

Di: dar_pri | 26/09/2020 18:53:12


Grazie ora me lo studiacchio un po' e ti saprò dire; questa volta mi impegnerò a risponderti che è andato tutto bene
grazie davvero.

Di: Romy | 26/09/2020 18:53:12


Ciao dar_pri, inanzitutto ti volgio dire che finalmnte ho capito come funzionano le classi tween , o meglio ho imparato a fare un oggetto che si muove .
Ancora non sono riuscita a creare quello che volevo però è già un passo avanti !!!
Grazie ancora,
ciao!

Di: Romy | 26/09/2020 18:53:12