Anime Face Maker Chara Maker XP Generatore di Nomi Palette Colori

Login | Iscriviti






Indice » RMK Academy » Corsi Game-Making » Programmare in Lua


Apri un nuovo argomento Rispondi all’argomento  [ 11 messaggi ]  Vai alla pagina 1, 2  Prossimo

Autore
Cerca per:
Messaggio

Non connesso
Maker Viandante
Maker Viandante

Avatar utente
Status: Offline
Iscritto il: 24/11/2009, 16:55
Messaggi: 185
Località: Marte
Ruolo: Scripter
Progetto/i VX: Pokémon Starter Kit
Tool Preferito: C(++)ervello

Messaggio Inviato: 08/01/2010, 12:34 
Top  
Introduzione

Ciao a tutti! In questa sezione della RMK Academy tratteremo un corso sul Lua, un linguaggio di programmazione semplice, potente e "giovane" utilizzato prevalentemente nel campo del game development. Il corso consisterà in un'introduzione al linguaggio vero e proprio e nella sua applicazione pratica, attraverso l'utilizzo della console interattiva di Lua, un engine per la creazione di giochi in 2D (LOVE) e, per chi possiede una PSP montante custom firmware, il Lua Player. Al termine di ogni lezione proporrò alcuni esercizi (non obbligatori, ovviamente ^^) che verranno poi corretti e valutati, un po' come nel corso di RGSS.

Il Linguaggio

Lua è un linguaggio semplice ed intuitivo. La sintassi chiara e pulita permette di sviluppare algoritmi semplici e complessi, senza perdere la visione d'insieme del programma che si sta costruendo e consentendo un debug rapido del codice. Nonostante Lua non supporti la programmazione orientata agli oggetti di default, è comunque possibile costruire un sistema di classi ed oggetti con una semplicità incredibile.

Prima lezione - Installazione della console interattiva

In questo primo capitolo introduttivo installeremo Lua nel nostro bel PC. L'installazione permetterà al nostro computer di interpretare codice scritto in Lua, e ci fornirà il nostro primo strumento di lavoro: la console interattiva. Questo utile strumento non è altro che una finestra MS-DOS (console) in grado di accettare, dalla riga di comando, righe di codice Lua. La console è fondamentale per testare piccoli frammenti di codice dei quali non si conosce (o si vuole aprofondire) il comportamento, specialmente all'inizio del nostro "viaggio".

Ma bando alle ciancie! Iniziamo a preparare il nostro ambiente per accogliere questo nuovo linguaggio di programmazione!

- Andiamo a visitare il sito http://www.lua.org/, padre del linguaggio stesso!

- Fermiamoci ad ammirare il logo del linguaggio... E' bello o no? Entriamo nella sezione "download";

- Clicchiamo su "binaries", esattamente a destra di "source" e subito sotto al logo del linguaggio di programmazione;

- Non facciamoci catturare da tutti quei "bla-bla-bla" in inglese e clicchiamo nuovamente su "download", nel menu a sinistra;

- Scarichiamo il file "lua5_1_4_Win32_bin.zip", che dovrebbe essere il terzo della lista (dando per scontato che ognuno di voi stia utilizzando Windows). Non vi preoccupate, il file pesa meno di un megabyte!

- Ora creiamo una cartella chiamata "napco è fig..." ehm... "Lua" dove vogliamo, e scompattiamo al suo interno la cartella compressa appena scaricata. Al suo interno troveremo delle DLL delle quali non ce ne frega niente (per ora) ed una cartella della quale ci importa ancora meno... Gli elementi "veramente" importanti sono i 4 eseguibili che hanno come icona il logo di Lua. Questi eseguibili sono:

- "lua5.1.exe": Questa è la nostra console interattiva. Impariamo ad amarla!

- "wlua5.1.exe": Questa è una versione della console senza... console? Ok, può sembrare stupido, ma è molto utile per la costruzione di programmi che si basano su GUI (programmi grafici, giochi, finestre ecc...).

