Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Utilisation de PlayerPrefs dans Unity
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement3D et Animation

Utilisation de PlayerPrefs dans Unity

L'Équipe Alphorm Par L'Équipe Alphorm 15 novembre 2024
Partager
Partager

La persistance des données dans Unity est cruciale pour sauvegarder des informations importantes.

Sans une solution adéquate, les données pourraient être perdues à chaque fermeture de l’application, entraînant des frustrations.

PlayerPrefs offre une méthode simple et efficace pour garantir que les données essentielles, comme les scores et préférences, sont conservées.

Table de matière
FAQConclusion

Formation Unity : Réaliser votre premier jeu 3D avec C# - De l'Idée à la Réalité

Créez votre premier jeu 3D en C# avec Unity, étape par étape.

Découvrir cette formation

Lorsque vous développez dans Unity, il est souvent essentiel de conserver certaines données, même après la fermeture du jeu ou de l’application. La persistance des données permet de sauvegarder des informations comme des scores, des paramètres de jeu, ou des préférences utilisateur . Unity propose une solution simple et pratique pour ce genre de tâches : PlayerPrefs .

Question : Qu’est-ce que PlayerPrefs ?

PlayerPrefs est une classe fournie par Unity permettant de sauvegarder et de récupérer des données simples comme des entiers, des flottants et des chaînes de caractères. Elle est idéale pour des données qui ne nécessitent pas un système complexe de gestion de fichiers.

Diagramme des avantages et inconvénients de PlayerPrefs Unity.
  • Méthodes de PlayerPrefs
Méthode
Description
SetInt(string key, int value)
Sauvegarde un entier sous une clé donnée.
GetInt(string key, int defaultValue)
Récupère un entier sauvegardé. Renvoie defaultValue si la clé n’existe pas.
SetFloat(string key, float value)
Sauvegarde un flottant sous une clé donnée.
GetFloat(string key, float defaultValue)
Récupère un flottant sauvegardé. Renvoie defaultValue si la clé n’existe pas.
SetString(string key, string value)
Sauvegarde une chaîne de caractères sous une clé donnée.
GetString(string key, string defaultValue)
Récupère une chaîne sauvegardée. Renvoie defaultValue si la clé n’existe pas.
DeleteKey(string key)
Supprime la donnée associée à la clé.
DeleteAll()
Supprime toutes les données sauvegardées.
HasKey(string key)
Vérifie si une clé donnée existe déjà.

Pour illustrer, nous allons utiliser PlayerPrefs pour sauvegarder et récupérer un bestScore (meilleur score) dans un jeu. Nous allons veiller à ce que le meilleur score soit initialisé correctement, même si aucun score n’a été encore sauvegardé.

Voici un script Unity appelé ScoreManager qui gère la sauvegarde et la récupération des scores :

				
					
usingUnityEngine;
publicclassScoreManagerDemo : MonoBehaviour {
  [SerializeField] privateintcurrentScore = 0;
  [SerializeField] privateintbestScore = 0;
  privatevoidStart() {
    // Vérifier si un "BestScore" existe, sinon initialiser à 0
    if (PlayerPrefs.HasKey("BestScore")) {
      bestScore = PlayerPrefs.GetInt("BestScore");
    } else {
      bestScore = 0;
      PlayerPrefs.SetInt("BestScore", bestScore);
    }
  }
  publicvoidUpdateScore(intscore) {
    currentScore = score;
    // Si le score actuel dépasse le meilleur score, le mettre à jour
    if (currentScore > bestScore) {
      bestScore = currentScore;
      PlayerPrefs.SetInt("BestScore",
                         bestScore); // Enregistrer dans PlayerPrefs
    }
  }
  privatevoidOnApplicationQuit() {
    // Sauvegarder le meilleur score lors de la fermeture de l'application
    PlayerPrefs.SetInt("BestScore", bestScore);
  }
}

				
			
  • PlayerPrefs.HasKey(« BestScore ») :Vérifie si une clé « BestScore » existe déjà. Si ce

