Abbiamo visto la creazione di un'oggetto, vediamo ora come si creano che caratteristiche hanno i pulsanti.
Creiamo un rettangolo, selezioniamolo e inseriamolo come oggetto (tasto F8 o Elabora → Converti in Simbolo). Selezioniamo il tipo “Pulsante” e diamo come nome pulsante1 (possiamo in realtà chiamarlo come vogliamo)
Vediamo che l'oggetto pulsante è composto da quattro fotogrammi preimpostati:
Inseriamo con f6 (o dal menu Inserisci → Linea Temporale → fotogramma chiave), i fotogrammi chiave necessari.
Su ognuno disegnamo lo stato che vorremo assuma il pulsante.
Ecco un esempio semplice, in cui cambia il colore di riempimento del pulsante:
Corso Flash pulsante1.fla
Cominciamo ora ad usare actionscript, il semplice linguaggio di programmazione che consente di creare filmati interattivi.
Actionscript è un linguaggio ad oggetti, basato su ECMAscript, parente di javascript. Soprattutto, per quanto riguarda il nostro corso, è un modo facile di entrare nella programmazione e realizzare applicazioni in poco tempo.
Le istruzioni scritte in actionscript sono chiamate Azioni: vengono controllate attraverso il pannello azioni, e possono essere associate:
Le istruzioni sono separate da punto e virgola
I blocchi di codice sono delimitati da parentesi graffe
gli argomenti delle funzioni e delle condizioni sono delimitate da parentesi tonde
Il codice associato ad un pulsante deve essere sempre inserito in un blocco preceduto da on (evento)
Il codice associato ad un filmato deve essere sempre inserito in un blocco preceduto da onClipEvent(evento)
Actionscript è un linguaggio di programmazione completo con condizioni, cicli, array, dichiarazione e uso di funzioni, eccetera: in questo corso vedremo le funzioni principali ed alcuni esempi di utilizzo.
nel codice actionscript si usano molto spesso le parentesi graffe, che non si trovano stampate sulla tastiera italiana: per ottenerle dovete tenere premuto AltGr + Shift + il tasto “è” per aprirle, ed il tasto * per chiuderle. Dopo un paio di volte diventa automatico!
Per ottenere le parentesi quadre, invece, premete soltanto AltGr + é e AltGr+* per chiuderle.
Abbiamo notato che come impostazione predefinita flash riproduce un filmato all'infinito: come possiamo fare, ad esempio, per riprodurlo una volta sola?
Questo risultato si ottiene molto semplicemente con la funzione stop. Vediamo come e dove usarla:
All'interno di un filmato composto da più fotogrammi (ad esempio questo ), posizioniamoci sull'ultimo fotogramma chiave (o creiamone uno se non è presente come ultimo fotogramma), apriamo il pannello azioni ed inseriamo:
stop();
come in questa figura:
il risultato sarà questo:
Il filmato si fermerà alla fine dell'animazione. (ricarica la pagina per far ripartire il filmato…)
Stop è una funzione, le parentesi tonde si usano per passare dei parametri alle funzioni. Nel nostro caso, stop non ha bisogno di parametri, ma le parentesi si usano per segnalare che si tratta di una funzione.
Ora che abbiamo un pulsante, possiamo associare delle azioni, per creare interattività nel filmato.
Possiamo ad esempio realizzare un controllo dell'animazione, inserendo un pulsante che la ferma.
inseriamo questo testo
on (release) { stop(); }
Vediamo come funziona:
Qui usiamo l'operatore “on” , che si usa per i pulsanti
on ha come argomento una serie di eventi, in particolare selezioniamo l'evento Release , cioè il rilascio del pulsante del mouse.
on (release) {
Quindi inseriamo la funzione stop(); che ferma il filmato, e chiudiamo il blocco di codice con le parentesi graffe:
stop(); }
Inseriamo un nuovo pulsante, questa volta inseriamo il codice:
on (release) { play(); }
Ora possiamo inserire un testo, o un disegno per distinguere i due pulsanti.
Ecco il risultato:
Scarica il file sorgente: animazione complessa pulsante.fla
Se vogliamo portare la riproduzione di un filmato ad un fotogramma specifico, possiamo usare le funzioni gotoAndStop() e gotoAndPlay(): la differenza (piuttosto ovviamente) è che con gotoAndStop() la riproduzione viene portata al fotogramma specificato e fermata, mentre con gotoAndPlay() viene portata al fotogramma specificato e continua.
gotoAndStop(3);