- "luac5.1.exe": Questo eseguibile, che non ho mai provato, consente di compilare il codice scritto in Lua, rendendolo illeggibile all'occhio umano. Non mi piace.

- "bin2c5.1.exe": Ho la netta impressione che questo file sia importante, ma non ho idea di cosa faccia...

Ciao da Lua! - Il nostro primo programma

Ok, è arrivato il momento di scrivere il nostro primo programma. Apriamo la console ("lua5.1.exe"). Verranno visualizzate diverse scritte nonsense e successivamente un prompt (riga di comando). Digitiamo
Codice:
print "Ciao da Lua!"
, premiamo invio e osserviamo con stupore e riverenza l'output del nostro programma... Bello, no?

Per chi si dovesse sentire demoralizzato dalla semplicità di "Ciao da Lua!" propongo un semplicissimo esercizio:

- Aprite il blocco note;

- Scrivete il codice utilizzato dal programma appena creato;

- Salvate con nome il file, utilizzando l'estensione ".lua" all'interno della cartella contenente la console;

- Aprite la console interattiva e digitate
Codice:
dofile("nomefile.lua")
sostituendo ovviamente il nome del vostro file a "nomefile";

Questo è un metodo alternativo per utilizzare la console di Lua, che permette di eseguire un intero file alla volta piuttosto che una sola riga. L'istruzione IMPORTANTISSIMA "dofile" verrà trattata più avanti...

Per oggi abbiamo finito... Spero che la lezione vi sia piaciuta! Se avete problemi di qualsiasi genere chiedetemi pure! A presto con la prossima lezione!


Podi raggiunti: | +
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire

 Profilo  

Non connesso
Maker Viandante
Maker Viandante

Avatar utente
Status: Offline
Iscritto il: 13/08/2009, 15:57
Messaggi: 187
Ruolo: Story Boarder
Progetto/i 2k/2k3: Aeterna Nova Lux
Progetto/i XP: The Black Mansion,<???>
Tool Preferito: Matita & Foglio bianco

Messaggio Inviato: 08/01/2010, 13:15 
Top  
Evviva, ce l'ho fatta, sono un genio della programmazione!
XD ok, aspetto altre lezioni.

Print"sono un figo"

EDIT:Niente compiti oggi?


ImmagineClicca qui per ingrandire
Massacratore n.1 del Mutiliamo gli RTP Contest
ImmagineClicca qui per ingrandire
Visionario n.2 del Chipset Pixelling Contest
Banditore n.1 dello Slogan Contest
Pittore n.3 del Banner Contest #3


  Missing_Seven: ma tu trix non fai mai niente tuto il giorno?  

 Profilo  

Non connesso
Fondatori
Fondatori

Avatar utente
Status: Offline
Iscritto il: 09/08/2009, 16:07
Messaggi: 3310
Immagini: 46
Località: Genova
Ruolo: Scripter
Progetto/i 2k/2k3: Elements
Progetto/i VX: Essence
Tool Preferito: Rm2k

Messaggio Inviato: 08/01/2010, 14:51 
Top  
Bella introduzione ^^
Il programma sembra semplice anche a livello programmatico,ma aspetto le altre prima di parlare xD
Comunque scarico anche io :)


Podi raggiunti nei contest
Spoiler: show
ImmagineClicca qui per ingrandire
ImmagineClicca qui per ingrandire

Figlio Illegittimo n°001 della:
ImmagineClicca qui per ingrandire
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire

Traduzione ufficiale italiana in collaborazione con rpgmakervx.com



Tutorial - Work in Progress | +
Tutorial Guida Base RMVX: |||||||||| Status: ImmagineClicca qui per ingrandire
Sintassi RGSS: |||||||||| Status: ImmagineClicca qui per ingrandire
Patch Italiana IndieGameMaker: |||||||||| Status: ImmagineClicca qui per ingrandire
XAS - Tutorial ABS Completo: |||||||||| Status: ImmagineClicca qui per ingrandire

