content top

Programmare un Platform

Programmare un Platform

Programmare un Platform   In questo tutorial andremo ad esaminare solo alcuni aspetti della programmazione di un Platform, in quanto, progettare un Platform EngineMotore di gioco Platform... professionale richiede molto tempo e lavoro!   Definizione di Platform Game   Platform Game, Platform o Platformer sono termini che indicano videogames dove la meccanica di gioco implica l’attraversamento di livelli costituiti da piattaforme (spesso disposte su più piani). Ricorderete sicuramente ii Platform più famoso di tutti: Super Mario Bros!     Caratteristiche dei Platform   In questo genere di videogames la complessità sta nel gestire la fisica del gioco, collisioni, gravità, movimenti, salti (doppi salti… tripli salti… e chi più ne ha più ne metta! 😀 ) e la gestione della velocità di movimento del giocatore che deve essere in sincronia con la velocità di scorrimento dei frames delle animazioni. Noi tratteremo solo gli aspetti base: movimenti, gravità, salti e collisioni con un Object solido.     Scaricate il Materiale!   Scaricate i due sprites che ho preparato per voi… DOWNLOAD SU MEDIAFIRE!     Creazione del Progetto   Create un nuovo progetto in GameMaker: Studio ed importate i due sprites (spr_giocatore e spr_terreno). Impostate Precise Collision Checking ad entrambi gli sprites. Ora create due Objects, nominateli Terreno e Giocatore ed assegnategli i rispettivi sprites. Assegnate la proprietà Solid all’Object Terreno: in questo modo verrà generato un evento di collisione speciale per cui l‘istanza che collide torna automaticamente alla posizione precedente alla collisione. Create una nuova Room (640 x 480 pixels) ed impostate la Speed a 60 frames al secondo. Posizionate l’Object Terreno nell’angolo in alto a sinistra della Room (x: 0 e y: 0). Posizionate l’Object Giocatore al centro della Room un po’ più in alto dell’Object Terreno. Ora dovreste avere una situazione del genere:   Creazione del Giocatore   Aprite le proprietà dell’Object Giocatore, e nel Create Event scrivete il codice seguente: velocita = 4;//imposta la velocità del Giocatore salto = 8;//imposta la forza del salto effettuato dal Giocatore max_pixel = 15;//numero massimo di pixel scalabili dal Giocatore   La funzione che dovranno svolgere le prime due variabili è abbastanza chiara, la funzione della terza variabile invece la capirete fra poco… 😉   Controllare la Gravità   Nel GML (Game Maker Language) esiste già una variabile built-inInstallata, incorporata, inclusa nel software. che ci consente di controllare la gravità: la variabile gravity! Per gestire questa variabile avremo bisogno di uno Step Event quindi createlo ed inserite il seguente codice: //imposta la direzione della gravità: 0 = verso destra, 90 = verso l’alto, 180 = verso sinistra, 270 = verso il basso gravity_direction = 270; //Se il Giocatore non collide verso il basso (quindi non è...

Read More

Trigonometria con lengthdir

Trigonometria con lengthdir

