Abbiamo creato gli elementi grafici ed abbiamo scritto le funzioni necessarie per la creazione del campo di gioco e lo svolgimento del gioco stesso: non ci resta che collegare il tutto.
I pulsanti delle carte
Il pulsante di ogni carta dovrà mostrare il simbolo, quindi dobbiamo eseguire il controllo tra le carte selezionate. Abbiamo già visto che la funzione "controlla" si occupa di valutare se l'utente ha scelto la prima o la seconda carta. Il codice da assegnare al pulsante della carta quindi è il seguente
on(release){
_root["simbolo" add simb]._visible = true;
_root.valore_selezionato = valore;
_root.clip_selezionato = simb;
_root.carta = _name;
tellTarget("/controllo"){
gotoAndPlay(2);
}
}
Questo codice mostra il simbolo associato alla carta, imposta le variabili valore_selezionato
, clip_selezionato
e carta
, usate dalla funzione controlla, quindi avvia la riproduzione del movieclip controllo.
Il movieclip controllo
Questo movieclip ha la funzione di lasciare un piccolo lasso di tempo tra la selezione di una carta e l'esecuzione della funzione "controlla". Infatti, se avessimo chiamato direttamente la funzione dal pulsante della carta, l'esecuzione sarebbe stata troppo rapida e l'utente non avrebbe il tempo di vedere i due simboli diversi, in quanto sarebbero spariti subito. Chiamiamo la funzione "controlla" invece sul sesto fotogramma inserendo la seguente azione:
tellTarget("_root"){
call("controlla")
}
L'utente ha il tempo necessario per vedere il simbolo prima che sparisca.
Il movieclip vittoria
Nella funzione controlla vi è una parte di codice che determina la riuscita del puzzle:
coppie++;
if(coppie == 8){
vittoria._visible = true
}
Qui incrementiamo il numero di coppie trovate e, se il numero di coppie è uguale a 8 (ovvero il massimo raggiungibile), viene mostrato il movieclip "vittoria". Creiamo quindi un clip filmato, ad esempio con il testo "Complimenti, hai vinto!" e sul primo fotogramma aggiungiamo il codice:
vittoria._visible = false;
In modo tale che il movieclip non sia visibile ad inizio partita.
Il pulsante di uscita
L'ultima cosa da realizzare è il pulsante "fittizio" per l'uscita dall'applicazione. Abbiamo già visto come fare: creiamo un pulsante vuoto, posizioniamolo sullo stage ed inseriamo il codice:
on(keyPress "<PageDown>"){
fscommand2("quit")
}
Possiamo ora testare la nostra applicazione e goderci il risultato: abbiamo creato il nostro primo gioco in Flash Lite! Il codice da scrivere non è stato poi molto, ed in poco tempo siamo riusciti ad ottenere un risultato di tutto rispetto!
È possibile scaricare l'esempio completo.
In queste ultime lezioni relative alla creazione di Memory abbiamo ripassato molti dei concetti visti durante la guida. Utilizzando le funzioni e creando il campo di gioco in maniera dinamica siamo in grado di espandere ulteriormente il nostro gioco in maniera molto semplice, infatti le parti di codice sono ben distinte ed è possibile modificarle rapidamente.
Allo stesso modo è possibile modificare facilmente l'aspetto grafico delle carte ed i simboli in esse contenuti: nell'esempio sono state utilizzate delle forme create con gli strumenti di disegno di flash, ma basta cambiare il contenuto dei vari movieclip simbolo, ad esempio con delle foto.
Sempre per quanto riguarda i movieclip potremmo voler animare le carte: basterà modificare il movieclip della carta originale e la modifica si rifletterà su tutte le altre. Veramente semplice!
Non sono stati volutamente inseriti altri elementi, come ad esempio i suoni, poiché la creazione del gioco prevedeva già molto codice e quindi le lezioni risultavano già piuttosto lunghe e poco descrittive, ma il nostro gioco non aspetta altro che essere migliorato, per cui potremo darci da fare e sbizzarrirci, sia modificando Memory che creando nuovi giochi: ormai abbiamo tutte le conoscenze necessarie per ottenere ottimi risultati!