[GUIDA] Guida Basilare all'RGSS2 - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Rpg Maker Italia (https://www.making-videogames.net/giochi/Forum-Rpg-Maker-Italia) +--- Forum: Rpg Maker Vx (https://www.making-videogames.net/giochi/Forum-Rpg-Maker-Vx) +---- Forum: Script Rpg Maker Vx (https://www.making-videogames.net/giochi/Forum-Script-Rpg-Maker-Vx) +---- Discussione: [GUIDA] Guida Basilare all'RGSS2 (/thread-GUIDA-Guida-Basilare-all-RGSS2) |
[GUIDA] Guida Basilare all'RGSS2 - Johnny 97 - 01-05-2011 Su richiesta di Zapetino, ho fatto questa guida e la posto qui su Making Videogames. Mi scuso con Zapetino per il ritardo. La copia di questa guida è vietata, se non con l’autorizzazione dell’autore. L’RGSS2, è il linguaggio di programmazione utilizzato in RPG Maker VX. Imparando questo linguaggio, si potranno aggiungere nuove funzioni al gioco, migliorare script ecc… L’RGSS” è una versione migliorata, o meglio, aggiornata dell’RGSS, utilizzato in RPG Maker XP. L’RGSS2 (così come l’RGSS) è una variante del Ruby, e non è molto complesso, ma bisogna comunque impararlo bene per ottenere risultati decenti. Come per quasi tutti gli altri linguaggi di programmazione, bisogna essere a conoscenza di una buona parte della lingua inglese per memorizzare facilmente tutto o quasi, comunque, come già detto prima, non è complicato… Iniziamo con lo scoprire le varie parti principali in uno script: LE CLASSI: Le Classi possono essere definite il gruppo principale in cui si sviluppa lo script. Senza una classe, uno script non può funzionare. Alcuni script hanno più di una classe per questioni di funzionalità, ma questo, non ci importa al momento. Le classi iniziano con il comando Codice: class Codice: end Codice: class Nome_Classe Codice: class SottoClasse < Nome_Classe LE METHOD DEFINITIONS: Le Method Definitions, sono importanti quanto le classi, in quanto possono essere considerate come dei sottogruppi. Senza di esse, lo script non funzionerebbe . Il tipo di Method Definitions da utilizzare dipendono dallo scopo dello script. Le Method Definitions, iniziano con il comando Codice: def Codice: end Codice: def main (Svolge le funzioni principali, se è presente in uno script è sempre messo all’inizio, ed è sconsigliato da utilizzare per dei principanti) Ne conosco molti, eh? xD Comunque, vi ripeto quest’argomento sulle Method Definitions non l’ho ancora capito tanto bene, e non sono sicuro sulle funzioni dei def postati sopra. Per fare pratica, consiglio di utilizzare il Codice: def initialize AGGIORNAMENTO 28/07/2012: E' passato un bel po' di tempo da quando ho scritto questa guida e da allora ho scoperto qualcosa in più, soprattutto su che cosa sono queste "def". Innanzitutto, quasi tutto ciò che ho scritto sopra, riguardante le def, è sbagliato. Alla fine del post avrete altre informazioni. I COMMENTI: Il commento, è l’unica parte dello script che non viene elaborata dal compilatore, cioè, il commento non ha alcun effetto sullo script, è utilizzato soltanto per annotare qualcosa, magari per dare istruzioni per l’impostazione dello script. Comunque, nel suo piccolo, è molto utile perchè, come già detto, è utilizzato dagli autori degli script per comunicare con chi userà lo script. Per scrivere un commento basta anteporre il # nella riga. Codice: #Questo è un commento Codice: #Questo è un commento Codice: =inizio commento LE CONDIZIONI: Le condizioni, possono essere considerate la parte portante di uno script. Quasi tutti gli script hanno bisogno di queste funzioni particolari, perché permettono di impostare meglio uno script. Le condizioni iniziano con il comando if (Che in inglese significa “se”) e terminano con… vabbè non ve lo dico… ormai credo l’abbiate capito che tutto termina con quel comando che mi sono stufato di pronunciare xD [spoiler]una vocina dal nulla parla… la sento… cosa dice? Codice: end Codice: if tu stai leggendo questa guida Codice: if tu stai leggendo questa guida Codice: il computer dice “ciao!” Codice: end Un’altra struttura è : Codice: if tu stai leggendo questa guida Codice: if tu stai leggendo questa guida Codice: il computer dice “ciao!” Codice: else Codice: il computer ti dice “Leggimi!”[code] Questa è “l’altra azione”.E’ l’azione da copiere se la prima azione (Quella con l’if) non viene compiuta. In questo caso, se tu non stai leggendo questa guida, il computer ti dice “Leggimi!” Poi ci sono strutture più complesse ancora, dove ci sono if dentro if, if dentro else e molto altro, che oggi non analizzeremo. Inoltre, una fi può essere sviluppata tutta su una riga sola, così: Codice: if tu stai leggendo questa guida then Il computer dice “ciao!” else il computer ti dice “Leggimi!” end LE VARIABILI: Le variabili, sono molto utilizzate nelle condizioni, o per impostare qualcosa. Esistono 3 tipi di variabili: Variabili Locali (Quella di cui vi ho parlato prima), che funziona solo nella classe in cui è stata impostata; Variabili Istanze , che funziona in tutto lo script; Variabili Globali, che funziona in tutti gli script del gioco. Esempi: Codice: variabile_locale #Inizia con una lettera minuscola Codice: @variabile_istanza #Inizia con @ Codice: $variabile_globale #inizia con $ Codice: class prova Codice: @variabile = ciao Codice: @variabile = nil LE SWITCH: Utili come le variabili, ma hanno meno possibilità di settaggio, infatti può essere settata solo su ON o OFF. Ecco due esempi di switch: Codice: @switch = true #Switch ON Codice: @switch = false #Switch OFF Codice: if @switch == true/false #Controllla se la switch @switch è ON/OFF VARIABILI GLOBALI UTILI: Il gioco, utilizza molte variabili globali, ad esempio, ce n’è una per I soldi, una per indicare le variabili impostate dalla finestra eventi, ecc… Queste variabili globali, possono essere molto utili nella creazione degli script. Ecco qui le più importanti: Codice: $game_switches[switch_id] #E’ una switch impostata dalla finestra eventi. Al posto di switch_id va inserito l’ID della switch. Credo che questi vi basteranno e avanzeranno per iniziare a scriptare… Bene adesso che abbiamo finito una parte di teoria (Il resto lo analizzeremo in un’altra futura guida, al momento usate questa parte di RGSS2), passiamo alla pratica. Proveremo a fare uno script, che aggiunge al giocatore 900 monete, sela prima switch del gioco è attivata. E’ uno script semplicissimo da fare, iniziamo! Come prima cosa, bisogna mettere la classe e la method definition: Codice: class Cheat_Soldi #Classe e nome della classe Codice: if $game.switches[0001] == true #Controlliamo se la switch 0001 è attiva Codice: class Cheat_Soldi Spero abbiate capito tutto xD Ciao, e grazie per aver letto la guida! La copia della seguente guida è vietata a chiunque, se non con l’autorizzazione dell’autore (Io xD) AGGIORNAMENTO 28/07/2012: Presto posterò una nuova guida nella sezione RPG Maker VX Ace, che riprenderà alcuni concetti di questa guida per approfondirli (Come ad esempio le method definitions, che non ho spiegato bene in questa guida), e spiegherò le varie differenze fra i vari RGSS (RGSS in RPGM XP, RGSS2 in RPGM VX e RGSS3 in RPGM VX Ace). RE: [GUIDA] Guida all'RGSS2 - Zapetino - 01-05-2011 grazie mille lo avevo gia iniziato a studiare ma grazie lo stesso! tra un po posto il mio primo script ah delle precisazioni : la classe deve avere la prima lettera maiuscola e se non sbaglio non può contenere numeri RE: [GUIDA] Guida all'RGSS2 - Johnny 97 - 01-05-2011 scusa per il ritardo... ci sono stato più del previsto... si, la classe deve iniziare con la lettera maiuscola e non deve contenere numeri, me ne ero dimenticato, adesso modifico, grazie... comunque, per quanto riguarda le def, sai qualcosa in più? perchè non ne sono tanto sicuro... RE: [GUIDA] Guida all'RGSS2 - Zapetino - 01-05-2011 i metodi servono per creare azioni personalizzate so usarli ma non so come spiegarlo XD poi inseriscinella guida l'uso delle azioni attr_reader, attr_writer e attr_accessor che se non sai cosa sono ecco la spiegazione XD : allora quando dichiaramo una variabile in una classe a meno che non siano variabili globali non saranno visibili al di fuori di essa quindi si usano le seguenti funzioni per attr_reader per leggere la variabile fuori dalla classe attr_writer per scriverla attr_accessor per entrambe le azioni si usa così Codice: attr_accessor : ciccio ah dimenticavo: per dichiarare un classe derivata da un altra si fa così: Codice: class Mia_classe < Nome_Classe_Madre RE: [GUIDA] Guida all'RGSS2 - Alche - 02-05-2011 bravissimi tutti e due, grazie. RE: [GUIDA] Guida all'RGSS2 - Johnny 97 - 02-05-2011 (01-05-2011, 10:54 PM)Zapetino Ha scritto: poi inseriscinella guida l'uso delle azioni attr_reader, attr_writer e attr_accessorsi, questo lo sapevo, ma non ho voluto inserirlo per non fare confusione, dato che chi leggerà questa guida saràa alle prime armi... ho messo le nozioni di base... poi magari farò un'altra guida (quando imparerò meglio l'rgss2...), ma forse, arriverai prima a farla tu... (01-05-2011, 10:54 PM)Zapetino Ha scritto: ah dimenticavo:C'è gia scritto, guarda bene xD Piccola curiosità, tutti i tuoi avatar ballano? xD RE: [GUIDA] Guida all'RGSS2 - Zapetino - 02-05-2011 ah si non l'avevo visto XD |