Non è così complicata come sembra!   Trigonometria: solo il termine è spaventoso! Non avendola mai studiata alle scuole superiori ammetto che all’inizio spaventava anche me! 🙂 Tuttavia potete stare tranquilli: GameMaker ci aiuta come sempre con la sua semplicità! 😉 In questo tutorial vi spiegherò quando si ha la necessità di applicare funzioni trigonometriche. Verranno trattati anche alcuni concetti riguardanti la goniometriaTeoria della misurazione degli angoli. (che è parte della trigonometria).   Definizione di Trigonometria   La trigonometria (dal greco trígonon, cioè triangolo), è la parte della matematica che studia i triangoli. Così come rivela l’etimologia del nome, consiste nel calcolare le misure che caratterizzano gli elementi di un triangolo (lati, angoli, mediane, ecc.).   Trigonometria nei Videogames   La trigonometria potrebbe essere applicata per creare movimenti circolari, effetti ondulati, in un videogame 3D potrebbe essere applicata per consentire alla telecamera di ruotare intorno ad un targetObiettivo, bersaglio..., oppure potrebbe essere utile per stabilire l’esatta posizione di creazione di un proiettile in corrispondenza della pistola e della direzione del giocatore: immaginate uno sparatutto 2D con vista dall’alto in stile Grand Theft Auto 1:   Trigonometria in GameMaker   Una volta stabilita la lunghezza del raggio di una circonferenza, e la misura in gradi di un angolo, possiamo disegnare a video un triangolo. Create un nuovo Object chiamato Trigonometria e nel Create Event scrivete: raggio = 100;//raggio della circonferenza angolo = 30;//misura dell’angolo x = room_width/2;//posiziona l’oggetto orizzontalmente al centro della room y = room_height/2;//posiziona l’oggetto verticalmente al centro della room   Ora create un Draw Event e cominciate a disegnare uno sfondo, un cerchio e due assi come riferimento: //DISEGNA LO SFONDO draw_set_color(make_color_rgb(34,34,34));//imposta il colore di sfondo draw_rectangle(0,0,room_width,room_height,0);//disegna lo sfondo //DISEGNA UN CERCHIO E DUE ASSI draw_set_color(make_color_rgb(255,128,128));//imposta il colore del cerchio e degli assi draw_circle(x,y,raggio,true);//disegna il cerchio draw_line(0,room_height/2,room_width,room_height/2);//disegna l’asse orizzontale draw_line(room_width/2,0,room_width/2,room_height);//disegna l’asse verticale   draw_circle(x,y,raggio,true);//UTILIZZA LA VARIABILE RAGGIO CHE ABBIAMO DICHIARATO NEL CREATE EVENT! Sempre nel Draw Event, disegnate un triangolo utilizzando le variabili che abbiamo dichiarato nel Create Event: //DISEGNA UN TRIANGOLO draw_set_color(make_color_rgb(255,184,113));//imposta il colore del triangolo draw_line(x,y,x+lengthdir_x(raggio,angolo),y+lengthdir_y(raggio,angolo));//disegna l’ipotenusa draw_line(x,y,x+lengthdir_x(raggio,angolo),y);//disegna il cateto orizzontale draw_line(x+lengthdir_x(raggio,angolo),y,x+lengthdir_x(raggio,angolo),y+lengthdir_y(raggio,angolo));//disegna il cateto verticale   La funzione lengthdir_x(len,dir) viene utilizzata per ottenere il componente x di una posizione len pixels dal punto di partenza e in direzione dir. Immaginate un cerchio intorno alla vostra istanza, poi immaginate un punto qualsiasi su quel cerchio. Per muovere l’istanza verso quel punto abbiamo bisogno di spostare l’Object di molti pixels in quella direzione, quindi questa funzione (quando usata in combinazione con lengthdir_y(len,dir)) ottiene la posizione di quel punto sul cerchio:   Ora create una RoomUna stanza, un livello., ed inserite l’Object Trigonometria al suo interno. Infine compilate l’eseguibile cliccando sul pulsante Run...

Read More

Basi del GML

Basi del GML

Basi della Programmazione   Per linguaggio di programmazione si intende un linguaggio dotato di una sintassi che permette di codificare algoritmi e strutture dati. Tutti i linguaggi di programmazione hanno in comune la gestione di questi due elementi: Variabili: sono locazioni di memoria, indispensabili per memorizzare informazioni. Istruzioni: sono anche chiamate funzioni, e sono dei comandi che il computer traduce ed esegue. Il computer è una macchina e come tale esegue semplicemente i comandi da voi impartiti. Stà a voi stabilire un insieme di regole che diano una logica alla vostra applicazione.   Variabili   Una variabile può essere considerata come un contenitore, una scatola contenente un qual cosa. Siamo noi a dover decidere il nome e il contenuto della variabile. Nel Game Maker Language una variabile può contenere sia un valore numerico1, 2, 3, -1, -2, -3 (positivo o negativo) oppure una stringa'Questa è una stringa!' (una sequenza di caratteri), oppure ancora un valore booleanotrue (significa vero ed equivale ad una variabile numerica con un valore pari a 1) oppure false (significa falso ed equivale ad una variabile numerica con un valore pari a 0) (true o false). Una variabile deve essere prima dichiarata per poter essere utilizzata: variabile1 = 0;//questa è una variabile con un valore numerico variabile2 = “Questa è una stringa!”;//questa è una variabile con una stringa di testo variabile3 = true;//questa è una variabile con un valore booleano   Il punto e virgola ; và inserito alla fine di ogni dichiarazione. Il testo che si trova successivamente i due slash //, GameMaker lo interpreta come commento e non come codice. Può essere utile commentare lo script per ricordare le funzioni che svolgono le variabili all’interno del codice o semplicemente per aiutare un secondo programmatore a capire cosa stavamo programmando in una determinata porzione di codice… Sono da notare anche i doppi apici e gli apici singoli “” o ‘’ utili per dichiarare stringhe di testo. Per inserire un commento multi riga si utilizzano i simboli /* e */: /*Questo è un commento multi riga*/   Se siete nel Code Editor potete anche assegnare un titolo all’icona Execute CodeL'icona si trova nelle proprietà degli Objects (Oggetti) nel pannello 'control'. scrivendo un commento con tre slash /// nella prima riga di codice: ///Questo è un titolo   Definizione di un Programma   Un programma è un insieme di istruzioni (chiamate statements, cioè dichiarazioni) che inizia con parentesi graffa aperta { e finisce con una parentesi graffa chiusa }: { statement; statement; statement; ecc… }   Come ho spiegato nel paragrafo precedente alla fine di ogni dichiarazione deve essere presente il punto e virgola: non è obbligatorio scriverlo infatti GameMaker non vi...

Read More
content top