Julo Posted October 14, 2006 Share Posted October 14, 2006 (edited) Uso di Variabili e Switch nel Ruby Allora, faccio questa miniguida perchè vedo che tanti fanno la stessa domanda: "Come modifico le switch tramite Ruby? Come modifico le Variabili tramite Ruby?" (naturalmente su altri forum xDDDDD) beh, facile (xD) e ve lo spiego ora. Se tramite script devi modificare una switch per attivarla/disattivarla devi mettere questa stringa: $game_switches[IDswitch] = true / false spiegazione: IDswitch è il numero della switch e va messo senza gli zeri (se è numero 5 non va scritto 005, ma 5)true / false sarebbe se la vuoi attivare (true) o se la vuoi disattivare (false)ES:$game_switches[4] = true adesso che ci siamo capiti (spero °°) per le switch, passiamo alle variabili, che è più o meno la stessa cosa... Se tramite script devi modificare una variabile devi mettere questa stringa: $game_variables[IDvariabile] = valore variabile spiegazione: IDvariabile è il numero della variabile che, come nelle switch, va messo senza zerivalore variabile è il valore che vuoi assegnare alla variabile (come ad esempio un numero)ES:$game_variables[6] = 24 OK! Abbiamo finito la parte per modificare switch/variabili, adesso però se uno vuole far visualizzare una variabile?Molto facile, la variabile è salvata in $game_variables[iD] e quindi si può dedurre (almeno chi ne sa un pochino di scripting O_O) che basta bettere un to_s alla fine, quindi$game_variables[IDvariabile].to_sil ".to_s" serve per trasformare il valore della variabile in "stringa", cioè che il valore non è più un "numero" ma è una scritta che raffigura questo numero (spero di essermi spiegato bene).adesso faccio un esempio e poi finish (quasi xD) Allora, io voglio mettere che in una mia window creata mi compaia la variabile numero 52, scriverò così nel "def refresh" (preso esempio xD)self.contents.draw_text(50, 60, 100, 32, $game_variables[52].to_s)così mi crea il testo a distanza alle coordinate x,y rispettivamente 50,60 e me lo crea che come larghezza massima avrà 100 e come altezza 32 (il 32 è una specie di base, poi il 100 lo potete cambiare a seconda di quanto volete che sia il massimo di larghezza) Stessa cosa si può fare con le switch, ma non so a che può servire mostrare una switch O_O al massimo la possiamo usare così (faccio esempio)if $game_switches[3] == true #azioni da compiere se la switch numero 3 è attivata else #azioni da compiere se la switch numero 3 è disattivata end naturalmente verrebbe uguale anche con le variabili (faccio esempio)if $game_variables[6] == 34 #azioni da compiere se la variabile numero 6 è 34 else #azioni da compiere se la variabile numero 6 è 34 end Beh, spero serva a qualcuno ^^ se serve farò aggiornamenti O_O Edited October 14, 2006 by Julo Mammina... perchè mettono papà sotto terra? Ehi, signori, perchè lo mettete sotto terra? No! Non voglio! Se lo fate... ...il mio papà non può andare al lavoro! Papà ha detto che deve lavorare tanto! No! Non lo mettete sotto terra! PAPA'!! Link to comment Share on other sites More sharing options...
havana24 Posted October 14, 2006 Share Posted October 14, 2006 Bravo, spiegato molto bene. Aggiungo una piccola cosina, che a me é successa e potrebbe interessare un po' tutti:Se state per esempio facendo una IF sugli switch del gioco if $game_switches[3] == true #azioni da compiere se la switch numero 3 è attivata else #azioni da compiere se la switch numero 3 è disattivata end e non vi funziona...Controllate sempre di aver messo l'== e di non averlo scambiato con l'= e basta (che ricordo essere sbagliato, in quanto é una funzione di assegnamento).quindi == GIUSTO nelle IF= e basta é SBAGLIATO.Non é detto quindi che l'errore stia per forza nella dicitura $game_switches[3] ...Purtoppo nel ruby bisogna fare moltissima attenzione, la minima virgola sbagliata e non funziona piu' nulla. http://www.browsergamer.net/banner/190x60/browsergamer.jpg http://www.medioshopping.com/img/medioshopping_logo_mini.png www.havana24.net Premi vinti http://www.rpg2s.net/gif/GC_bestof1.gif http://www.rpg2s.net/gif/GC_bestoftool1.gif http://www.rpg2s.net/gif/GC_musica3.gif http://www.rpg2s.net/gif/GC_effettispeciali1.gif http://www.rpg2s.net/gif/GC_effettispeciali1.gif http://www.rpg2s.net/gif/GC_gameplay2.gif http://www.rpg2s.net/gif/GC_mapping1.gif http://www.rpg2s.net/gif/GC_programmazione1.gif http://www.rpg2s.net/gif/GC_programmazione1.gif http://www.rpg2s.net/gif/GC_trama1.gif http://www.rpg2s.net/gif/GC_grafica1.gif http://www.rpg2s.net/gif/GC_grafica1.gif http://www.rpg2s.net/gif/GC_premio3.gif http://www.rpg2s.net/gif/GC_premio3.gif http://www.rpg2s.net/gif/GC_premio1.gif http://www.rpg2s.net/gif/GC_premio1.gif http://www.rpg2s.net/gif/GC_premio1.gif http://www.rpg2s.net/gif/GC_premio1.gif http://www.rpg2s.net/awards/bestgraphic1.jpg http://www.rpg2s.net/awards/bestmaker1.jpg http://www.rpg2s.net/awards/bestmapper1.jpg http://www.rpg2s.net/awards/bestprogrammer3.jpg http://rpg2s.net/gif/SCContest1Oct.gif http://i54.tinypic.com/15cikht.gif http://img42.imageshack.us/img42/3015/terzoposto.png Link to comment Share on other sites More sharing options...
Julo Posted October 14, 2006 Author Share Posted October 14, 2006 sì giusto, lo dovrei sapere che si sbaglia facilmente tra = e == xD in classe non faccio altro che correggere questo agli amici °_° comunque thz :* Mammina... perchè mettono papà sotto terra? Ehi, signori, perchè lo mettete sotto terra? No! Non voglio! Se lo fate... ...il mio papà non può andare al lavoro! Papà ha detto che deve lavorare tanto! No! Non lo mettete sotto terra! PAPA'!! Link to comment Share on other sites More sharing options...
Alato Posted October 14, 2006 Share Posted October 14, 2006 Ben fatto Julo, molto chiaro. :chirol_iei2: Bravo, spiegato molto bene. Aggiungo una piccola cosina, che a me é successa e potrebbe interessare un po' tutti:Se state per esempio facendo una IF sugli switch del gioco if $game_switches[3] == true #azioni da compiere se la switch numero 3 è attivata else #azioni da compiere se la switch numero 3 è disattivata end e non vi funziona...Controllate sempre di aver messo l'== e di non averlo scambiato con l'= e basta (che ricordo essere sbagliato, in quanto é una funzione di assegnamento).quindi == GIUSTO nelle IF= e basta é SBAGLIATO.Non é detto quindi che l'errore stia per forza nella dicitura $game_switches[3] ...Purtoppo nel ruby bisogna fare moltissima attenzione, la minima virgola sbagliata e non funziona piu' nulla. Sono TUO_PADRE™ :chirol_gusun: o•°' - '°•oHei, mitä kuuluu? http://imagegen.last.fm/winterheadphones/recenttracks/5/Alato.gif Link to comment Share on other sites More sharing options...
FenriX` Posted January 16, 2008 Share Posted January 16, 2008 emm... scusa se te lo dico... ma non mi funziona nemmeno mezzo di questi comandi...tutte le volte che provo a modificare $game_switches[n] (con un numero al posto di n)o provo a vedere se è vero o falso... mi dice: Script 'Nomescript' Line (n): NoMethodError occurred.undefined method `[]=' for nil:NilClass Questo nel caso in cui gli do il comando, all'interno di una classe:$game_switches[n] = false - nell'inizialize Invece nel caso in cui do il comando:if $game_switches[n] == false - sempre in una classe mi compare quest'errore: Script 'Nomescript' Line (n): NoMethodError occurred.undefined method `[]' for nil:NilClass Pensavo che dipendesse dall'SDK questo problema... allora ho provato a spostare lo script al di fuori dell'SDK, ma il problema rimane cmq... potreste spiegarmi come fare pls? XDspero di non aver sbagliato posto per mettere la richiesta... nel caso in cui avessi sbagliato cancellate il post http://img48.imageshack.us/img48/7195/65408586.png«NEWS!!» http://img123.imageshack.us/img123/24/89057157.pnghttp://img115.imageshack.us/img115/5350/19481487.pnghttp://img407.imageshack.us/img407/2696/45573607.pnghttp://img185.imageshack.us/img185/373/70775921.png Membro # 8-8-8 [Hachi] della:http://img3.imageshack.us/img3/9636/bannergm.png Link to comment Share on other sites More sharing options...
ProGM Posted January 16, 2008 Share Posted January 16, 2008 le possibilità sono:1) questo script si attiva prima di Scene_Title, quindi le switch non vengono ancora caricate ^^2) hai sbagliato a scrivere XD posta il codice pliz °O° Progetti: http://i.imgur.com/jmLkIqi.pnghttp://i54.tinypic.com/2rh4ojq.pnghttps://github.com/ProGM Crea anche tu il tuo gioco per Game Boy! http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/img/fablecontest1st.pnghttp://i43.tinypic.com/1zokd2s.png http://i.imgur.com/BEu6G.gifhttp://i.imgur.com/H1ARhq7.gifhttp://i.imgur.com/Af6ijZN.gifAOT: Associazione Odiamo la Telecom:http://i.imgur.com/aYJs89E.png"4 gattini... 4 stelline... E le 4 paperelle non ci stavano :3"Flame http://i30.tinypic.com/i27ypj.png Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now