Crea un fantastico gioco dell'impiccato in Flash utilizzando ActionScript 3.0

Lo sviluppo di un gioco è un'abilità imperdibile se sei uno sviluppatore Flash, utilizza molti metodi e proprietà ActionScript diversi e ti divertirai moltissimo! In questo tutorial, ti mostrerò come creare un gioco Hangman avanzato utilizzando ActionScript 3.0. Giochiamo!


Passaggio 1: breve panoramica

Durante questo tutorial Premium illustrerò il processo di sviluppo del gioco dal design dell'interfaccia utente grafica utilizzando Flash Tools e un po 'Photoshop, alla parte del codice che utilizza la potenza di ActionScript 3.


Passaggio 2: Interfaccia utente grafica

Questi sono gli elementi dell'interfaccia utente grafica che creeremo:



Step 3: Logo

Crea un nuovo file Flash e imposta le sue dimensioni su 320x480 px.


Seleziona lo strumento di testo (T) e scegli un font di stile cartoon, ho usato GoodDog 86 pt.


Scrivi "Hangman +" e separa (Cmd + B) il testo per aggiungere un colore sfumato.


Seleziona la grafica e apri il pannello Colore, scegli Sfumatura lineare e usa questi colori: # FBA31E, # FECB56.


Usa lo strumento Trasformazione sfumatura per ruotare la sfumatura e ottenere un colore come mostrato nell'immagine.


Ripeti questo processo nel "+" usando questi colori: # 831000, # A91101.


Converti tutto il lotto in MovieClip e aggiungi un filtro ombra esterna con i seguenti valori:


Finirai con qualcosa di simile a questo:



Passaggio 4: sfondo

Creiamo lo sfondo.

Apri Photoshop e crea un nuovo file (320x480).


