Poblème sauvegarde
Re: Poblème sauvegarde
Salut,
Là avec les éléments disponibles, on ne peut pas vraiment en dire plus.
Tu as une methode (Save) dans ton script saveScript.cs qui est liée à ton onClick de ton bouton du menu.
Maintenant si le Save() se déclenche au lancement de la scène, ben il te faut en trouver l'origine.
Là avec les éléments disponibles, on ne peut pas vraiment en dire plus.
Tu as une methode (Save) dans ton script saveScript.cs qui est liée à ton onClick de ton bouton du menu.
Maintenant si le Save() se déclenche au lancement de la scène, ben il te faut en trouver l'origine.
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
Re: Poblème sauvegarde
Yes je me doute bien mais j’ai regarder encore et encore ce matin impossible de trouver l’origine du problème
Re: Poblème sauvegarde
Salut, a part trouver quel objet/script/événement déclenche la méthode save() c'est pas simple. Ton savescript est probablement attaché à un objet et quelque chose déclenche. A moins que le Debug.Log ne soit pas au bon endroit et ne reflète 0as la réalité de ce qu'il se passe ?! Tu peux nous mettre le code modifié stp ?
En fait ce n'est peut-être pas ta récupération de données qui foire du coup, mais s'il sauvegarde effectivement des le lancement avant de charger, en fait il te charge du vent donc forcement pas ce que tu veux...
En fait ce n'est peut-être pas ta récupération de données qui foire du coup, mais s'il sauvegarde effectivement des le lancement avant de charger, en fait il te charge du vent donc forcement pas ce que tu veux...
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.
Celui qui ne pose pas de question restera bête toute sa vie.
Re: Poblème sauvegarde
bien les seules choses rattaché à script c'est mon player c'est bien ça le problème et mon script modifier est :
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()
{
Debug.Log("Appel Save");
PlayerPrefs.SetString("scene", SceneManager.GetActiveScene().name);
PlayerPrefs.SetFloat("x", player.transform.position.x);
PlayerPrefs.SetFloat("y", player.transform.position.y);
PlayerPrefs.SetFloat("z", player.transform.position.z);
}
public void Continue()
{
affiche = !affiche;
panelMenu.SetActive(affiche);
if (affiche)
{
Time.timeScale = 0;
}
else
{
Time.timeScale = 1;
}
}
}
Re: Poblème sauvegarde
Salut,
Une petite question: C'est quoi cette condition pour lire tes données
dans ton code save il n'y a pas de int sauvegardé, tu devrais commenter cette ligne de condition dans ton script, je pense que c'est elle qui gène
Une petite question: C'est quoi cette condition pour lire tes données
Code : Tout sélectionner
if(PlayerPrefs.GetInt("load")==1)
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Poblème sauvegarde
EmileF a écrit : ↑19 Jan 2020 17:39Salut,
Une petite question: C'est quoi cette condition pour lire tes donnéesdans ton code save il n'y a pas de int sauvegardé, tu devrais commenter cette ligne de condition dans ton script, je pense que c'est elle qui gèneCode : Tout sélectionner
if(PlayerPrefs.GetInt("load")==1)
Cette condition va avec ce code sur mon script pour mes boutons du menu
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"));
}
}
}
Re: Poblème sauvegarde
Et si cette condition tu la mettais plutôt dans ton start ? En gros :
Par contre je trouve que tu es vraiment beaucoup à jouer avec les playersprefs, ce ne serait pas plus sûr et plus stable avec des variables toutes simples dans certains cas ? J'ai l'impression que tu les utilises parfois pour faire un raccourci pour utiliser une variable d'un autre script.
Code : Tout sélectionner
private void Start()
if(PlayerPrefs.HasKey("x"))
{
PlayerPrefs.SetInt("load", 1);
}else
{
PlayerPrefs.SetInt("load", 0);
}
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.
Celui qui ne pose pas de question restera bête toute sa vie.
Re: Poblème sauvegarde
As-tu fait un essai avec cette ligne commentée ?
Dans ton Start tu as
qui , à mon avis vient contredire le:
car tu as loadScene ensuite qui peut appeler ce Start avant le Start de la classe saveScript
Dans ton Start tu as
Code : Tout sélectionner
PlayerPrefs.SetInt("load", 0);
Code : Tout sélectionner
PlayerPrefs.SetInt("load", 1);
SceneManager.LoadScene(PlayerPrefs.GetString("niveau"));
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Poblème sauvegarde
Aelhan a écrit : ↑19 Jan 2020 18:21Et si cette condition tu la mettais plutôt dans ton start ? En gros :
Par contre je trouve que tu es vraiment beaucoup à jouer avec les playersprefs, ce ne serait pas plus sûr et plus stable avec des variables toutes simples dans certains cas ? J'ai l'impression que tu les utilises parfois pour faire un raccourci pour utiliser une variable d'un autre script.Code : Tout sélectionner
private void Start() if(PlayerPrefs.HasKey("x")) { PlayerPrefs.SetInt("load", 1); }else { PlayerPrefs.SetInt("load", 0); }
Oui je vais essayer avec ça pour voir, merci.
Ensuite oui j’utilise beaucoup mes playerprefs mais c’est un des seule truc que je connais réellement, comme dis cela fais à peine deux semaines que j’apprends la programmation donc je ne connais pas encore tout
Re: Poblème sauvegarde
Sans doute après je vais essayer comme a dit Aelhan peut être cela fonctionnera t’il .EmileF a écrit : ↑19 Jan 2020 18:23As-tu fait un essai avec cette ligne commentée ?
Dans ton Start tu asqui , à mon avis vient contredire le:Code : Tout sélectionner
PlayerPrefs.SetInt("load", 0);
car tu as loadScene ensuite qui peut appeler ce Start avant le Start de la classe saveScriptCode : Tout sélectionner
PlayerPrefs.SetInt("load", 1); SceneManager.LoadScene(PlayerPrefs.GetString("niveau"));