[Guida]Salvataggio su file .ini
Inviato: 31/03/2014, 15:53
Visto che nelle ultime settimane c'è stata una grande e ripetuta richiesta di aiuto su come utilizzare i file .ini per salvare variabili, ho deciso di scrivere una piccola guida su come utilizzarli.
L'utilizzo di questo metodo è utilizzabile senza problemi sulla maggior parte degli exporter di GM:Studio (Android compreso).
Cercherò adesso di spiegarvi come utilizzare i file .ini di GM prendendo come esempio il salvataggio di due variabili globali: "global.record" e "global.gettoni".
Lettura/inizializzazione delle due variabili globali. Il seguente codice va inserito nell'evento Create (va bene anche un Alarm se necessario) di un oggetto presente nella prima room dopo l'avvio del gioco (il menu principale è perfetto).
Con "ini_read_real(section, key, default);" ordiniamo a GM di andare a cercare all'interno del file .ini "save.ini" nella sezione "save" il valore della chiave indicata, e di assegnare alla variabile globale il valore ottenuto. Se il file "save.ini", la sezione o la chiave non sono presenti allora la funzione restituirà il valore indicato come default (nel nostro caso 0. Es. global.record = 0;). Di conseguenza, ad esempio, se è la prima volta che avviamo il gioco e non sono stati ancora generati salvataggi le variabili globali che abbiamo indicato verranno inizializzate con il valore 0.
Scrittura di un valore all'interno del file .ini. Il seguente codice va inserito nell'evento Create (va bene anche un Alarm se necessario) di un oggetto presente a fine partita (quindi quando si è ottenuto il valore da aggiornare).
Con "ini_write_real(section, key, value);"ordiniamo a GM di andare a cercare all'interno del file .ini "save.ini" nella sezione "save" la chiave indicata, e di assegnargli il valore indicato. Nel nostro caso andremo ad assegnare il valore delle variabili globali indicate (in questo modo andremo ad aggiornare il loro valore).
Questo è tutto quello che ci serve per effettuare salvataggi tramite file .ini con GM:Studio.
Adesso per cercare di rendere il tutto più chiaro vi posterò un esempio pratico di come utilizzare quello che ho appena scritto per salvare il miglior record in un gioco.
obj_menu
Evento Create:
Nel gioco abbiamo delle monete, che collidendo con il pg, aumentano lo score di 1 (ovviamente la variabile score deve essere inizializzata ad inizio partita con uno "score = 0;"):
obj_moneta
Collsion Event:
obj_gameover
Evento Create:
Alarm[0]:
Spero di esservi stato d'aiuto!
Se avete domande o consigli scrivete pure qui!
L'utilizzo di questo metodo è utilizzabile senza problemi sulla maggior parte degli exporter di GM:Studio (Android compreso).
Cercherò adesso di spiegarvi come utilizzare i file .ini di GM prendendo come esempio il salvataggio di due variabili globali: "global.record" e "global.gettoni".
Lettura/inizializzazione delle due variabili globali. Il seguente codice va inserito nell'evento Create (va bene anche un Alarm se necessario) di un oggetto presente nella prima room dopo l'avvio del gioco (il menu principale è perfetto).
Codice: Seleziona tutto
ini_open("save.ini"); // Apriamo il file .ini chiamato "save.ini"
global.record = ini_read_real("save", "record", 0); // Inizializziamo la variabile "global.record"
global.gettoni = ini_read_real("save", "gettoni", 0); // Inizializziamo la variabile "global.gettoni"
ini_close(); //Chiudiamo il file "save.ini"
Scrittura di un valore all'interno del file .ini. Il seguente codice va inserito nell'evento Create (va bene anche un Alarm se necessario) di un oggetto presente a fine partita (quindi quando si è ottenuto il valore da aggiornare).
Codice: Seleziona tutto
ini_open("save.ini");
ini_write_real("save", "record", global.record);
ini_write_real("save", "gettoni", global.gettoni);
ini_close();
Questo è tutto quello che ci serve per effettuare salvataggi tramite file .ini con GM:Studio.
Adesso per cercare di rendere il tutto più chiaro vi posterò un esempio pratico di come utilizzare quello che ho appena scritto per salvare il miglior record in un gioco.
obj_menu
Evento Create:
Codice: Seleziona tutto
ini_open("save.ini");
global.record = ini_read_real("save", "record", 0);
ini_close();
obj_moneta
Collsion Event:
Codice: Seleziona tutto
score += 1;
Evento Create:
Codice: Seleziona tutto
if (score > galoba.record)
{
global.record = score;
alarm[0] = 5;
}
Codice: Seleziona tutto
ini_open("save.ini");
ini_write_real("save", "record", global.record);
ini_close();
Spero di esservi stato d'aiuto!
Se avete domande o consigli scrivete pure qui!