Flash è un formato popolare per i videogiochi per browser, come siti come Newgrounds e Kongregate. Sebbene il formato Flash tenda a essere sottoutilizzato nelle applicazioni mobili, ci sono ancora molti giochi di qualità che continuano a essere realizzati utilizzando Flash. Flash utilizza ActionScript, un linguaggio facile da imparare e che fornisce il controllo sugli oggetti sullo schermo. Vedi il passaggio 1 di seguito per imparare a creare un gioco Flash di base.
Fare un passo
Parte 1 di 3: Per iniziare
Passaggio 1. Progetta il gioco
Prima di iniziare a programmare, crea un'idea approssimativa del tuo gioco. Flash è più adatto per i giochi semplici, quindi concentrati sulla creazione di giochi che hanno pochissime meccaniche di gioco. Definisci il genere e le meccaniche di gioco prima di avviare il prototipo. I giochi flash comuni includono:
- Runner senza fine: il gioco sposta automaticamente i personaggi. I giocatori devono saltare gli ostacoli o interagire con il gioco. I giocatori di solito hanno solo una o due opzioni di controllo.
- Combattenti: il gioco è solitamente a scorrimento laterale. I giocatori devono sconfiggere il nemico per avanzare. Il personaggio del giocatore ha diverse mosse per sconfiggere il nemico.
- Enigmi: i giocatori devono risolvere enigmi per superare ogni livello. A partire dallo stile di unire oggetti tridimensionali come Bejeweled, a puzzle complessi come i giochi di avventura.
- RPG: il gioco si concentra sullo sviluppo e il progresso del personaggio. I giocatori si muovono attraverso molte situazioni diverse e diversi tipi di nemici. Le meccaniche di combattimento variano ampiamente, ma molti di questi tipi sono a turni. I giochi di ruolo sono molto più difficili da codificare rispetto ai semplici giochi d'azione.
Passaggio 2. Comprendi quali sono i vantaggi del flash
Flash è più adatto per i giochi 2D. Flash può essere creato per creare giochi 3D, ma è molto complicato e richiede più conoscenze. Quasi tutti i giochi Flash di successo hanno un formato 2D.
I giochi in flash sono anche più adatti per sessioni veloci. Questo perché la maggior parte dei giocatori gioca quando ha poco tempo libero, come le pause, il che significa che le sessioni di gioco durano solitamente 15 minuti al massimo
Passaggio 3. Acquisire familiarità con il linguaggio ActionScript3 (AS3)
I giochi flash sono programmati in AS3 e dovrai avere una conoscenza di base di come funzionano per avere successo nella creazione di giochi. Puoi creare giochi semplici con una conoscenza di base del codice in AS3.
Ci sono molti libri ActionScript disponibili su Amazon e altri negozi, insieme a una varietà di tutorial e avvenimenti su Internet
Passaggio 4. Scarica Flash Professional
Questo programma è un po' costoso, ma è molto buono per creare programmi flash velocemente. Esistono molte altre opzioni di programma, comprese quelle open source, ma generalmente sono meno compatibili o richiedono più tempo per completare la stessa attività.
Flash Professional è l'unico programma di cui hai bisogno per iniziare a creare giochi
Parte 2 di 3: scrittura di giochi di base
Passaggio 1. Comprendere gli elementi costitutivi di base del codice AS3
Il gioco base ha diverse strutture di codice. Ci sono tre parti principali del codice AS3:
-
Variabili: si tratta di come vengono archiviati i dati. I dati possono essere numeri, parole (stringhe), oggetti e altro. Le variabili sono definite dal codice var e devono essere costituite da una parola.
var playerSalute:Numero = 100; // "var" indica che stai definendo una variabile. // "playerHealth" è il nome della variabile. // "Numero" è il tipo di dati. // "100" è il valore assegnato alla variabile. // Tutte le righe dell'actionscript terminano con ";"
-
Gestore di eventi: il gestore di eventi cerca determinate cose che sono accadute, quindi notifica il resto del programma. Questo è importante per l'input del giocatore e il codice ripetuto. I gestori di eventi di solito chiamano le funzioni.
addEventListener(MouseEvent. CLICK, swingSword); // "addEventListener()" definisce un gestore di eventi. // "MouseEvent" è la categoria dell'input ascoltato. // ". CLICK" È un evento specificato nella categoria MouseEvent. // "swingSword" è la funzione che viene chiamata quando si verifica l'evento.
-
Funzione - Una parte di codice assegnata a una parola chiave e che può essere chiamata in seguito. Le funzioni gestiscono la maggior parte della programmazione di giochi e un gioco complesso può avere centinaia di funzioni. Le funzioni possono essere in qualsiasi ordine perché funzionano solo quando vengono chiamate.
function swingSword(e:MouseEvent):void; { //Il tuo codice qui } // "funzione" è la parola chiave che appare all'inizio di ogni funzione. // "swingSword" è il nome della funzione. // "e:MouseEvent" è un parametro aggiunto, che indica // che la funzione è stata chiamata dal listener di eventi. // ":void" è il valore restituito dalla funzione. // Se non viene restituito alcun valore, usa:void.
Passaggio 2. Crea un oggetto
ActionScript viene utilizzato per influenzare gli oggetti in Flash. Per creare un gioco devi creare oggetti con cui i giocatori possano interagire. A seconda della guida che leggi, gli oggetti possono essere indicati come sprite, attori o film. Per questo semplice gioco, creerai un rettangolo.
- Apri Flash Professional. Crea un nuovo progetto ActionScript 3.
- Fare clic sullo strumento di disegno Rettangolo dal pannello Strumenti. Questo pannello potrebbe trovarsi in una posizione diversa, a seconda della configurazione di Flash Professional. Disegna un rettangolo nella finestra della scena.
- Seleziona il rettangolo usando lo strumento Selezione.
Passaggio 3. Impostare le proprietà sull'oggetto
Seleziona il rettangolo appena selezionato, vai al menu Modifica e seleziona "Converti in simbolo". Puoi anche premere F8 come scorciatoia. Nella finestra "Converti in simbolo", assegna all'oggetto un nome facilmente riconoscibile, ad esempio "nemico".
- Individua la finestra Proprietà. Nella parte superiore della finestra, ci sarà un campo di testo vuoto etichettato "Nome istanza" quando passi il mouse su di esso. Dagli lo stesso nome di quando l'hai trasformato in un simbolo ("nemico"). Questo crea un nome univoco per l'interazione tramite il codice AS3.
- Ogni "evento" è un oggetto separato che può essere influenzato dal codice. Puoi copiare gli eventi che sono stati creati più volte facendo clic sulla scheda Libreria e trascinandoli nella scena. Ogni volta che viene aggiunto un evento, il suo nome cambia per indicare che l'oggetto è separato ("nemico", "nemico1", "nemico2", ecc.).
- Quando si fa riferimento a un oggetto in codice, è sufficiente utilizzare il nome dell'evento, in questo caso "nemico".
Passaggio 4. Scopri come modificare le proprietà di un evento
Una volta creato l'evento, è possibile impostarne le proprietà tramite AS3. Ciò consente di spostare gli oggetti, ridimensionarli e così via. Puoi personalizzare una proprietà digitando l'occorrenza, seguita da un punto ".", quindi seguita dalla proprietà, seguita dal valore:
- nemico.x = 150; Ciò influisce sulla posizione degli oggetti nemici sull'asse X.
- nemico.y = 150; Ciò influisce sulla posizione degli oggetti nemici sull'asse Y. L'asse Y viene calcolato dalla parte superiore della scena.
- nemico.rotazione = 45; Ruota gli oggetti nemici di 45° in senso orario.
- nemico.scalaX = 3; Allunga la larghezza dell'oggetto nemico di un multiplo di 3. Il segno (-) capovolgerà l'oggetto.
- nemico.scalaY = 0,5; Modifica l'altezza dell'oggetto a metà della sua altezza corrente.
Passaggio 5. Osservare il comando trace()
Questo comando restituirà il valore corrente dell'oggetto specificato ed è utile per determinare se tutto funziona come dovrebbe. Probabilmente non includerai il comando Trace nel tuo codice finale, ma può essere utile per individuare l'origine del codice non riuscito.
Passaggio 6. Costruisci il gioco base utilizzando le informazioni di cui sopra
Ora hai una conoscenza di base delle funzioni principali. Puoi creare un gioco in cui ogni volta che si fa clic su un nemico la dimensione diminuirà, fino a quando il nemico non verrà distrutto
var nemicoHP:Numero = 100; // Imposta l'HP (salute) del nemico a 100 all'inizio del gioco. var playerAttack:Number=10; // Imposta la quantità di potenza d'attacco del giocatore quando si fa clic. nemico.addEventListener(MouseEvent. CLICK, attackEnemy); // Aggiungendo questa funzione direttamente all'oggetto nemico, // questa funzione si verifica solo quando viene // fatto clic sull'oggetto stesso e non quando fa clic in qualsiasi punto dello schermo. setEnemyLocation(); // Richiama la seguente funzione per posizionare il nemico // sullo schermo. Questo accade quando inizia il gioco. function setEnemyLocation():void { nemico.x = 200; // Sposta il nemico di 200 pixel dalla sinistra dello schermo nemico.y = 150; // Sposta il nemico di 150 pixel verso il basso dalla parte superiore dello schermo nemico.rotation = 45; // Ruota il nemico di 45 gradi in senso orario traccia ("il valore x del nemico è", nemico.x, "e il valore y del nemico è", nemico.y); // Visualizza la posizione corrente del nemico per trovare la fonte dell'errore } function attackEnemy (e:MouseEvent):void // Crea una funzione di attacco quando si fa clic sul nemico { nemicoHP = nemicoHP - playerAttack; // Sottrae il valore di attacco dal valore HP, // Genera un nuovo valore HP. nemico.scaleX = nemicoHP / 100; // Modifica la larghezza in base al nuovo valore HP. // Il valore viene diviso per 100 e quindi convertito in decimale. nemico.scaleY=nemyHP / 100; // Cambia l'altezza in base alla nuova traccia del valore HP ("I nemici hanno", nemicoHP, "HP rimanenti"); // Mostra quanti HP sono rimasti al nemico }
Passaggio 7. Provalo
Dopo aver codificato, puoi testare questo nuovo gioco. Fare clic sul menu Controllo e selezionare Prova filmato. Il gioco inizia e puoi fare clic su un oggetto nemico per ridimensionarlo. L'output della traccia verrà visualizzato nella finestra Output.
Parte 3 di 3: apprendimento di tecniche avanzate
Passaggio 1. Scopri come funzionano i pacchetti
ActionScript è basato su Java e utilizza un sistema di pacchetti molto simile. Con i pacchetti puoi memorizzare variabili, costanti, funzioni e altre informazioni in file separati e quindi importare questi file nel programma. Ciò è particolarmente utile se si desidera utilizzare pacchetti sviluppati da altre persone che semplificano la creazione dei giochi.
Cerca una guida su Wikihow per maggiori dettagli su come funzionano i pacchetti in Java
Passaggio 2. Crea la cartella del progetto
Se stai creando un gioco che contiene immagini e clip audio, crea una struttura di cartelle nel gioco. Troverai più facile memorizzare diversi tipi di elementi e salvare diversi pacchetti da chiamare.
- Crea una cartella di base per il tuo progetto. Nella cartella di base, crea una cartella "img" per tutte le risorse artistiche, una cartella "snd" per tutte le risorse audio e una cartella "src" per tutti i pacchetti di giochi e codici.
- Crea una cartella "Giochi" nella cartella "src" per memorizzare il file Constants.
- Questa particolare struttura non è necessaria, ma renderà più semplice organizzare il lavoro di tutti i materiali, soprattutto per i progetti più grandi. Per il semplice gioco descritto sopra, non è necessario creare alcuna directory.
Passaggio 3. Aggiungi l'audio al gioco
I giochi senza audio o musica annoieranno rapidamente i giocatori. Puoi aggiungere suoni agli oggetti usando lo strumento Livelli.
Passaggio 4. Creare il file delle costanti
Se il tuo gioco ha molti valori che rimarranno gli stessi per tutta la partita, puoi creare un file Constants per raccoglierli tutti in un unico posto in modo che possano essere facilmente evocati. Le costanti possono includere valori come gravità, velocità del giocatore e altri valori che potrebbero dover essere chiamati ripetutamente.
-
Se hai creato un file Constants, mettilo in una cartella nel progetto e poi importalo come pacchetto. Supponiamo di creare un file Constants.as e di inserirlo nella cartella dei giochi. Per importarlo, usa il seguente codice:
pacchetto { import gioco.*; }
Passaggio 5. Guarda il gioco degli altri
Sebbene molti sviluppatori non divulgheranno il loro codice di gioco, ci sono una varietà di progetti tutorial e altri progetti open source che ti permetteranno di visualizzare il codice e interagire con gli oggetti di gioco. Questo è un ottimo modo per imparare una varietà di tecniche avanzate che possono aiutare il tuo gioco a distinguersi.