<<Ma perchè mai devo riportare proprio tre ciocche dei capelli della Regina delle Fate? Perchè non tre o quattro?>>
<<Non ci sono altri numeri possibili, ragazzo mio, perchè tre è il numero del tempo; non parliamo forse di passato,presente e futuro? Tre è anche il numero della famiglia; non parliamo forse di madre, padre e figlio? Tre infine è il numero delle fate; non le cerchiamo forse tra querce, frassini e biancospini?
E così devo avere tre ciocche per tessere la mia magica treccia...>>

Tratto dal Gioco Valiant Dreamer ©

 Profilo  

Non connesso
Fondatori
Fondatori

Avatar utente
Status: Offline
Iscritto il: 12/08/2009, 12:22
Messaggi: 921
Ruolo: Eventer
Progetto/i VX: Rain's Legacy
Tool Preferito: Rpg Maker VX / Sharp Develop

Messaggio Inviato: 08/01/2010, 14:56 
Top  
mmh..per ora mi sembra molto C like..tra apici sempre stringhe..posso consigliare come IDE notepad++? se non sbaglio ha gli highlights per il LUA =D
Correggimi se sbaglio ^^


ImmagineClicca qui per ingrandire

Burle Simpatiche | +
[01:45:36] ­sai come far disconnettere un contatto? XD
[01:45:40] ­l'ho fatto con zhu
­rpgmkr.net-Marco scrive:
[01:46:15] ­l'ho letto su makerando
­trick0 scrive:
[01:46:27] ­si ma che metodo usi?
[01:46:37] ­io ne conosco uno più rapido
[01:46:39] ­scrivi
[01:46:41] ­ /exit
[01:46:48] ­SE hai il plus eh
[01:48:30] ­­rpgmkr.net-Marco si è disconnesso
­trick0 scrive:
[01:48:53] ­finisce in firma

Ecco perchè Rain's Legacy va avanti rapidamente | +
­trixter says:
[13:06:29] ­debugghiamo sto bs ti prego ç.ç
­Ichy says:
[13:07:08] ­ok dai
[13:07:19] ­è che avevo trovato la donna della mia vita
[13:07:26] ­può aspettare

 Profilo  

Non connesso
Moderatore rpgmkr.net
Moderatore rpgmkr.net

Avatar utente
Status: Offline
Iscritto il: 12/08/2009, 13:59
Messaggi: 304
Ruolo: Eventer
Progetto/i 2k/2k3: Valya - Eden Divide
Progetto/i XP: Restricted - Project 15

Messaggio Inviato: 08/01/2010, 18:00 
Top  
Notepad++ ha gli highlight per tutto (o quasi),io lo consiglio vivamente per chi programma con qualsiasi linguaggio


ImmagineClicca qui per ingrandire

ImmagineClicca qui per ingrandire

 Profilo  

Non connesso
Maker Viandante
Maker Viandante

Avatar utente
Status: Offline
Iscritto il: 24/11/2009, 16:55
Messaggi: 185
Località: Marte
Ruolo: Scripter
Progetto/i VX: Pokémon Starter Kit
Tool Preferito: C(++)ervello

Messaggio Inviato: 08/01/2010, 18:39 
Top  
Notepaad ++ è fantastico! Io lo uso anche per programmare in C/C++. E poi ha i temi ^^


Podi raggiunti: | +
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire

 Profilo  

Non connesso
Fondatori
Fondatori

Avatar utente
Status: Offline
Iscritto il: 09/08/2009, 16:07
Messaggi: 3310
Immagini: 46
Località: Genova
Ruolo: Scripter
Progetto/i 2k/2k3: Elements
Progetto/i VX: Essence
Tool Preferito: Rm2k

Messaggio Inviato: 08/01/2010, 18:40 
Top  
Si,lo uso molto anche io ^^
Le pagine della sezione games e tutto ilr esto,le ho create con quell'editor di testo.
Con gli altri,anche solo per modifiche a pagine .php,mi dava errori nonostante fosse stato effettuato tutto al meglio.


Podi raggiunti nei contest
Spoiler: show
ImmagineClicca qui per ingrandire
ImmagineClicca qui per ingrandire

