J’ai rencontré un problème avec PlayerPrefs dans unity3d 5.4. (J’utilise 5.4 parce qu’il y a un bug qui casse le jeu dans 5.5.)
Voici le code:
void OnApplicationQuit() { PlayerPrefs.SetInt("numerator", numerator); }
Cela fonctionne très bien dans l’éditeur, mais sur mobile, c’est une autre histoire. Ça ne fait rien.
Appelez PlayerPrefs.Save
après PlayerPrefs.SetInt
. Cela résoudra probablement votre problème.
void OnApplicationQuit() { PlayerPrefs.SetInt("numerator", numerator); PlayerPrefs.Save(); }
Si cela ne résout pas votre problème, effectuez l’opération de sauvegarde dans la fonction OnApplicationPause
ou OnDisable
.
void OnApplicationPause(bool pauseStatus) { if (pauseStatus) { PlayerPrefs.SetInt("numerator", numerator); PlayerPrefs.Save(); } }
Si les deux échouent, voyez ici comment utiliser Json pour enregistrer et charger les données de jeu.