| Programmazione ActionScript |
Pagina 2 di 6 E veniamo ora alla programmazione dell'ActionScript. Prima di iniziare dobbiamo rendere disponibili tutti i MovieClip creati e i pulsanti per l'ActionScript. Per fare questo agiamo col tasto destro su ogni MovieClip selezionando Proprietà
e dopo aver scelto la visualizzazione rendiamo disponibile l'oggetto settando la casella "Esporta per ActionScript" ed esporta nel primo fotogramma.
La scena iniziale, che ricordo è composto da un solo frame su cui è disegnato l'uomo dietro al tavolo (una clip in vettoriale trovata tra le tante gratuite) viene legata alla sua classe di ActionScript indicandone il suo nome nell'apposito spazio. In questo caso come Classe documento abbiamo scelto il nome "trovaanello" per cui andremo a creare un nuovo documento ActionScript che salveremo subito, nella stessa cartella in cui abbiamo salvato il progetto grafico flash (.fla), chiamandolo "trovaanello.as" (l'estensione .as viene aggiunta automaticamente).
Una classe ActionScript è composta da tre parti fondamentali: dalla direttiva "package" che comprende tutto il codice, dalla creazione della classe come estensione del Movie principale, e dalla Function iniziale col nome della stessa classe seguendo questa struttura: package { public class trovaanello extends MovieClip { public function trovaanello(){} } } Tutte le altre function devono essere comprese all'interno della classe. Nel "package" devono essere chiamate tutte le classi esterne che sono le classi madri dei comandi che vengono utilizzati nell'ActionScript. Per esempio il pacchetto flash.display contiene le classi principali utilizzate da Flash Player per creare contenuto grafico. L'utilizzo dell'asterisco indica come al solito che si vogliono prendere in considerazione tutte le classi. La direttiva per l'importazione delle classi esterne è "import"
Subito dopo creiamo la classe "trovaanello"che estende il MovieClip a cui fa riferimento la chiamata dallo stage.
Come si potrà notare analizzando il codice (si è preferito utilizzare una immagine dello stesso per evidenziare il codice del linguaggio - parte in blu - i valori assegnati - parti in nero - e i commenti - parti in grigio -) vengono create le variabili per i due pulsanti (puls_gioca e puls_continua; puls_esci alla fine non è stato utilizzato!), le clip animate dei tre cappelli (cil1, cil2 e cil3), le barrette del punteggio (corr, err), tre variabili di tipo movie clip che verranno utilizzate nel momento di scambio di posto dei cappelli per conservare memoria del contenuto dei singoli cappelli (tempcil0, tempcil1, tempcil2). Nel corso del gioco poi devono essere visualizzate alternativamente 3 scritte e siccome per poterle disabilitare devono essere visibili altrimenti danno errore, bisogna utilizzare una variabile da impostare a 1, a 2 o a 3 a seconda se la visualizzazione corrente interessa il messaggio 1, oppure il messaggio 2 ecc.. Se non è visualizzato nessun messaggio, assumerà il valore 0. In gergo questo tipo di variabile è detta flag ed ecco il nome "flagscritte" e più in basso ci sono le variabili delle scritte (scrtta1, scritta2, scritta3). Vi sono poi 4 Timer; il timer è un elemento di programmazione che temporizza l'esecuzione del codice ed ha due parametri: il "delay" cioè la durata di ogni intervallo di esecuzione e il "currentCount" che è il numero di volte delle esecuzioni (Timer (1000, 6) significa che il codice viene esguito ogni mille millesimi di secondo, per 6 cicli-volte). Tre Timer sono dedicati allo scambio tra i cappelli (scambio1 per lo scambio tra il cappello 1 e il cappello 2, scambio 2 per lo scambio tra il cappello 2 e il cappello 3, scambio 3 per lo scambio tra il cappello 1 e il cappello 3). Il timer "ritardo" invece serve per far eseguire 6 scambi ad intervalli di un secondo l'uno dall'altro. La variabile premio e la variabile ritenta servono rispettivamente per la visualizzazione della coppa in caso di vittoria e del messaggio di consolazione in caso di perdita. "pos" e "scambi" sono due array (serie di variabili); il primo contiene i cilindri e siccome gli array cominciano con valore 0 avremo che pos[0] è uguale a cil3, pos[1] è uguale a cil2 e pos[2] è uguale a cil1. "scambi" invece contiene i tipi dii scambio che si possono fare coi tre cappelli scambiandone due per volta: gli scambi possibili sono tre (il primo col secondo, il secondo col terzo, il primo col terzo). Come si vede scambi contiene 6 valori (due volte 1, due volte 2, due volte 3); questo vuol dire che si faranno due scambi di tipo 1,due scambi di tipo 2, due scambi di tipo 3. Ogni volta però gli elementi di questo array verranno mescolati e quindil'ordine degli scambi sarà sempre diverso.
|

ActionScript-Flash
FLASH



















