Page 1 sur 4

Poblème sauvegarde

Publié : 16 Jan 2020 17:20
par wolf03
Bonjour, je vous expose donc mon problème en espérant pouvoir avoir une réponse.
je suis donc en train de créé un jeu et dans ce même jeu j'ai intégrer un système de sauvegarde qui me permet de sauvegarder la position du joueur dans un premier temps. Le problème et que ça ne sauvegarde pas la position enfin dans l'éditeur de registre j'ai la clé de sauvegarde mais quand je vais dans la scène menu et que je charge la sauvegarde ça ne me charge pas mes dernière position , ça me charge la position de départ. Merci d'avance pour vos réponse.

Re: Poblème sauvegarde

Publié : 16 Jan 2020 17:26
par boubouk50
Bonjour,
Comment veux-tu qu'on t'aide si tu nous donnes si peu...
Comme tu es nouveau, tu n'as pas les réflexes donc, mais toi simplement à notre place. Comment serions-nous en mesure de te répondre avec les éléments que tu nous donnes?
Ca provient surement de ton code, donc donnes-nous ton code de sauvegarde et de chargement. (Qui plus est, tu es dans la section code, donc on est sensé "corriger" ton code)
Si tu récupères la position de départ, alors peut-être que tu ne sauvegardes que celle-ci? Ou bien charges-tu la mauvaise donnée? Bref. Ton code.

Re: Poblème sauvegarde

Publié : 16 Jan 2020 17:55
par wolf03
Oui c'est vrai autant pour moi cela viens sans doute de mon code c'est même sur mais impossible de trouver où est le problème et j'ai chercher avant de venir poser cette question. Voilà donc mes codes en adéquation avec mon système de sauvegarde.

Re: Poblème sauvegarde

Publié : 16 Jan 2020 18:42
par boubouk50
Nope Nope Nope Nope.
Tu copies colles ton code dans les balises CODE stp.
Les screenshots nous oblige à tout réécrire. Donc c'est non.
Edite le message stp.

Re: Poblème sauvegarde

Publié : 16 Jan 2020 20:34
par Aelhan
C'est clair que c'est pas du tout pratique comme ça, mais pour un premier élément de réponse, tu as effectivement déclaré une méthode Save() mais tu ne l'appelles jamais (sauf si j'ai raté un truc) donc du coup ça ne risque pas de sauvegarder quoi que ce soit ^^

Re: Poblème sauvegarde

Publié : 18 Jan 2020 16:48
par wolf03
eh bien j'ai

Code : Tout sélectionner

public class uiscript : MonoBehaviour
{
    private void Start()
    {
        PlayerPrefs.SetInt("load", 0);
    }

    public void PlayGame()
    {

        SceneManager.LoadScene("scenes 1");
        
    }

    public void ExitGame()
    {

        Application.Quit();

    }

    public void LoadGame()
    {
        
        if(PlayerPrefs.HasKey("x"))
        {
            PlayerPrefs.SetInt("load", 1);
            SceneManager.LoadScene(PlayerPrefs.GetString("niveau"));
        }
    }
}
tout ça c'est pour mon UIScript permettant de donner l'utiliter au boutons de la scene menu ensuite j'ai le code save ci dessous :

Code : Tout sélectionner


public class saveScript : MonoBehaviour
{
    public GameObject player;
    public GameObject panelMenu;
    bool affiche = false;

    void Start()
    {
    
        panelMenu.SetActive(false);

        if(PlayerPrefs.GetInt("load")==1)
        {
            // si load
            float x = PlayerPrefs.GetFloat("x");
            float y = PlayerPrefs.GetFloat("y");
            float z = PlayerPrefs.GetFloat("z");
            player.transform.position = new Vector3(x,y,z);
        }

        
    }

   
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            affiche = !affiche;

            panelMenu.SetActive(affiche);

        }

        if (affiche)
        {
            Time.timeScale = 0;
        }

        else
        {

            Time.timeScale = 1;

        }
      
    }
    
    public void Save()
    {
        PlayerPrefs.SetString("niveau", SceneManager.GetActiveScene().name);
        PlayerPrefs.SetFloat("x", player.transform.position.x);
        PlayerPrefs.SetFloat("y", player.transform.position.y);
        PlayerPrefs.SetFloat("z", player.transform.position.z);
    }
            
}

voilà mon script save

Re: Poblème sauvegarde

Publié : 18 Jan 2020 16:54
par wolf03
je n'ai pas besoins de l'appeler enfin je pense vu que j'ai mis en public le player donc je l'ai assigner dans unity puis dans ma fonction start je load les position que je doit normalement sauvegarder en tant que nouvelle position à mon vecteur3. De plus dans mon editeur de registre je vois pourtant bien ma clé de sauvegarde.
mes trois clé differentes sont bien là.

Re: Poblème sauvegarde

Publié : 18 Jan 2020 17:54
par Max
Hello,
wolf03 a écrit :
18 Jan 2020 16:54
je n'ai pas besoins de l'appeler enfin je pense vu que j'ai mis en public le player donc je l'ai assigner dans unity puis dans ma fonction start je load les position
Là j'avoue ne pas vraiment comprendre.
je rejoins Aelhan. Comment est gérée ta fonction Save(), qui ne semble pas être appelée dans les scripts que tu fournis plus haut. Au pire, colle lui en début un Debug.Log("Appel Save");
Si rien ne s'affiche dans la console, c'est que de base tu as bien un soucis avec l'appel de cette fonction.

Re: Poblème sauvegarde

Publié : 18 Jan 2020 18:00
par wolf03
D'accord je comprend pas vraiment tout, après je débute et j’apprends en autodidacte donc j'ai fais marchais mes connaissance pour ce script, je ne suis pas un pro non plus mais je vais voir avec ce debug. Après je ne vois pas ou je peut l'appeler cette fonction save.

Re: Poblème sauvegarde

Publié : 18 Jan 2020 18:05
par wolf03
Donc rien ne s'affiche dans la console donc j'ai bien un problème avec l'appel de la fonction mais je ne sais pas comment appeler cette fonction. X|