Home Game Maker
27 | 11 | 2009
Menu Principale
Programmazione
I miei programmi

FLASH

ITALIANO

MATEMATICA

VARIE

UTILITA'

I codici sorgente dei programmi contrassegnati da un * sono visualizzabili e scaricabili solo dagli utenti registrati
 
Game Maker
Indice
Game Maker
Fuggi Fuggi 02
Fuggi Fuggi 03
Fuggi Fuggi 04
Fuggi Fuggi 05
Fuggi Fuggi 06
Fuggi Fuggi 07
Fuggi Fuggi 08
Fuggi Fuggi 09
Tutte le pagine

Ecco una attività con Game Maker progettata e realizzata a Mediaexpo 2008.

Fuggi Fuggi

Obiettivo: un personaggio spostabile con i tasti cursore deve evitare di farsi colpire mentre raccoglie dei diamanti, da una pallina che vaga sullo schermo rimbalzando sui bordi. Se il personaggio viene colpito, il gioco ricomincia, altrimenti quando ha raccolto tutti i diamanti, compare una pallina in più e il gioco diventa sempre più complesso fino alla inevitabile disfatta. La sfida è quella di resistere il più a lungo possibile!

Diamo per scontato che abbiate installato il programma gratuito Game Maker; se non lo avete fatto ecco un piccolo tutorial per provvedervi: download e installazione Game Maker e in fondo all'articolo troverete anche il link per scaricare il manuale in lingua italiana.

Il programma Game Maker si presenta con una schermata in cui sono individuabili un menù orizzontale classico, una toolbar orizzontale contenente icone che avviano le principali operazioni replicando le selezioni possibili da menù, e un'area di cartelle per contenere gli oggetti che saranno utilizzati nella programmazione. L'area maggiore è occupata dalla zona che mostra via via il lavoro che si sta facendo.

I giochi funzionano nelle "Stanze" (Room) per cui per iniziare occorre crearne una utilizzando il menù "Resources/Create Room " o cliccando sulla sua icona nella toolbar

 

Si apre la finestra della creazione delle stanze: occorre assegnare un nome identificativo (useremo per ora il nome livello01) e come titolo (Caption for the room) daremo il nome del gioco: Fuggi Fuggi. Volendo si possono settare le dimensioni dell'area di gioco che per ora lasceremo a 640 x 480 e con velocità (Speed) di 30 fotogrammi al secondo.

Per non lasciare lo sfondo con un colore uniforme caricheremo uno sfondo formato da una immagine (gray2.gif) utilizzando il menu o l'icona "Create Background" e poi il pulsante Load Background.

 


Al "Name" assegneremo il nome "sfondo"

Si devono ora preparare i 3 "disegni" (sprite) che verranno utilizzati per la realizzazione del gioco: un fantasmino, una palla, i mattoni per costruire il muro su cui rimbalza la palla. Per caricare gli elementi suddetti già presenti all'interno della cartella sprite abbinata al programma, utilizzeremo il menù "Create Sprite" o il suo pulsante nella toolbar

Con il pulsante Load Sprite carichiamo i tre sprite a cui assegneremo i rispettivi nomi


Il programma gestisce ed opera con gli oggetti per cui bisogna creare degli oggetti che possono essere legati ai disegni (sprite). Noi creeremo 3 oggetti che ci serviranno per la realizzazione del gioco che in questo caso corrisponderanno ai 3 sprite e utilizzeremo gli stessi nomi tenendo bene a mente che quando programmeremo eventi ed azioni staremo programmando gli oggetti (objects) e non i disegni (sprites).

fino ad avere 3 oggetti a disposizione: fantasmino, palla, mattone.

 A questo punto si deve preparare lo scenarioper il nostro gioco: cominciamo ad allestire la "stanza". Facendo un doppio clic su "livell01" si apre la finestra "Room properties"; selezionare la linguetta "objects" ed attraverso il pulsantino in basso "Object to add with left mouse" mettiamo come oggetto corrente su cui lavorare il mattone


