Sauvegarde, Chargement et Meilleurs Scores | hyperPad Documentation

Loading...

Logo

Souvent, vous souhaitez créer un jeu où il se souvient de certains détails de la dernière fois qu'il a été joué.

Ce que vous souhaitez sauvegarder dépend fortement du jeu ou de l'application que vous créez. Que vous souhaitiez enregistrer un score, une position ou la progression globale, vous devez planifier comment et ce que vous voulez sauvegarder.

Dans ce tutoriel, nous allons couvrir la sauvegarde du score des joueurs et la création d'un système de score élevé ou de "Meilleur score précédent" simple.

Pour ce tutoriel, nous allons supposer que vous avez créé un jeu simple où le joueur ramasse des pièces (Partie 5 de Création d'un jeu de plateforme), et le nombre de pièces est affiché avec une étiquette à l'écran.

Sauvegarde

En ce qui concerne la sauvegarde, il y a deux questions importantes que vous devez vous poser. Que voulez-vous sauvegarder, et quand devez-vous sauvegarder ? Dans hyperPad, le comportement de sauvegarde ne peut sauvegarder qu'une seule valeur à la fois. Vous devez donc vraiment réfléchir à ce que vous sauvegardez.

Dans ce tutoriel, nous allons sauvegarder le score (nombre de pièces collectées) qui est affiché à l'aide d'une étiquette à l'écran.

Maintenant que nous savons que nous allons sauvegarder le score depuis l'étiquette, la prochaine chose à déterminer est quand sauvegarder.

Il y a de nombreuses options ici, et elles dépendent de votre gameplay ou de votre conception globale. Vous pouvez le sauvegarder chaque fois que le joueur ramasse une pièce, sauvegarder lorsque le joueur perd, sauvegarder lorsque le joueur termine le niveau, sauvegarder lorsque le joueur appuie sur un bouton, ou tout autre chose que vous pensez nécessaire pour votre situation.

Pour ce tutoriel, nous allons configurer un bouton qui sauvegarde le score lorsque le joueur appuie sur le bouton de sauvegarde. Cette même logique de comportement peut être appliquée si vous souhaitez sauvegarder lorsque le joueur perd ou termine le niveau. Il vous suffit de déclencher ces comportements lorsque vous gagnez ou perdez.

Sélectionnez votre objet Bouton de sauvegarde et ouvrez les comportements.

Dans la catégorie Interaction de l'éditeur de comportements, ajoutez un comportement "Cesser de toucher".

Maintenant, dans la catégorie UI, ajoutez un comportement "Obtenir étiquette" et connectez-le au comportement "Cesser de toucher" de l'étape précédente.

Tapez sur le comportement "Obtenir étiquette" pour voir les propriétés du comportement. Dans les propriétés du comportement, tapez sur la zone qui représente l'objet actuel, puis sélectionnez l'étiquette dans votre scène qui représente votre score.

Ensuite, dans la catégorie Personnalisée, ajoutez un comportement "Sauvegarder dans un fichier" et connectez-le au "Cesser de toucher".

Sélectionnez le comportement "Sauvegarder dans un fichier" que vous venez d'ajouter pour voir les propriétés du comportement. Notez que le "Type de clé" est réglé sur existant. Les clés existantes sont des choses prédéfinies que vous souhaitez sauvegarder.

Tout d'abord, vous devez ajouter le titre ou la description de quelque chose que vous souhaitez sauvegarder. Cela s'appelle une "clé". Appuyez sur le bouton "Sélectionner ou créer une clé" pour faire apparaître la liste des clés.

Entrez un titre descriptif en haut, puis appuyez sur le bouton + pour ajouter votre première clé. Puisque nous voulons sauvegarder le score, entrez "Score" comme clé.

Ensuite, vous devez réellement sauvegarder le score depuis l'étiquette. Pour ce faire, transmettez la valeur depuis le coin du comportement "Obtenir étiquette" dans le champ de saisie des propriétés "Sauvegarder dans un fichier".

C'est tout ! À ce stade, votre jeu devrait sauvegarder votre score juste quand vous appuyez sur le bouton de sauvegarde. Mais vous n'avez en fait rien fait avec la valeur sauvegardée. La prochaine chose que vous devez faire est de charger le score et de l'utiliser réellement dans votre scène.

Chargement

Avec votre score sauvegardé, vous devez maintenant le charger et l'utiliser dans votre scène. En ce qui concerne le chargement, il y a une question importante à laquelle vous devez répondre. Quand voulez-vous charger ?

Tout comme pour la sauvegarde, la réponse dépend fortement de votre projet. Vous pouvez charger dès que votre scène commence, lorsque le joueur appuie sur un bouton, ou lorsque d'autres événements sont déclenchés. Cela dépend vraiment de ce que vous essayez d'accomplir.

Pour ce tutoriel, nous allons charger dès que la scène commence et afficher le score précédemment sauvegardé.

Pour commencer, ajoutez une étiquette dans votre scène. Nous allons utiliser cette étiquette pour montrer votre score sauvegardé.

Ensuite, nous devons ajouter la logique de chargement réelle. Pour ce tutoriel, nous allons ajouter la logique au Bouton de sauvegarde des étapes précédentes. Cependant, selon votre jeu, vous devrez peut-être mettre votre logique ailleurs. Sélectionnez le bouton de sauvegarde et ouvrez l'éditeur de comportements depuis les propriétés de l'objet.

Dans la catégorie Personnalisée, ajoutez le comportement "Charger à partir d'un fichier" et ne le connectez à rien. Puisqu'il n'est connecté à aucun autre comportement, le comportement de chargement s'exécutera dès que la scène commencera (lorsque le bouton existe dans la scène). Si vous souhaitez charger en fonction d'un certain événement ou d'un autre déclencheur, vous devez alors le connecter à d'autres comportements.

Maintenant, sélectionnez le comportement "Charger à partir d'un fichier" pour voir les propriétés du comportement. Encore une fois, assurez-vous que "Existant" est sélectionné pour le type de clé.

Ensuite, appuyez sur le bouton "Sélectionner la clé" pour ouvrir la liste des clés sauvegardées. Dans la liste, choisissez la clé "Score" que vous avez ajoutée précédemment.

À ce stade, vous avez techniquement chargé le score. Mais vous ne faites encore rien avec. Mettons cette valeur chargée à profit.

Dans la catégorie UI, ajoutez un comportement "Définir l'étiquette" et connectez-le au comportement de chargement que vous avez ajouté précédemment.

Ensuite, sélectionnez le comportement "Définir l'étiquette" pour voir ses propriétés et n'oubliez pas de choisir la nouvelle étiquette que vous venez d'ajouter qui représente le score chargé. Une fois que vous avez sélectionné l'étiquette correcte à modifier, faites glisser la valeur de sortie depuis le coin du comportement "Charger à partir d'un fichier" dans le champ de saisie du comportement Définir l'étiquette.

C'est tout ce que vous devez faire ! Vos progrès seront sauvegardés et seront chargés dans une étiquette la prochaine fois que vous jouerez.

Meilleur Score

Une chose que vous avez peut-être remarquée est que votre score est sauvegardé chaque fois que vous appuyez sur le bouton et écrase l'ancien score. Parfois, cela va, mais généralement, vous ne voulez sauvegarder que lorsque le joueur atteint un score supérieur à son précédent.

Pour mettre en œuvre ce système de "Meilleur score", nous avons juste besoin de légèrement modifier notre logique de sauvegarde.

Commencez par retourner à l'endroit où les comportements de sauvegarde sont placés (le bouton de sauvegarde).

Tout d'abord, vous devez déconnecter le comportement "Sauvegarder dans un fichier" de votre comportement Cesser de toucher. Appuyez sur la ligne reliant les deux comportements pour les déconnecter.

Ensuite, dans la catégorie Logique, ajoutez un comportement SI. Le comportement SI vérifiera lorsque certaines conditions sont remplies avant d'exécuter. Dans ce cas, nous voulons uniquement sauvegarder SI le score est supérieur à l'ancien (chargé) score.

Connectez le comportement SI au comportement "Cesser de toucher".

Ensuite, vous devez appuyer sur le comportement SI pour ouvrir les propriétés du comportement et configurer la condition.

Faites glisser la valeur de sortie de "Obtenir étiquette" dans le premier champ de saisie du comportement SI.

Ensuite, faites glisser la valeur de sortie du comportement "Charger à partir d'un fichier" dans le deuxième champ de saisie du comportement SI.

Maintenant, vous devez changer la condition. Tapez sur le bouton "Est égal à" et sélectionnez l'option Supérieur ou Égal à ().

Enfin, connectez votre ancien comportement de sauvegarde au SI. Maintenant, votre comportement SI n'exécutera la sauvegarde connectée que SI la valeur obtenue depuis l'étiquette est supérieure (ou égale) à la valeur chargée.

C'est tout ce que vous devez faire. Vous devriez maintenant avoir un système de sauvegarde et de chargement fonctionnel qui sauvegardera le score des joueurs uniquement s'ils battent leur précédente tentative.

Autres Sauvegardes

Ce tutoriel a couvert la sauvegarde d'un score. Mais parfois, vous souhaitez sauvegarder d'autres choses, comme la position d'un joueur ou le niveau actuel, etc.

Les concepts que vous avez appris dans ce tutoriel s'appliquent toujours. Il vous suffit de changer quand vous sauvegardez et quoi sauvegarder.

Prenez l'exemple de la sauvegarde de la position du joueur. La position d'un objet est donnée par 2 numéros. Le X et le Y. Pour cela, vous utiliseriez simplement 2 comportements de sauvegarde. Un pour sauvegarder la position X, et l'autre pour sauvegarder la position Y. Ensuite, lorsqu'il s'agit de charger, vous utiliseriez 2 comportements de chargement. Ensuite, au lieu de définir une étiquette, vous déplaceriez simplement l'objet joueur aux positions X et Y chargées.

En faisant un plan sur ce que vous essayez de sauvegarder et quand vous devez sauvegarder, vous pouvez créer un système qui fonctionne pour presque toutes les situations.