• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Salvare il gioco
#6
(14-03-2015, 01:49 AM)miticobeppe Ha scritto: Se unity e i suoi programmatori hanno questa pecca con il serializzatore, figurati una semplice persona come noi, la vedo difficile programmarsi da solo una roba del genere!

Beh, in realtà ti devo contraddire. Né Unity, né i suoi programmatori hanno questa "pecca".
Per spiegarti meglio la situazione: Unity si divide in Editor ed Engine. L'Editor è l'ambito in cui modifichi gli oggetti nello spazio, aggiungendo componenti, modificando valori, ecc... L'Engine è il motore vero e proprio ed è quella componente che andrà a fare girare il gioco, anche durante i test.
Ora, possiamo dire che per quanto riguarda l'Editor sia stato programmato un serializzatore a parte, o per meglio dire, nel serializzatore dell'Editor ci sono caratteristiche che sono state invece bloccate nel serializzatore dell'Engine. Questo perché in realtà è possibile serializzare i prefab, ma solo nell'ambito dell'Editor. Infatti ogni volta che trascini un oggetto dall'Inspector alle cartelle degli Assets, non stai facendo altro che serializzare l'oggetto salvandolo con il formato ".prefab" nel tuo pc. Ed in effetti si può anche serializzare un oggetto tramite script, ma sempre in Editor Mode.

Detto ciò non è impossibile scrivere un serializzatore, semplicemente non l'hanno voluto implementare nell'Engine. Io, purtroppo, non sono ancora a livelli tali da permettermi di scrivere un serializzatore, ma c'è chi l'ha fatto.
Se cercate su google "whydoidoit" potete scaricare "Unity Serializer", che altro non è che un serializzatore scritto da un programmatore da implementare nel proprio progetto.
Dando sempre il mio parere personale, preferisco ammazzarmi a trovare metodi macchinosi che possano risultare anche obsoleti, piuttosto che utilizzare script fatti da altri trovati in rete. Almeno posso dire di essere stato io a fare l'intero gioco.

Detto ciò, il metodo consigliato da Blackg96 è il metodo più consono nel tuo caso, alla fine devi salvare soltanto qualche variabile.
(14-03-2015, 03:00 PM)Blackg96 Ha scritto: Esistono i playerprefs, che permettono di salvare sul registro di sistema : Stringhe (string) - Numeri interi (int) - Numeri decimali (float)


(14-03-2015, 08:58 AM)Master Gabriel Ha scritto: Io vorrei salvare quante monete ha guadagnato il player, quali oggetti ha comprato allo shop e quali livelli ha completato. Per gli ultimi due penso che con il PlayerPrefs si riesca a fare, ma le monete?

In realtà è tutto al contrario. La cosa più facile sarà salvare le monete, dato che è una semplice variabile intera. Per salvare le altre cose, tipo quali oggetti ha comprato allo shop, ti dovrai rifare a parecchie variabili intere utilizzate come booleane.
Ad esempio:
PlayerePrefs.SetInt("Pistola", 1);
PlayerePrefs.SetInt("Fucile", 0);

Dove 1 sta per "comprato" e 0 sta per "non comprato". Ovviamente potresti utilizzare anche altri valori, tutto a tua discrezione, il mio era solo un esempio su come potresti gestire la cosa, dal momento che non ho neanche il gioco davanti.
 
  


Messaggi in questa discussione
Salvare il gioco - da Master Gabriel - 13-03-2015, 09:53 AM
RE: Salvare il gioco - da Johnny 97 - 13-03-2015, 01:18 PM
RE: Salvare il gioco - da miticobeppe - 14-03-2015, 01:49 AM
RE: Salvare il gioco - da Master Gabriel - 14-03-2015, 08:58 AM
RE: Salvare il gioco - da Blackg96 - 14-03-2015, 03:00 PM
RE: Salvare il gioco - da Johnny 97 - 15-03-2015, 02:52 PM
RE: Salvare il gioco - da Master Gabriel - 16-03-2015, 10:26 AM

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Aumentare il volume principale di un gioco Nexal 5 513 07-01-2018, 03:19 PM
Ultimo messaggio: Blackg96
  Autodesk Gamewere, potrebbe aiutarmi a creare il mio gioco? Biagino 4 1,032 30-09-2014, 01:07 PM
Ultimo messaggio: ALFREDO77

Vai al forum:


Browsing: 1 Ospite(i)