Poblème sauvegarde

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
wolf03
Messages : 19
Inscription : 16 Jan 2020 17:02

Poblème sauvegarde

Message par wolf03 » 16 Jan 2020 17:20

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.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Poblème sauvegarde

Message par boubouk50 » 16 Jan 2020 17:26

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.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

wolf03
Messages : 19
Inscription : 16 Jan 2020 17:02

Re: Poblème sauvegarde

Message par wolf03 » 16 Jan 2020 17:55

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.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Poblème sauvegarde

Message par boubouk50 » 16 Jan 2020 18:42

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.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: Poblème sauvegarde

Message par Aelhan » 16 Jan 2020 20:34

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 ^^
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

wolf03
Messages : 19
Inscription : 16 Jan 2020 17:02

Re: Poblème sauvegarde

Message par wolf03 » 18 Jan 2020 16:48

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

wolf03
Messages : 19
Inscription : 16 Jan 2020 17:02

Re: Poblème sauvegarde

Message par wolf03 » 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 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à.
Pièces jointes
Sans titre.png
Sans titre.png (424.57 Kio) Consulté 3029 fois

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: Poblème sauvegarde

Message par Max » 18 Jan 2020 17:54

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.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

wolf03
Messages : 19
Inscription : 16 Jan 2020 17:02

Re: Poblème sauvegarde

Message par wolf03 » 18 Jan 2020 18:00

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.

wolf03
Messages : 19
Inscription : 16 Jan 2020 17:02

Re: Poblème sauvegarde

Message par wolf03 » 18 Jan 2020 18:05

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|

Répondre

Revenir vers « Scripting »