Bonjours,
Je voudrais savoir comment sauvegarder la valeur d'un toggle (j'ai regarder sur le doc et un peut sur YouTube mais j'ai rien trouver). Je voudrais l'utiliser pour sauvegarder si le jouer veut que sont jeux soit en plein écran ou non.
Merci d'avance pour votre aide.
[RESOLU][DB/MY-AL]Comment sauvegarder la valeur d'un toggle
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Re: [DB/MY-AL]Comment sauvegarder la valeur d'un toggle
Salut,
Tu peux le sauvegarder avec le "PlayerPrefs"
https://docs.unity3d.com/ScriptReferenc ... Prefs.html
Cela te permet de sauvegarder un "int" par exemple. Si le "toogle" est "true" tu sauvegardes "1" et si il est "false" tu sauvegardes "0".
https://docs.unity3d.com/ScriptReferenc ... etInt.html
https://docs.unity3d.com/ScriptReferenc ... etInt.html
Tu peux le sauvegarder avec le "PlayerPrefs"
https://docs.unity3d.com/ScriptReferenc ... Prefs.html
Cela te permet de sauvegarder un "int" par exemple. Si le "toogle" est "true" tu sauvegardes "1" et si il est "false" tu sauvegardes "0".
https://docs.unity3d.com/ScriptReferenc ... etInt.html
https://docs.unity3d.com/ScriptReferenc ... etInt.html
Re: [DB/MY-AL]Comment sauvegarder la valeur d'un toggle
je vais essayer je n'avait pas penser comme ca merci
Re: [DB/MY-AL]Comment sauvegarder la valeur d'un toggle
Dans mon void Awak j'ai mis
et dans mon public void SetFullscreen(bool isFullscreen) j'ai mis
et ca marche merci beaucoup ^^
Code : Tout sélectionner
if(currentFullScreen == 1)
{
toggle.GetComponent<Toggle>().isOn = true;
}
if (currentFullScreen == 0)
{
toggle.GetComponent<Toggle>().isOn = false;
}
Code : Tout sélectionner
if (isFullscreen == true)
{
currentFullScreen = 1;
PlayerPrefs.SetFloat("FullScreen", currentFullScreen);
}
else
{
currentFullScreen = 0;
PlayerPrefs.SetFloat("FullScreen", currentFullScreen);
}
Re: [DB/MY-AL]Comment sauvegarder la valeur d'un toggle
Super!
Lorsque ton sujet est résolu édite le titre de celui-ci avec la mention: "[Résolu]".
Lorsque ton sujet est résolu édite le titre de celui-ci avec la mention: "[Résolu]".
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [DB/MY-AL]Comment sauvegarder la valeur d'un toggle
Un peu de logique:
Tu traites des conditions logiques, si tu remplaces les tests et affectation par la valeur du booléen, tu obtiens:
Dans tonc cas, currentFullScreen ne peut posséder que 2 valeurs (0 ou 1 pour true ou false) c'est à dire, soit l'une soit l'autre. Tu peux donc déjà supprimer le second if, car si le premier n'est pas bon, le second oui, et inversement.
Tu reviens donc à faire:
Maintenant, on peut constater que isOn prend la valeur de la condition, donc plus besoin de condition, il suffit d'affecter directement le résultat:
Ainsi ton code est réduit à une seule affectation:
Pour la suite, tu peux réduire la condition et sortir les redondances:
Comme précédemment, remplace par les booléens, ainsi
isFullscreen == true devient true == true (le résultat vaut true) ou false == true (le résultat vaut false).
Dans les deux cas, le résultat vaut isFullscreen, donc on peut supprimer la comparaison.
Il reste à sortir les redondances pour avoir:
Pour faire encore plus court mais identique dans l'opti, tu as encore:
Tu traites des conditions logiques, si tu remplaces les tests et affectation par la valeur du booléen, tu obtiens:
Code : Tout sélectionner
if (true)
isOn = true;
if (false)
isOn = false;
Tu reviens donc à faire:
Code : Tout sélectionner
if (true)
isOn = true;
else
isOn = false;
Code : Tout sélectionner
isOn = (Condition);
Code : Tout sélectionner
toggle.GetComponent<Toggle>().isOn = (currentFullScreen == 1);
Comme précédemment, remplace par les booléens, ainsi
isFullscreen == true devient true == true (le résultat vaut true) ou false == true (le résultat vaut false).
Dans les deux cas, le résultat vaut isFullscreen, donc on peut supprimer la comparaison.
Il reste à sortir les redondances pour avoir:
Code : Tout sélectionner
if (isFullscreen )
currentFullScreen = 1;
else
currentFullScreen = 0;
PlayerPrefs.SetFloat("FullScreen", currentFullScreen);
Code : Tout sélectionner
currentFullScreen = isFullscreen ? 1 : 0;
PlayerPrefs.SetFloat("FullScreen", currentFullScreen);
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation