Guida al LUA By Rinnegatamante Informazioni Il LUA è un linguaggio di programmazione dinamico, riflessivo, imperativo e procedurale, utilizzato come linguaggio di scripting di uso generico. E' nato nel 1993 dalle menti di Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes ed è considerato il linguaggio di programmazione per PSP più semplice e quindi più abbordabile. L'esecuzione su PSP è data da un esecutore denominato "LUA Player".Esiste anche una versione per Windows del suddetto programma. La nostra guida effettiva inizia ora. Requisiti - Unofficial Miro LUA V.2.6 Rev.B - Eboot.pbp del LUA Player HM 7 - PSP montante CF 3.52 o superiore - PC montante Windows XP o superiore - Memory Stick da 32 mb minimo - Tanta buona volontà Introduzione al Linguaggio Ora vi spiegherò i principali segni che vengono utilizzati per la programmazione in LUA: , = Questo comando serve per scandire e separare due variabili ( ) = Rispettivamente per aprire e chiudere una funzione,una variabile,un ciclo o altro Molto semplice vero? Lezione 1: Hello World L'Hello World cnsiste nel stampare sullo schermo della PSP una semplice scritta. Iniziamo installando ed aprendo l'Unofficial Miro LUA,una volta aperto premiamo su File e poi su Nuovo e creiamo una Nuova Pagina.Salvatela dove vorrete e chiamatela "SYSTEM.lua" Ora vi uscira scritto sullo schermo una riga di colore verde,cancellatela!Bene,lo spazio dove avete cancellato la scritta è il vostro foglio di lavoro dove scriverete tutti i codici e i programmi che creerete in futuro. Iniziamo col definire che colore utilizzare per la nostra scritta e scriviamo così: Code nomedelcolore = Color.new(var1,var2,var3) Sostituiamo nomedelcolore col il nome del colore che abbiamo scelto e sostituiamo var1,var2,var3 ai valori di Rosso,Verde e Blu che ha il colore che vogliamo fare.Per vedere tali colori apriamo il Paint di Windows,clicchiamo su Colori e poi su Modifica Colori(in alto)clicchiamo sul colore da usare,clicchaimo su Definisci colori personalizzati e vedrete tre parametri,corrisponderanno a quelli che dovrete inserire al posto dei tre var: nel mio esempio scriverò: Code verde = Color.new(0,255,0) fatto questo andiamo accapo e scriviamo: Code sfondo = Image.createEmpty(480,272) Questo comando serve per creare un immagine vuota,i numeri 480 e 272 corrispondono alla grandezza in pixel che dovrà avere l'immagine e noi abbiamo messo questi numeri perchè sono rispettivamente larghezza ed altezza dello schermo della PSP. Dopo di ciò andiamo accapo e scriviamo: Code screen:blit(0,0,sfondo,0,0,sfondo:width(),sfondo:height(),false) Analizziamo il codice: screen definisce che si agirà sullo schermo e non su di una immagine blit comando per stampare sullo schermo delle immagini 0,0 rispettivamente la posizione X(larghezza) ed Y(altezza) dell'immagine o scritta o linea da stampare sfondo in questo caso il nome che abbiamo dato all'immagine creata sfondo:width() questo comando dice che la larghezza dell'immagine sarà uguale a 480 sfondo:height() questo comando dice che l'altezza dell'immagine saràuguale a 272 false dice che l'immagine da stampare non deve essere trasparente(se si mette true sara trasparente) Dopo aver scritto questo andiamo accapo e scriviamo: Code screen:print(0,0,"Hello World",nomedelcolore) Analizziamo quest'altro codice: screen gia abbiamo imparato a cosa serve print questo comando viene utilizzato per stampare a schermo una scritta 0,0 gia sappiamo a cosa serve "Hello World" questo è il testo che verrà stampato,si mette sempre fra le virgolette nomedelcolore qui dovrete mettere il nome del colore che avevate precedentemente scritto Dopo di tutto ciò possiamo avviarci alla chiusura del file.Scriviamo: Code screen:flip() screen:waitVblankStart() Questi comandi servono per definire la fine del codice e l'attesa dello schermo prima di essere pulito(con il comando waitVblankStart) non avendo messo nessun numero l'attesa sarà infinita. Ricapitolando ecco il codice come si presenterà nel mio esempio: Code verde = Color.new(0,255,0) sfondo = Image.createEmpty(480,272) screen:blit(0,0,sfondo,sfondo:width(),sfondo:height(),false) screen:print(0,0,"Hello World",verde) screen:flip() screen:waitVblankStart() Salviamo il codice.Colleghiamo la PSP al PC,posizioniamoci sulla cartella PSP/GAME ( dove vanno tutte le homebrew che scarichiamo e che creeremo),creiamo una cartella a piacere e inseriamoci dentro l'EBOOT del LUA Player HM 7,poi creiamo sempre in questa cartella un'altra cartella denominata SYSTEM ed inseriamoci dentro il file SYSTEM.LUA,scolelghiamo la psp e proviamo la nostra homebrew. Lezione 2: Le Variabili E' ora di capire cosa sono le variabili e come si utilizzano. Le variabili possono far riferimento ad un numero,ad una stringa o ad una funzione e/o variabile. Ecco un esempio di ognuno dei casi sopraddetti: Code variabilenumero = 1 variabilestringa = "Ciao" variabilefunzione = System.currentDirectory() variabilevariabile = variabilenumero Analizziamo i vari casi e vediamo il loro possibile uso: Tutte le variabili da come vedete hanno un nome e per definire da cosa sono formate si usa il simbolo =. La variabilenumero si puo usare per calcoli matematici o per definire il valore di una certa funzione.Ecco 2 esempi: Code risultato = variabilenumero + 1 screen:print(variabilenumero,0,"Hello World",verde) Il primo codice dice che la variabile denomianta risultato sarà il risultato del valore di varaibilenumero + 1 quindi risultato varrà 2. Per il secondo caso invece la variabile viene usata per selezionare la posizione della scritta. Il risultato della variabilestringa deve essere immessa sempre fra virgolette e puo essere usata per essere considerato come un testo o la posizione di un file. Esempi: Code screen:print(0,0,variabilestringa,verde) dofile(variabilestringa) Nel primo codice la variabile viene usata come se fosse il testo da stampare mentre nel secondo come se fosse un file(il comando dofile serve per aprire dei file LUA) Arriviamo alla variabile funzione che viene usata per semplificarci le idee,è utile se si vogliono raggruppare tutti i comandi a inizio foglio oppure per non dover riscrivere il codice di una funzione ogni volta.Esempio: Code screen:print(0,0,variabilefunzione,verde) Con questo codice stamperemo a schermo la posizione in cui ci troveremo nelle directory(esempio la cartella della nostra hb) Invece per le variabili che utilizzano altre variabili,sono le meno utilizzate perchè le meno utili.Possono servire per creare delle variabili da salvare prima che vengano modificate ma questo sistema lo vedremo più in la.
|