Imparare le Tecniche Avanzate Iniziare il Processo Scrivere un Semplice Gioco
ActionScript è basato su Java, e usa un sistema molto simile di pacchetti. I pacchetti ti permettono di archiviare variabili, costanti, funzioni e altre informazioni in file separati, e poi importare questi file nel tuo programma. Questo è particolarmente utile se vuoi usare un pacchetto sviluppato da qualcun altro e che semplificherà la creazione del tuo gioco. Se stai creando un gioco con molte immagini e clip audio, dovresti creare una struttura di cartelle per il tuo gioco. Questo ti permetterà di archiviare facilmente i diversi elementi, oltre a conservare i diversi pacchetti da chiamare. 		  Crea una cartella di base per il tuo progetto. Nella cartella di base, dovresti creare una cartella "img" per tutte le componenti grafiche, una cartella "snd" per tutti i suoni, e una cartella "src" per tutti i pacchetti di gioco e il codice.  Crea una cartella "Gioco" nella cartella "src" per conservare i tuoi file Constants.   Questa struttura particolare non è necessaria, ma ti permette di ordinare in modo semplice il tuo lavoro e i tuoi materiali, soprattutto in casi di progetti più grandi. Per il semplice gioco descritto in precedenza, non dovrai creare alcuna cartella. Un gioco senza suoni o musica annoierà velocemente il giocatore. Puoi aggiungere dei suoni agli oggetti in Flash usando lo strumento Layers. Se il tuo gioco ha molti valori che non cambiano nel corso di una partita, puoi creare un file Constants per conservarli tutti in un'unica posizione, così da poterli richiamare facilmente. Le costanti possono includere valori come gravità, velocità del giocatore, e gli altri valori che dovrai chiamare ripetutamente.   Se crei un file Constants, dovrai posizionarlo in una cartella del tuo progetto e poi importarlo come pacchetto. Ad esempio, immaginiamo che tu abbia creato un file Constants.as e l'abbia salvato nella cartella Gioco. Per importarlo dovrai usare il codice seguente:   package { 	import Gioco.*; } Anche se molti sviluppatori non rivelano il codice dei loro giochi, esistono molte guide e altri progetti aperti che ti permetteranno di visualizzare il codice e come questo interagisce con gli oggetti di gioco. Si tratta di un ottimo metodo per imparare delle tecniche avanzate che possono far risaltare il tuo gioco. Prima di iniziare a scrivere del codice, ti sarà utile avere una vaga idea del funzionamento del tuo gioco. Flash è più adatto ai giochi semplici, perciò concentrati sulla creazione di un gioco che prevede solo poche meccaniche di cui il giocatore debba preoccuparsi. Cerca di avere in mente un genere e alcune meccaniche prima di iniziare a creare il tuo prototipo. I più comuni giochi Flash includono:   Corsa infinita: in questi giochi il personaggio si muove automaticamente, e il giocatore deve solo saltare degli ostacoli o interagire in altro modo con il gioco. Il giocatore tipicamente avrà solo una o due opzioni di controllo. Picchiaduro: questi giochi sono tipicamente a scorrimento e il giocatore dovrà sconfiggere i nemici per progredire. Il personaggio ha spesso diverse mosse a sua disposizione per sconfiggere i nemici. Puzzles: questi giochi richiedono che il giocatore risolva dei rompicapi per superare ogni livello. Può trattarsi di giochi che richiedono di creare combinazioni di tre oggetti, come Bejeweled o puzzle più complessi che si trovano comunemente nei giochi di avventura. GDR: questi giochi si concentrano sullo sviluppo e la progressione del personaggio, e il giocatore dovrà muoversi in molteplici ambienti affrontando una varietà di nemici. Le meccaniche di combattimento variano moltissimo tra un GDR e l'altro, ma molti di essi sono a turni. I GDR possono essere molto più difficili da programmare dei semplici giochi d'azione. Flash è adatto ai giochi 2D. E' possibile creare giochi 3D in Flash, ma sono necessarie tecniche avanzate e una conoscenza significativa del linguaggio. Quasi tutti i giochi Flash di successo sono in 2D.  I giochi Flash sono più adatti alle sessioni di gioco brevi. Questo perché la maggior parte di chi gioca a dei videogiochi Flash lo fa quando ha poco tempo libero, ad esempio durante una pausa, e questo significa che le sessioni durano tipicamente 15 minuti o meno. I giochi Flash sono programmati in AS3, e dovrai comprendere il funzionamento di base di questo linguaggio per riuscire a creare con successo un gioco. Puoi creare un semplice gioco con un livello rudimentale di comprensione di come programmare in AS3.  Su Amazon e nelle librerie puoi trovare molti testi su ActionScript, oltre a molte guide ed esempi su internet. Questo programma è a pagamento, ma è il metodo migliore per creare velocemente dei programmi Flash. Sono disponibili altre opzioni, tra le quali alcune open-source, ma spesso hanno problemi di compatibilità o richiedono più tempo per completare le stesse operazioni.  Flash Professional è l'unico programma di cui avrai bisogno per iniziare a creare dei giochi. Quando stai creando un gioco semplice, userai molte diverse strutture di codice. Esistono tre parti principali di qualunque codice AS3:  		  Variabili - qui è dove vengono archiviati i tuoi dati. I dati possono essere numeri, parole (stringhe), oggetti e altro. Le variabili sono definite dal codice var e devono essere di una parola.   var Salutegiocatore:Number = 100; // "var" indica che stai definendo una variabile. // "saluteGiocatore" è il nome della variabile. // "Number" è il tipo di dati. // "100" è il valore assegnato alla variabile. // Tutte le righe di actionscript terminano con ";"     Gestori degli Eventi - i gestori degli eventi cercano specifici eventi e quando questi accadono lo comunicano al resto del programma. Sono fondamentali per gestire i controlli del giocatore e per ripetere del codice. I gestori degli eventi possono tipicamente chiamare delle funzioni.   addEventListener(MouseEvent.CLICK, fendenteSpada);  // "addEventListener()" definisce il gestore dell'evento. // "MouseEvent" è la categoria dell'ingresso che viene atteso. // ".CLICK" è l'evento specifico nella categoria MouseEvent. // "fendenteSpada" è la funzione che viene chiamata quando si verifica l'evento.     Funzioni - le sezioni di codice assegnate a una parola chiave che possono essere chiamate in seguito. Le funzioni gestiscono la gran parte della programmazione del gioco, e i giochi complessi possono avere centinaia di funzioni, mentre quelli più semplici solo alcune. Possono essere scritte in qualunque ordine, perché funzionano solo quando vengono chiamate.   function fendenteSpada (e:MouseEvent):void; { 	//Qui dovrai inserire il codice }  // "function" è la parola chiave che compare all'inizio di ogni funzione. // "fendenteSpada" è il nome della funzione. // "e:MouseEvent" è un parametro aggiuntivo, che mostra che la funzione  // viene chiamata da un gestore eventi. // ":void" è il valore restituito dalla funzione. Se nessun valore // deve essere restituito, usa :void. ActionScript viene usato per influenzare gli oggetti in Flash. Per creare un gioco, dovrai creare degli oggetti con cui il giocatore potrà interagire. Secondo le guide che stai leggendo, gli oggetti potrebbero essere definiti sprites, actors o movie clips. Per questo semplice gioco, creerai un rettangolo. 		  Apri Flash Professional se non l'hai già fatto. Crea un nuovo progetto ActionScript 3.  Fai click sullo strumento di disegno Rettangolo dal pannello Strumenti. Questo pannello può trovarsi in posizioni diverse secondo la configurazione di Flash Professional. Disegna un rettangolo nella tua finestra Scena.  Seleziona il rettangolo usando lo strumento Selezione. Dopo aver selezionato il tuo rettangolo appena creato, apri il menu Modifica e seleziona "Converti in Simbolo". Puoi anche premere F8 come scorciatoia. Nella finestra "Converti in Simbolo" dai all'oggetto un nome facile da riconoscere, come "nemico". 		  Trova la finestra Proprietà. Nella parte superiore della finestra, vedrai un campo di testo vuoto definito "Nome istanza" quando muoverai il mouse su di esso. Digita lo stesso nome che hai inserito al momento della conversione in simbolo ("nemico"). Questo creerà un nome unico con il quale sarà possibile interagire con il codice AS3.  Ogni "istanza" è un oggetto separato che può essere influenzato dal codice. Puoi copiare l'istanza già creata più volte facendo click sulla scheda Libreria e trascinando l'istanza sulla scena. Ogni volta che ne aggiungerai una, il nome sarà cambiato per indicare che si tratta di un oggetto separato ("nemico", "nemico1", "nemico2", ecc.).  Quando fai riferimento agli oggetti nel codice, dovrai semplicemente usare il nome dell'istanza, in questo caso "nemico". Una volta creata un'istanza, puoi modificarne le proprietà con AS3. In questo modo puoi spostare l'oggetto sullo schermo, ridimensionarlo, e così via. Puoi modificare le proprietà digitando l'istanza, seguita da un punto ".", seguito dalla proprietà e infine dal valore: 		  nemico.x = 150; Questo modifica la posizione dell'oggetto nemico sull'asse X.  nemico.y = 150; Questo comando modifica la posizione dell'oggetto del nemico sull'asse Y. L'asse Y viene calcolato dal lato superiore della scena.  nemico.rotation = 45; Ruota l'oggetto nemico di 45° in senso orario.  nemico.scaleX = 3; Allunga la larghezza dell'oggetto di un fattore 3. Un numero (-) invertirà l'oggetto  nemico.scaleY = 0.5; Riduce a metà l'altezza dell'oggetto. Questo comando restituisce il valore corrente degli oggetti specificati, ed è utile per capire se tutto viene eseguito correttamente. Potresti non includere il comando trace nel codice finale, ma è utile in fase di debug. Adesso che hai una comprensione di base delle funzioni principali, puoi creare un gioco dove un nemico cambia le sue dimensione ogni volta che farai click su di esso, fino all'esaurimento della sua salute.  var saluteNemico:Number = 100;  // imposta la salute del nemico a 100. var attaccoGiocatore:Number = 10;  // imposta la potenza di attacco del giocatore quando farà click.  nemico.addEventListener(MouseEvent.CLICK, attaccaNemico);  // Aggiungendo questa funzione direttamente all'oggetto nemico,  // la funzione sarà chiamata solo quando viene fatto click sull'oggetto stesso  // e non in qualunque altro punto dello schermo.  setposizioneNemico();  // Questo comando chiama la funzione seguente per posizionare il nemico // sullo schermo. Questo avviene all'avvio del gioco.  function setposizioneNemico ():void {  nemico.x = 200;   // posiziona il nemico a 200 pixel dalla sinistra dello schermo  nemico.y = 150;   // posiziona il nemico a 150 pixel dalla parte alta dello schermo  nemico.rotation = 45;   // ruota il nemico di 45° in senso orario  trace("il valore-x del nemico è", nemico.x, "e il valore-y del nemico è", nemico.y);   // Mostra la posizione attuale del nemico per rilevare eventuali errori }   function attaccaNemico (e:MouseEvent):void  // Questo comando crea la funzione attacco per quando viene fatto click sul nemico {  saluteNemico = saluteNemico - attaccoGiocatore;   // Sottrai il valore dell'attacco al valore di salute   // dando come risultato il nuovo valore di salute.  nemicoy.scaleX = saluteNemico / 100;   // Modifica la larghezza del nemico sulla base della sua salute.  // Il valore è diviso per 100 per trasformarlo in decimale.  nemico.scaleY = saluteNemico / 100;   // Modifica l'altezza del nemico sulla base della sua salute.    trace("Il nemico ha", saluteNemico);   // Dà come risultato la salute del nemico } Quando hai creato il codice, puoi provare il tuo nuovo gioco. Fai click sul menu Controllo e seleziona Testa Filmato. Il gioco avrà inizio, e potrai fare click sull'oggetto nemico per modificarne la dimensione. Nella finestra Output vedrai i risultati del comando trace.
 Impara il funzionamento dei pacchetti.  Crea le cartelle di progetto.  Aggiungi il suono al tuo gioco.  Crea un file Constants.  Studia i giochi delle altre persone. Progetta il tuo gioco. Impara gli aspetti migliori di Flash. Prendi familiarità con il linguaggio ActionScript3 (AS3). Scarica Flash Professional.  Impara a conoscere gli elementi costruttivi di base del codice AS3.  Crea un oggetto.  Assegna le proprietà all'oggetto.  Impara come cambiare le proprietà di un'istanza.  Esamina il comando trace().  Crea un semplice gioco con le informazioni fornite fin qui.  Prova il gioco.
https://www.wikihow.com/Make-a-Flash-Game https://www.wikihow.com/Make-a-Flash-Game https://www.wikihow.com/Make-a-Flash-Game
Learning Advanced Techniques Starting the Process Writing a Basic Game