Seleziona lo strumento sfumatura (T) e aggiungi uno sfondo radiale marrone (# 4E4236, # 382F26) partendo dal centro verso uno dei bordi.


Ora è il momento di aggiungere un filtro Noise per ottenere uno sfondo con texture.

Dal menu vai su Filtro> Disturbo> Aggiungi disturbo e utilizza questi valori:


Salva la tua immagine come png-24 usando l'opzione "Salva per Web e dispositivi" nel menu File.

Lo sfondo dovrebbe assomigliare a questo:



Passaggio 5: Pulsanti della schermata principale

Torna a Flash, importa (Cmd + R) lo sfondo e centralo.

Usa l'opzione Disponi> Invia a indietro dal menu contestuale (tasto destro) per inviare lo sfondo in basso e mostra il logo creato in precedenza.


Seleziona lo Strumento Rettangolo Primitivo e crea un rettangolo di 200x50 px con lo stesso gradiente giallo di prima (# FBA31E, # FECB56).


Vai a Opzioni rettangolo nel pannello Proprietà e imposta il raggio dell'angolo su 8,00.


Converti il ​​disegno in MovieClip e aggiungi il seguente filtro:


Seleziona lo strumento Testo, crea un nuovo testo statico e scrivi "Nuovo gioco". Ho usato questo formato: Myriad Pro Semibold, 24 pt, # 831000.


Per creare una stampa premere l'effetto, duplicare (Cmd + D) il campo di testo e spostarlo di un pixel verso il basso, Cambiare il colore del testo in # FDDA8A.


Convertilo in MovieClip e centralo sul palco. Imposta il nome dell'istanza su "newGame".

Ripeti questo processo con altri due pulsanti; Opzioni e informazioni. Ricordarsi di modificare i nomi delle istanze.


Converti quello che hai finora in un Movie Clip, chiamalo "menuScreen" e posizionalo temporaneamente lontano dal palco.


Passaggio 6: Grafica di gioco

Questa è l'interfaccia del gioco reale, in cui interagisci con la tastiera per indovinare la parola nascosta.


Come puoi vedere usiamo lo stesso sfondo, quindi duplicalo e centralo sul palco.


Passaggio 7: Blocco note

Seleziona lo strumento Rettangolo, modifica il raggio dell'angolo a 10 e disegna un rettangolo di 260x250 px. Aggiungi uno sfondo radiale (# FBEE84, # FDF9B2).


Per creare le linee, uso lo strumento Rettangolo e disegna un rettangolo di 260x1 px con un colore di # C6C970.


Duplica la linea (Cmd + D) e posizionala a 10 pixel verso il basso, ripetilo finché non ottieni qualcosa come l'immagine seguente:


Per le linee laterali, crea un rettangolo 1x250 px, # 99832E e posizionalo a 20 pixel dal bordo, duplicalo e posiziona il nuovo 2 pixel dall'originale.


Convertilo in MovieClip, duplicalo, invialo indietro e posizionalo in basso di 5 px. Usa lo stesso filtro dei pulsanti.


Ora daremo al taccuino un titolo; questo testo cambierà in base alla categoria selezionata nelle Opzioni.

Seleziona lo strumento Testo, crea un campo di testo dinamico 236x25 px e scrivi del testo come guida. Il formato è Marker Felt 18 pt, # 663622.

Usa la tecnica di lettere che abbiamo usato prima per aggiungere qualche dettaglio. I nomi di istanza sono "categoryText" e "categoryLP" per il campo di stampa tipografica.



Step 8: Hangman

Per disegnare il boia ci imbrogliamo un po ', dato che Flash non ha pennelli o qualcosa di simile, useremo un carattere per disegnare lo stile a pastello.

Ho usato caratteri del font LeviCrayola per disegnare questo:


Converti ciascuna parte in MovieClip e imposta i nomi delle istanze in questo modo: testa, corpo, sinistraArm, destraArm, sinistraLeg, destraLeg.

Collocare le parti del Hangman al centro del notebook e continuare con il passaggio successivo.


Passaggio 9: tastiera

L'input dell'utente verrà gestito da una tastiera nello stage che compartirà il tasto premuto sullo schermo nascosto.

Seleziona lo Strumento Rettangolo Primitivo e disegna un rettangolo di 26x38 px con lo sfondo precedentemente giallo, aggiungi un raggio d'angolo di 5.


Converti in MovieClip e aggiungi il filtro dei pulsanti.

Aggiungi la lettera corrispondente e usa la tecnica tipografica per creare un pulsante dall'aspetto migliore. Il formato è Myriad Pro Semibold, 23 pt, nero.


Converti i 2 elementi in un MovieClip e chiamalo come la Lettera che rappresenta in UpperCase.

Ripeti questo passaggio con tutte le lettere, ricorda di impostare il nome dell'istanza corretta.

Creeremo anche un Movie Clip che apparirà in cima al tasto quando viene premuto usando lo stesso rettangolo creato per la chiave

Copia e incolla il rettangolo e cambialo in bianco, alfa 30%, contrassegna la casella "Esporta per ActionScript" e assegnagli il nome "Inattivo".


Verrà anche riprodotto un suono quando viene premuto un tasto.

Puoi trovare tutti i tipi di suoni, inclusi i pulsanti in AudioJungle, quando trovi un suono che ti piace, importalo (Cmd + R) e nel pannello Libreria, fai clic destro e seleziona "proprietà", seleziona la casella "Esporta per ActionScript" e scrivi ButtonSound come classe.



Passaggio 10: Tasto Indietro

Il tasto indietro cancellerà i dati del gioco e porterà l'utente alla schermata del menu.

Crea una chiave usando gli stessi passaggi della tastiera, convertila in MovieClip e chiamala "indietro".



Passaggio 11: Opzioni

La vista Opzioni viene visualizzata quando l'utente fa clic sul pulsante Opzioni nella schermata Menu. Mostra informazioni alcune opzioni per il gioco.

Dovrebbe essere più facile creare questa vista poiché abbiamo già tutti i grafici e gli sfondi.


L'opzione Categoria, come dice il nome, descrive il tipo di parole che verranno visualizzate durante la riproduzione. Puoi utilizzare un numero illimitato di categorie, lo vedremo più avanti nel codice.

L'opzione Vittoria è il numero di parole che devi indovinare per dichiarare il gioco come vinto.

L'opzione Vite è il numero di risposte sbagliate che puoi fare prima di perdere il gioco.


Passaggio 12: campi di testo

Questa vista ha 6 campi di testo, quelli di sinistra sono statici e formattati nel modo seguente: Marker Felt Thin, 19 pt, # 673723.


Quelle giuste sono dinamiche e fomposte in questo modo: Helvetica Regular, 15 pt, # 673723. (aggiungi istanze nell'immagine)



Passaggio 13: pulsante Indietro

Il pulsante Indietro porta l'utente alla schermata del menu.

Crea un campo di testo statico con lo stesso formato di quelli precedenti e modifica la dimensione in 16 pt.

Converti in pulsante, chiamalo "indietro".



Passaggio 14: altro pulsante

Il pulsante Altro cambierà i valori delle opzioni.

Crea un cerchio bianco 16x16 px usando lo strumento ovale (O).


Crea un altro cerchio, questa volta 12x12, # 673723 e centralo.


Crea un rettangolo 2px largo 5px e duplicalo, ruota i -45 gradi e spezzalo (Cmd + B) per farli intersecare, rimuovi l'area non voluta per creare una freccia e centrala.


Convertilo in MovieClip e aggiungi il seguente filtro:


Duplicare e posizionare i pulsanti come mostrato nel passaggio 11 e denominarli: "catButton", "vicButton" e "livesButton".

Convertire tutto in MovieClip, selezionare la casella di controllo "Esporta per ActionScript" e denominarlo "OpzioniView". È possibile eliminare il simbolo dal palco ora.


Step 15: About

La vista Informazioni mostra le informazioni sul creatore, sulla società e sulla versione dell'applicazione.


Scala il logo dell'impiccato su 121x30,6 px e centralo.

Crea e centra uno Static TextField con questo formato: Helvetica Neue Regular, 15 pt, #EFEFEF e aggiungi il testo mostrato nell'immagine.

Convertire tutto in MovieClip, selezionare la casella di controllo "Esporta per ActionScript" e denominarlo "AboutView". È possibile eliminare il simbolo dal palco ora.


Passaggio 16: avviso

Mostreremo un messaggio quando vinci o perdi, per questo useremo questa vista di avviso.


Crea un rettangolo di 320x240 px e usa questo gradiente radiale: # 000000 alfa 0, # 000000 alfa 50.


Successivamente, crea un rettangolo bianco 260x100 px con raggio di punta di 20 px e posizionalo nel mezzo dello sfondo nero.


Duplica il rettangolo e rendilo 256x96 px, # FCB73A alfa 90.


Creare un campo di testo dinamico 240x23 px e denominarlo "titolo". Premi il pulsante "Allinea al centro" nel pannello Paragrafo e usa la tecnica di stampa tipografica, questa volta spostando verso l'alto il campo di testo duplicato. Il formato è Helvetica Bold 19 pt, bianco.


Usa un altro campo di testo dinamico con questo formato: Helvetica Regular 15 pt, bianco. Posizionalo al centro e usa l'opzione Allinea al centro.

Chiamalo come "contenuto" e aggiungi del testo ai campi come guida.


Converti tutto in MovieClip, seleziona la casella di controllo "Esporta per ActionScript" e assegnale il nome "AlertView".


Passaggio 17: impostazione dell'interfaccia

Posiziona nuovamente il MenuScreen sul palco e centra il centro. Dovrebbe essere in cima alla grafica del gioco.



Passaggio 18: tempo ActionScript!

È ora di ActionScript. Creare un nuovo file ActionScript e salvarlo come Main.as nella cartella delle classi.



Step 19: Pacchetto

classi di pacchetti 

La parola chiave package consente di organizzare il codice in gruppi che possono essere importati da altri script. Si consiglia di nominarli iniziando con una lettera minuscola e utilizzare gli intercapori per le parole successive, ad esempio: le mie classi.

Se non vuoi raggruppare i tuoi file in un pacchetto o hai solo una classe puoi usarla direttamente dalla tua cartella sorgente, ma l'idea deve essere organizzata.


Step 20: Importa classi Necesarie

Queste sono le classi richieste. Per una descrizione più dettagliata di ogni classe, fare riferimento alla Guida di Flash (F1).

 import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.TextFormat; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; import flash.events.Event; / * Importa classi per animazioni * / import fl.transitions.Tween; importare fl.transitions.easing. *; importare fl.transitions.TweenEvent;

Passaggio 21: dichiarazione ed estensione della classe

Il si estende keyword definisce una classe che è una sottoclasse di un'altra classe. La sottoclasse eredita tutti i metodi, le proprietà e le funzioni, in questo modo possiamo usarli nella nostra classe.

 HangmanPlus di classe pubblica estende Sprite 

In questo esempio, la classe HangmanPlus eredita tutti i metodi e le proprietà della classe Sprite.


Passaggio 22: variabili

Ci sono molte variabili in questo gioco, questo perché molte cose possono variare. Troverete tutto spiegato nei commenti.

 / * categorie, la funzione caricatore caricherà un file di testo utilizzando i nomi in questo array se si desidera aggiungere una categoria, basta aggiungere il file di testo alla directory in cui Hangman + .swf è e il nome del file all'array * / categorie private var: Array = new Array ("Fruits", "Animals", "Sports"); categoria var privata: int = 0; // Questa variabile verrà modificata nelle Opzioni, quando l'utente fa clic sul pulsante Altro 1 viene aggiunto, quindi viene utilizzato nell'array per scegliere la categoria corretta var varicelle corrette: int = 0; // Le lettere corrette hanno indovinato, sarà confrontato con la lunghezza dell'array delle lettere per verificare se la parola è completa private var cerca: int = 6; // Il numero di tentativi, (testa, corpo, due braccia, due gambe) private var btnSnd: ButtonSound = new ButtonSound (); // Il suono che verrà riprodotto quando viene premuto un pulsante della tastiera private var inactive: Inactive; // La clip che useremo per bloccare i tasti già premuti icona privata var: Array = new Array () ; // Un array per memorizzare le clip inattive per rimuovere efficacemente le chiavi private var: int = 0; // Una variabile per contare le chiavi che sono già inattive, questa var indica il numero di "icontainer" per rimuovere l'indice delle variabili private: int ; // Memorizza il valore del metodo String.search, utilizzato per cercare il tasto premuto nella parola pulsanti var privati ​​nascosti: Arr ay; // L'array di nomi di pulsanti, usato per aggiungere facilmente tutti gli ascoltatori var txtLoader = new URLLoader (); // Questo caricherà il file di testo specificato var privato allWords: String; // Una stringa con tutte le parole contenute nel file di testo private var allWordsArray: Array = new Array (); // Contiene le var di tutte le parole, separate da word var private current: String; // le parole correnti da indovinare private var fmt: TextFormat = new TextFormat (); // TextFormat private var us: Underscore; // La clip di sottolineatura private var usContainer: Sprite; // Un contenitore per i caratteri di sottolineatura private var: Array; // Le lettere della parola corrente private var tf: TextField; // TextField private var tfCont: Sprite; // Contiene i campi di testo private var tfs: Array = new Array (); Memorizza i campi di testo, utilizzati per rimuoverli interpolazione privata: Tween; // Tween, per gli spazi var dell'animazione privata: int = 0; // Memorizza gli spazi nella parola corrente private var arrayIndex: int; // Memorizza le parole che non sono state usate private var opt ioni: OptionsView; // Le opzioni visualizzano clip private var about: AboutView; avviso var privato: AlertView; private var correct: int = 0; // Il contatore delle parole corrette var privato fallisce: int = 0; // Fallisce contatore private var vittoria: int = 3; // Vincitori predefiniti per vincere var di var private: int = 3; // La vita predefinita è privata var alertIsOnStage: Boolean = false; // Vero se AlertView è in scena

Passo 23: Costruttore

Il costruttore è una funzione che viene eseguita quando un oggetto viene creato da una classe. Questo codice è il primo ad essere eseguito quando si crea un'istanza di un oggetto o si esegue utilizzando la Document Class.

 funzione pubblica HangmanPlus (): void / * Devono dichiarare la nuova matrice nel costruttore per rilevare che gli elementi (array) sono MovieClip in Stage * / buttons = new Array (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z); / * Pulsanti della schermata del menu * / menuScreen.newGame.addEventListener (MouseEvent.MOUSE_UP, init); menuScreen.about.addEventListener (MouseEvent.MOUSE_UP, showAboutView); menuScreen.options.addEventListener (MouseEvent.MOUSE_UP, showOptionsView); / * Crea campi di testo per parola * / fmt.color = 0x282425; fmt.font = "Avenir 85 Heavy"; fmt.size = 18; hideParts (); // Nasconde le parti del boia

Passaggio 24: funzione di avvio

Questa funzione viene eseguita quando l'utente fa clic sul pulsante Nuova partita.

 funzione privata init (e: MouseEvent): void addButtonListeners (pulsanti); // Aggiunge i listener alla tastiera back.addEventListener (MouseEvent.MOUSE_UP, opBackHandler); // Aggiunge il listener al pulsante indietro loadTxt (categorie [categoria] + ".txt"); // Carica il file di testo dall'array, la funzione viene creata in seguito categoryText.text = categorie [categoria]; // Imposta il valore del testo della categoria, questo è mostrato nella parte superiore della categoria grafica del notebookLP .text = categories [category]; tween = new Tween (menuScreen, "y", Strong.easeOut, menuScreen.y, - menuScreen.height / 2,0.8, true); // Crea un'interpolazione che anima il MenuView up corretto = 0; // Reimposta il corretto e tentativi falliti fallisce = 0; 

Passaggio 25: riavvia la funzione

Questa funzione riavvia alcune variabili e impostazioni per caricare una nuova parola, indipendentemente dal fatto che la parola sia stata indovinata o meno. Si chiama quando termina l'animazione della parola.

 funzione privata restart (e: TweenEvent): void / * Riavvia alcune vars iniziali * / hideParts (); correctLetters = 0; addButtonListeners (pulsanti); tentativi = 6; spazi = 0; tfs = new Array (); removeChild (tfCont); // Rimuove i campi di testo della parola per (var j: int = 0; j < keys; j++)  removeChild(icontainer[j]);//Removes the button inactive clips, according to the keys pressed  removeChild(usContainer);//Removes the underscores /* Removes last word from array to avoid duplicates */ arrayIndex = allWordsArray.indexOf(currentWords); allWordsArray.splice(arrayIndex, 1); /* Load another word from array */ currentWords = allWordsArray[Math.floor(Math.random() * allWordsArray.length)]; letters = currentWords.split("");//Split letters to compare everyone to space createUnderscores(currentWords); createTextfields(); keys = 0; icontainer = new Array(); 

Passaggio 26: carica file

Carica un file di testo. Questa funzione è eseguita al punto 24.

 funzione privata loadTxt (file: String): void txtLoader.load (new URLRequest (file)); txtLoader.addEventListener (Event.COMPLETE, parseTxt); // Aggiunge un listener per analizzare il testo

Passaggio 27: testo di analisi

Analizza il testo per creare i caratteri di sottolineatura e i campi di testo necessari.

 private function parseTxt (e: Event): void allWords = e.target.data; // Ottiene i dati di txtLoader allWordsArray = allWords.split (","); // divide le parole, le parole nel file di testo DEVE essere UpperCase e virgola corrente currentWords = allWordsArray [Math.floor (Math.random () * allWordsArray.length)]; // Imposta una parola (e) casuale (i) alla variabile correnteWords letters = currentWords.split (""); / / Dividi le lettere per confrontare tutti con lo spazio createUnderscores (currentWords); createTextfields (); 

Passaggio 28: Azioni del pulsante Indietro

Il pulsante Indietro rimuove i dati inutili, riavvia le variabili e invia l'utente alla schermata del menu.

 funzione privata opBackHandler (e: MouseEvent): void / * Rimuovi avviso se è in stage * / if (alertIsOnStage) removeChild (alert); alertIsOnStage = false;  tween = new Tween (menuScreen, "y", Strong.easeOut, menuScreen.y, stage.stageHeight / 2,1, true); // Animare indietro la vista menu back.removeEventListener (MouseEvent.MOUSE_UP, opBackHandler); // Rimuovi il listener dal pulsante removeButtonListeners (pulsanti); // Rimuovi i listener della tastiera hideParts (); // nasconde le parti del hangman / * Riavvia le variabili, consulta la funzione di riavvio * / correctLetters = 0; tentativi = 6; spazi = 0; tfs = new Array (); removeChild (tfCont); per (var j: int = 0; j < keys; j++)  removeChild(icontainer[j]);  removeChild(usContainer); keys = 0; icontainer = new Array(); 

Passaggio 29: sottolinea

Questa funzione crea i trattini bassi in base alle lettere e agli spazi nella / e parola / e scelta / e.

 funzione privata createUnderscores (words: String): void usContainer = new Sprite (); per (var i: int = 0; i < words.length; i++)  us = new Underscore(); us.x = (us.width + 3) * i; if (letters[i] == " ")  spaces++;  else  usContainer.addChild(us);   usContainer.x = (stage.stageWidth / 2) - (usContainer.width / 2) + (us.width / 2); usContainer.y = (stage.stageHeight / 2) + 10; addChild(usContainer); 

Passaggio 30: campi di testo

La funzione createTextfields () crea i campi di testo necessari per visualizzare una singola lettera della parola (e) in ciascuno di essi.

 funzione privata createTextfields (): void tfCont = new Sprite (); per (var i: int = 0; i < letters.length; i++)  tf = new TextField(); tf.width = 20; tf.height = 30; tf.autoSize = TextFieldAutoSize.LEFT; tf.selectable = false; tf.defaultTextFormat = fmt; tf.x = (us.width + 3) * i; tfs.push(tf); tfCont.addChild(tf);  tfCont.x = (stage.stageWidth / 2) - (usContainer.width / 2) - 3; tfCont.y = (stage.stageHeight / 2) - 10; addChild(tfCont); 

Passaggio 31: Nascondi funzione parti

Nascondiamo le parti del boia.

 funzione privata hideParts (): void body.visible = false; head.visible = false; leftArm.visible = false; leftLeg.visible = false; rightArm.visible = false; rightLeg.visible = false; 

Passaggio 32: Azioni della tastiera

Questa è una funzione fondamentale. Cercherà se la lettera premuta è nella parola corrente per indovinare, disabilitare il tasto, riprodurre un suono chiave, aggiungere la chiave allo stage nel caso esista, controllare se la parola è completa o se le possibilità sono finite.

 funzione privata onKeyPress (e: MouseEvent): void / * Get e Disable key * / inactive = new Inactive (); inactive.x = e.target.parent.x; // Aggiunto "genitore" perché il flash riconosce l'MC all'interno come "nome" inactive.y = e.target.parent.y; addChild (inactive); icontainer.push (inactive); chiavi ++; / * Riproduce suono * / btnSnd.play (); / * Controllare se la lettera è sulla parola * / index = currentWords.search (new String (e.target.parent.name)); if (index! = -1) / * Letter is on word * / for (var i: int = 0; i < letters.length; i++)  if (new String(e.target.parent.name) == letters[i])  tfs[i].text = new String(e.target.parent.name); correctLetters++;   if (correctLetters + spaces == letters.length)//If word is complete  win(); removeButtonListeners(buttons);   else  tries--; switch (tries)//Shows the parts of the hangman  case 6 : trace(6); break; case 5 : head.visible = true; break; case 4 : body.visible = true; break; case 3 : leftArm.visible = true; break; case 2 : rightArm.visible = true; break; case 1 : leftLeg.visible = true; break; case 0 : rightLeg.visible = true; for (var j:int = 0; j < letters.length; j++)//Shows the missing letters  if (tfs[j].length == 0)  tfs[j].textColor = 0xFF0000; tfs[j].text = letters[j];   removeButtonListeners(buttons); fail(); break; default : trace("Error");   

Passaggio 33: Ascoltatori di tastiera

Questo codice aggiunge gli ascoltatori della tastiera.

 funzione privata addButtonListeners (array: Array): void for (var i: int = 0; i < array.length; i++)  array[i].addEventListener(MouseEvent.MOUSE_UP, onKeyPress);  

E questo rimuove gli ascoltatori.

 funzione privata removeButtonListeners (array: Array): void for (var i: int = 0; i < array.length; i++)  array[i].removeEventListener(MouseEvent.MOUSE_UP, onKeyPress);  

Passaggio 34: funzione di Word corretta

Questa è la funzione che verrà eseguita quando l'utente indovina correttamente una o più parole.

 funzione privata win (): void / * Verifica vittoria * / corretto ++; if (correct == victory) alert = new AlertView (); alert.alertDialog.title.text = "Vinci"; alert.alertDialog.titleLP.text = "Vinci"; alert.alertDialog.content.text = "Fai clic su questa finestra per chiudere."; addChild (allarme); alertIsOnStage = true; tween = new Tween (alert.alertDialog, "scaleX", Strong.easeOut, 0.5, 1, 0.5, true); // Mostra la vista Alert alert.addEventListener (MouseEvent.MOUSE_UP, opBackHandler);  else tween = new Tween (tfCont, "x", Strong.easeIn, tfCont.x, stage.stageWidth + tfCont.width, 0.5, true); // Animazione della parola e impostazione di una nuova tween.addEventListener (TweenEvent .MOTION_FINISH, restart); 

Passaggio 35: Funzione Word errata

Questa è la funzione che verrà eseguita quando l'utente non riesce a indovinare correttamente la / e parola / e.

 funzione privata fail (): void / * Verifica l'errore * / fail ++; se (fallisce == lives) alert = new AlertView (); alert.alertDialog.title.text = "You Lose"; alert.alertDialog.titleLP.text = "You Lose"; alert.alertDialog.content.text = "Fai clic su questa finestra per chiudere."; addChild (allarme); alertIsOnStage = true; tween = new Tween (alert.alertDialog, "scaleX", Strong.easeOut, 0.5, 1, 0.5, true); alert.addEventListener (MouseEvent.MOUSE_UP, opBackHandler);  else tween = new Tween (tfCont, "x", Strong.easeIn, tfCont.x, stage.stageWidth + tfCont.width, 1, true); tween.addEventListener (TweenEvent.MOTION_FINISH, restart); 

Passaggio 36: Vista Opzioni

Questa funzione gestirà le animazioni di Vista Opzioni.

 funzione privata showOptionsView (e: MouseEvent): void options = new OptionsView (); addChild (opzioni); / * Questi sono i valori delle opzioni, presi dalle variabili * / options.category.text = categories [category]; options.victory.text = String (vittoria); options.lives.text = String (lives); tween = new Tween (opzioni, "x", Strong.easeOut, options.width, 0, 0.5, true); // Questo rende la vista delle opzioni visualizzata da destra a sinistra / * Listener di pulsanti * / options.back.addEventListener ( MouseEvent.MOUSE_UP, hideOptionsView); options.catButton.addEventListener (MouseEvent.MOUSE_UP, changeCategory); options.vicButton.addEventListener (MouseEvent.MOUSE_UP, changeVictory); options.livesButton.addEventListener (MouseEvent.MOUSE_UP, changeLives);  / * Questa funzione nasconde OptionsView utilizzando un'animazione * / funzione privata hideOptionsView (e: MouseEvent): void options.removeEventListener (MouseEvent.MOUSE_UP, hideOptionsView); tween = new Tween (opzioni, "x", Strong.easeOut, 0, options.width, 0.5, true); tween.addEventListener (TweenEvent.MOTION_FINISH, removeOptionsView);  funzione privata removeOptionsView (e: TweenEvent): void / * Rimuove il child * / removeChild (options); 

Passaggio 37: Funzione categoria

Questa funzione cambia la categoria, prendendo il valore dall'array delle categorie.

 funzione privata changeCategory (e: MouseEvent): void category ++; if (category> = categories.length) category = 0;  options.category.text = categories [category]; 

Step 38: Vittoria e vite

Gestisce la vi