Usando il tasto sinistro del mouse possiamo aggiungere gli oggetti nella stanza. Se commettiamo degli errori di posizionamento possiamo eliminare gli oggetti cliccandoli col tasto destro del mouse. Costruiamo un muro di mattoni sui bordi della stanza (se non la vediamo tutta usiamo le barre per lo spostamento)

 Con lo stesso sistema inseriamo nella "stanza" una palla e un fantasmino. (Ricordare per inserire 1- mettere come oggetto corrente quello da inserire in modo che sia visibile nell'area della linguetta object, 2- cliccare col tasto sinistro del mouse nel punto della stanza dove si vuol posizionare l'oggetto 3- se lo si vuol eliminare cliccare su di esso col tasto destro del mouse). Ora lo scenario è pronto e bisogna programmare eventi ed azioni. Prima di passare a questa fase conviene salvare il lavoro.

Facendo un doppio clic sull'oggetto palla nella colonna delle cartelle dei vari elementi si apre la finestra di programmazione riguardanti l'oggetto palla. La finestra presenta 4 colonne: lacolonna informativa e di settaggio dell'oggetto, la colonna degli eventi, la colonna delle azioni, la colonna della scelta grafica delle azioni. Ogni oggetto può avere degli eventi ed a seguito di un evento si avranno delle azioni. Ad esempio noi vogliamo che all'avvio della stanza la pallina cominci a muoversi in una direzione obliqua casuale: l'avvio della stanza è l'evento che si verifica, la partenza della palla è l'azione legata a questo evento.

 Facendo clic sul pulsante"Add Event" si apre una finestra di pulsanti che ci mostra quali eventi sono possibili: creazione dell'oggetto, distruzione dell'oggetto, avviso, una sequenza, una collisione con un altro oggetto, l'uso della tastiera,l'uso del mouse, il disegno, la pressione di un tasto, il rilascio di un tasto, altri eventi. Quello che cerchiamo: l'apertura ddella stanza lo troviamo proprio in altri eventi:


 Facendo clic sul pulsante "Other" si apre un menu contestuale da dove scegliamo "Room start" (all'avvio della stanza)

 Nella finestra degli eventi si posiziona un simbolo, dall'ultima colonna agganciamo il pulsante del movimento fisso, rappresentato da frecce direzionali rosse, e trasciniamolo nella finestra delle azioni. Ci si aprirà una finestra ove selezionare le direzioni che dovrà prendere la palla e inseriamo la velocità di movimento della stessa.

 Selezioniamo le 4 frecce oblique e diamo una velocità di 8 alla prima prova vedremo se il movimento della palla dovrà essere inferiore o superiore a 8)

Aggiungiamo con lo stesso sistema altri due eventi: la collisione col muro e la collisione col fantasmino.
Quando la palla collide col muro deve rimbalzare, aggiungiamo quindi l'evento collisione e trasciniamo poi nell'area azioni il pulsante "bounce" che aprirà la finestra dei settaggi da settare come in immagine: azione da applicare su di sè (palla) con rimbalzo non preciso in caso di forme irregolari, e con tutti gli oggetti mattone.

Per la collisione col fantasmino dovremo cercare l'azione del riavvio della stanza. Utilizziamo le linguette poste sul lato destro della finestra. Cerchiamo la "main2" e tra le varie azioni troviamo la "Restart the game" che evidentemente non ha opzioni.

A questo punto possiamo salvare e provare il lavoro fatto fino ad ora, utilizzando la freccetta verde della toolbar. Il gioco inizia e se abbiamo fatto tutto correttamente vedremo la palla partire in una direzione obliqua casuale, rimbalzare quando sbatte sul muro, riavviare il gioco quando sbatte sul fantasmino!

 


E' ora il momento di programmare il movimento del fantasmino che deve fuggire il contatto con la palla.

 

 

Per fare questo utilizzeremo gli eventi Keyboard ed esattamente Left, Right, Up, Down e ad ognuno di questi eventi assegneremo la corretta direzione della fuga del nostro personaggio.

Dovremo anche tener conto che il nostro personaggio, quando collide col muro deve arrestare la sua corsa (nemmeno il nostro fantasmino deve abbandonare la stanza). Inseriremo perciò un ultriore evento: la collisione contro il muro che verrà unito ad una azione di movimento nullo con velocità 0. In questo modo ora il nostro fantasmino potrà essere spostato utilizzando i tasti di direzione e non oltrepasserà il muro di recinzione.

 

