Creare Videogiochi - Game Developer

Versione completa: Scelta livelli in menu iniziale..?? Domanda..
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Ciao ragazzi..

Nel mio gioco, vorrei creare una scelta livelli che consiste nella classica pagina piena di quadrati, per aprire la 2* bisogna completare la prima e così via.. Voleva provare a mettere uno script, però o pensato che il gioco non salverà, e quindi bisogna iniziare ogni volta da capo.. Sapeste dirmi come risolvere il problema??

Grazie mille!! Smile
(07-11-2014, 02:43 PM)Biagino Ha scritto: [ -> ]Ciao ragazzi..

Nel mio gioco, vorrei creare una scelta livelli che consiste nella classica pagina piena di quadrati, per aprire la 2* bisogna completare la prima e così via.. Voleva provare a mettere uno script, però o pensato che il gioco non salverà, e quindi bisogna iniziare ogni volta da capo.. Sapeste dirmi come risolvere il problema??

Grazie mille!! Smile

Allora non è una cosa semplice da spiegare ci proverò Wink

Primo passo creare una classe che contenga un nome, un numero identificativo, un numero per sbloccare il livello ed la scena da caricare

Codice:
using UnityEngine;
using System.Collections;

[System.Serializable]
public class Level
{
    public string Name;
    public int UnlockId;
    public string sceneLoadName;
}

dopodichè devi creare un script che contiente le statistiche del player

Codice:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class PlayerStats : MonoBehaviour
{

    public int unlockedLevel;
    public List<Level> Level_List = new List<Level>();


    void Start()
    {
        unlockedLevel = PlayerPrefs.GetInt("levelUnlocked");
    }

    void OnGUI()
    {
        foreach (Level l in Level_List)
        {
            if (l.UnlockId == unlockedLevel)
            {
                if (GUILayout.Button(l.Name))
                {
                    Application.LoadLevel(l.sceneLoadName);
                }
            }
        }
    }
}

Ogni quando si arriva a fine livello dovrai inserire la riga di codice :
int currentLevel = PlayerPrefs.GetInt("levelUnlocked");
PlayerPrefs.SetInt("levelUnlocked", currentLevel + 1);

Spero d'essere stato d'aiuto Smile