Je veux réinitialiser le niveau dans l'unité et ne pas réinitialiser la variable de la monnaie et la variable de compteur de perte. J'utilise playerprefs code> mais cela ne fonctionne pas pour moi la variable réinitialisée aussi. public int coinAmount;
public Text text;
void Start()
{
text = GetComponent<Text>();
}
void Update()
{
text.text = coinAmount.ToString() + " coins";
}
3 Réponses :
Assurez-vous que vous appelez LoadData () dans la méthode Start (). p>
Une fois que vous appelez la méthode "Charger la scène", les lignes de code sous elle ne seront pas appelées. P>
Assurez-vous que vous appelez LOADDATA () dans la méthode de démarrage ou ONENABLE. p>
espère que cela aide. P>
Merci tu as aidez-moi tellement match
i second que Muhammad ellawie a déclaré à propos de la chargement des données dans le Démarrer () Code> méthode.
Mais en règle générale, ces données de jeu ne doivent généralement pas faire partie de la scène, vous voudrez peut-être implémenter un Singleton modèle par exemple, de sorte qu'ils ne feraient pas partie de la scène. P>
@Thefrogeitan Si une réponse a résolu votre problème, je vous suggère de choisir une comme réponse à votre question. Bienvenue sur Stackoverflow: D
Le moyen le plus simple est de dire à l'unité de ne pas détruire votre gestionnaire de jeu: appelez DonTdestroyonload (this.gameObject) dans l'éveil de la monobéhavienne pour le garder en vie après la recharge des scènes. p>
https://docs.unity3d.com/scriptreference/Object.dontdestroyonload.html p>
En redémarrage, je supprime les parenthèses en mauvais état
N'utilisez pas Playerprefs pour stocker l'état du jeu.
Essayez d'utiliser des variables statiques