Salvare ed avviare il gioco: per ora funziona tutto ciò che abbiamo eseguito ma manca scopo finale e dinamicità del gioco stesso.


Si può pensare a questo punto di sviluppare ulteriormente il gioco inserendo lo scopo del nostro fantasmino: raccogliere i 4 diamanti sparsi nella stanza; quando i diamanti sono finiti deve passare al livello successivo. In questo modo il gioco sarà completo.

 A questo proposit, facendo tesoro di quanto appreso in precedenza, aggiungiamo agli sprites lo sprite che rinomineremo "diamante" e ricordiamoci di creare l'oggetto da chiamare anche diamante, che sarà collegato all'omonimo sprite. Dopo averlo messo come oggetto corrente in uso, sistemiamone 4 nella stanza.

 Facendo un doppio clic sull'oggetto "palla" nell'elenco degli oggetti, aggiungiamo un nuovo evento: la collisione con il diamante. Evidentemente la palla dovrà rimbalzare quindi trascineremo il pulsante "bounce" con i settaggi visibili in figura.

Anche per il fantasmino dovremo settare un nuovo evento: la collisione con il diamante. Gli assegneremo l'azione"destroy" rappresentata da un cestino ma attenzione perchè la distruzione non deve essere su self (altrimenti a scomparire sarebbe il fantasmino) ma su "other" come visibile nell'immagine.

 Aggiungeremo anche un'altra azione: dalla linguetta score selezioniamo l'azione"Set Score" Imposta il punteggio mettendo il valore a 1 e selezionando la casella "relative". Questo permetterà di aggiungere 1 al punteggio precedente (relative), ogni volta che il fantasmino "prende" un diamante.

 A questo punto dobbiamo costruire la funzione di controllo per controllare quando tutti i diamanti saranno stati presi per poter passare alla schermata successiva (ancora da costruire).


Selezioneremo l'azione "Test Score" Controlla Punteggio, mettendo il valore da controllare a 4 come i diamanti ed operation a equal to: se il punteggio è uguale a 4..... (cioè se tutti i diamanti sono stati presi.....

 Dalla linguetta "control" inseriamo l'azione "Start of block" Inizio blocco di azioni da eseguire se la condizione precedente è vera (sono stati presi tutti e 4 i diamanti?)

 Nel blocco inseriremo una solaazion: passare al livello successivo "Go to next room" inserendo anche uno degli effetti di transizione (scegliete quello che vi piace di più).

 A questo punto possiamo chiudere il blocco di azioni (in questo caso il blocco contiene una sola azione).


Per non stare a ripetere tutto il lavoro fatto, per costruire una nuova stanza facciamo clic col tasto destro del mouse sulla stanza livello01 e selezioniamo duplicate: verrà creata subito una stanza identica che andremo a rinominare e in cui inseriremo piccole varianti (non sarà necessario inserire nuovi eventi o azioni)

Nel nostro esmpio abbiamo aggiunto una nuova pallina ad ogni livello e dei muretti di rimbalzo ove ripararsi.

 

A questo punto si presenta un solo piccolo problema: passando al secondo livello bisogna azzerare il punteggio altrimenti il gioco non funziona in quanto il contatoredei punti, quando il fantasmino prenderà un diamante, aumenterà di una unità e quindi andrà a 5 e non si potrà verificare più la condizione: punteggio uguale a 4?. Possiamo inserire l'avvio del punteggio a zero nel primo evento che abbiamo configurato per la palla: avvio della stanza "Start room" in modo che all'avvio di ogni stanza partano le palline ma nel contempo il punteggio si azzeri (attenzione a non settare il check box di relative, il punteggio deve essere azzerato in modo assoluto).

Ora il gioco avrà tre livelli ma voi potete metterne quanti ne volete! L'ultima stanza dovrebbe essere poi quello della fine del gioco e contenere solo un messaggio di felicitazioni in modo che il gioco stesso finisca, altrimenti se si cerca di andare alla stanza successiva che non c'è il gioco va in errore!

Buon gioco!!!!!!!

 
Login



Visitatori
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterOggi34
mod_vvisit_counterIeri116
mod_vvisit_counterQuesta settimana608
mod_vvisit_counterQuesto mese3987
Forum - Ultimi interventi
Siti Software Didattico


 
 
 

...altri visualizzabili nella sezione Web link