Figlio Illegittimo n°001 della:
ImmagineClicca qui per ingrandire
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire

Traduzione ufficiale italiana in collaborazione con rpgmakervx.com



Tutorial - Work in Progress | +
Tutorial Guida Base RMVX: |||||||||| Status: ImmagineClicca qui per ingrandire
Sintassi RGSS: |||||||||| Status: ImmagineClicca qui per ingrandire
Patch Italiana IndieGameMaker: |||||||||| Status: ImmagineClicca qui per ingrandire
XAS - Tutorial ABS Completo: |||||||||| Status: ImmagineClicca qui per ingrandire

<<Ma perchè mai devo riportare proprio tre ciocche dei capelli della Regina delle Fate? Perchè non tre o quattro?>>
<<Non ci sono altri numeri possibili, ragazzo mio, perchè tre è il numero del tempo; non parliamo forse di passato,presente e futuro? Tre è anche il numero della famiglia; non parliamo forse di madre, padre e figlio? Tre infine è il numero delle fate; non le cerchiamo forse tra querce, frassini e biancospini?
E così devo avere tre ciocche per tessere la mia magica treccia...>>

Tratto dal Gioco Valiant Dreamer ©

 Profilo  

Non connesso
Newbie
Newbie

Avatar utente
Status: Offline
Iscritto il: 12/07/2010, 9:21
Messaggi: 7
Ruolo: Scripter
Tool Preferito: C++

Messaggio Inviato: 26/07/2010, 2:03 
Top  
Ho letto tutte le lezioni ben fatte. Mi sono imbattituto per puro caso in un forum che parla di Sweet. hai intenzione di continuarlo? perchè secondo me ne vale la pena. anzi ; - )


Partecipa alla creazione di un gioco 3D.
Il motore grafico usato è Irrlicht
Impara cose nuove, divertiti e aiutaci a crescere! :)

Link:

 Profilo  

Non connesso
Maker Viandante
Maker Viandante

Avatar utente
Status: Offline
Iscritto il: 24/11/2009, 16:55
Messaggi: 185
Località: Marte
Ruolo: Scripter
Progetto/i VX: Pokémon Starter Kit
Tool Preferito: C(++)ervello

Messaggio Inviato: 26/07/2010, 18:28 
Top  
Sweet è già completo, solo che non mi soddisfa abbastanza da renderlo pubblico, più che altro per il numero elevato di DLL da distribuire. Pensavo di provare OpenAL per l'audio e qualcosa di diverso da SDL_ttf per i fonts, giusto per vedere se riesco a ridurne il numero...


Podi raggiunti: | +
ImmagineClicca qui per ingrandireImmagineClicca qui per ingrandireImmagineClicca qui per ingrandire

 Profilo  

Non connesso
Newbie
Newbie

Avatar utente
Status: Offline
Iscritto il: 12/07/2010, 9:21
Messaggi: 7
Ruolo: Scripter
Tool Preferito: C++

Messaggio Inviato: 27/07/2010, 19:12 
Top  
interessante. cmq il numero dei dll non penso sarà un problema se poi agli utenti basta solo mettere i lua script ;-). per i fonts basta e avanza devil. penso che ormai sei in grado di farlo senza SDL basandonti solo su Devil, OpenGL e OpenAL. + lua ovviamente XD. Verrebbe fuori pure qualcosa di rapida esecuzione. Cmq se fai una release sono pure disposto farci un giochino semplice sopra e contribuire con un esempio in questo modo.


Partecipa alla creazione di un gioco 3D.
Il motore grafico usato è Irrlicht
Impara cose nuove, divertiti e aiutaci a crescere! :)

Link:

 Profilo  
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 11 messaggi ]  Vai alla pagina 1, 2  Prossimo


Vai a:  


Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati
News News Site map Site map SitemapIndex SitemapIndex RSS Feed RSS Feed Channel list Channel list
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
:: Style created by Ally for rpgmkr.net :: Tutti gli orari sono UTC [ ora legale ]
Traduzione Italiana phpBB.it
phpBB SEO
Protezione Hotlink