n’est pas le cas, elle est initialisée à 0.

  • PlayerPrefs.SetInt(« BestScore », bestScore) :Cette méthode enregistre le meilleur

score actuel dans les préférences utilisateur.

  • OnApplicationQuit() :S’assure que le meilleur score est sauvegardé lorsque

l’application se ferme.

Erreur Courante : Oublier d’appeler PlayerPrefs.SetInt() après une modification : Si vous mettez à jour une variable sans sauvegarder, la modification ne sera pas persistée entre les sessions.
Mauvaise gestion des clés : Oublier de vérifier l’existence d’une clé avec HasKey() peut conduire à des erreurs, car les clés sont sensibles à la casse et doivent être précises.

Maintenant que vous avez vu comment utiliser PlayerPrefs pour persister des données dans Unity, l’étape suivante consiste à explorer les coroutines . Ces dernières permettent de gérer des tâches s’étalant sur plusieurs frames, comme des animations ou des temps d’attente.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Qu'est-ce que PlayerPrefs dans Unity ?
PlayerPrefs est une classe intégrée dans Unity qui permet de sauvegarder et de récupérer des données simples, telles que des entiers, des flottants, et des chaînes de caractères. Cette fonctionnalité est idéale pour enregistrer des informations comme les scores, les paramètres de jeu, ou les préférences utilisateur sans nécessiter un système complexe de gestion de fichiers. En utilisant PlayerPrefs, les développeurs peuvent garantir que certaines données persistent même après la fermeture de l’application ou du jeu.
Comment sauvegarder un score avec PlayerPrefs ?
Pour sauvegarder un score avec PlayerPrefs, vous pouvez utiliser la méthode SetInt. Par exemple, PlayerPrefs.SetInt(« BestScore », bestScore) enregistre le meilleur score sous la clé « BestScore ». Lors de la récupération, GetInt(« BestScore », 0) permet d’obtenir cette valeur, avec une valeur par défaut de 0 au cas où la clé n’existe pas encore. Cela garantit que le score est toujours disponible lors de la prochaine ouverture de l’application.
Quelles sont les méthodes principales de PlayerPrefs ?
Les méthodes principales de PlayerPrefs incluent SetInt et GetInt pour sauvegarder et récupérer des entiers, SetFloat et GetFloat pour les flottants, et SetString et GetString pour les chaînes de caractères. DeleteKey permet de supprimer une donnée spécifique, tandis que DeleteAll efface toutes les données enregistrées. Enfin, HasKey vérifie l’existence d’une clé donnée, ce qui est utile pour éviter des erreurs de récupération.
Comment éviter les erreurs courantes avec PlayerPrefs ?
Pour éviter les erreurs courantes avec PlayerPrefs, assurez-vous toujours d’appeler PlayerPrefs.SetInt() après avoir modifié une valeur, sinon la modification ne sera pas enregistrée. De plus, vérifiez l’existence des clés avec HasKey() pour éviter des erreurs liées à des clés inexistantes ou mal orthographiées, car ces dernières sont sensibles à la casse et doivent être précises.
Comment s'assurer que les données sont enregistrées à la fermeture de l'application ?
Pour garantir que les données sont enregistrées à la fermeture de l’application, utilisez la méthode OnApplicationQuit() dans votre script. Par exemple, dans le contexte de sauvegarde d’un meilleur score, appelez PlayerPrefs.SetInt(« BestScore », bestScore) à l’intérieur de OnApplicationQuit(). Cela assure que le score est mis à jour dans PlayerPrefs juste avant que l’application ne se ferme, préservant ainsi les données pour la prochaine session.

Conclusion

En maîtrisant l’utilisation de PlayerPrefs dans Unity, vous pouvez facilement gérer la persistance des données essentielles pour votre jeu. Quelle sera votre prochaine étape pour améliorer la gestion des données dans vos projets Unity ?

ÉTIQUETÉ : Unity
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Utilisation de PlayerPrefs dans Unity

© Alphorm - Tous droits réservés