Ajouter un magasin virtuel à votre jeu Partie 1 | hyperPad Documentation

Loading...

Logo

Si les joueurs de votre jeu ont battu ou commencent à s'ennuyer de votre jeu, créer une boutique pour des objets ou des personnages déblocables est un excellent moyen d'augmenter la valeur de rejouabilité et la rétention.

Dans ce tutoriel, nous allons couvrir comment construire une boutique dans l'application où vos utilisateurs "achètent" des objets avec les points qu'ils ont générés dans votre jeu!

Dans cet exemple, notre jeu sera très simple… Il suffit de cliquer sur le joueur pour obtenir plus de points! Si vous voulez obtenir plus de points par clic, améliorez votre "Joueur".

Pour commencer, nous allons configurer notre argent qui sera partagé entre toutes les scènes.

Ajouter de l'argent

La première chose que nous allons faire est de nous rendre sur l'UI Globale et d'ajouter une étiquette qui représentera notre argent et de définir le texte à 0. Ajoutez également une autre étiquette pour nous dire à quoi sert cette étiquette.

Déplacez également légèrement l’étiquette d’argent hors écran pour qu’elle n’apparaisse jamais lorsque vous jouez à votre jeu.

Maintenant, nous allons gérer l'enregistrement et le chargement de l'argent, afin que chaque fois que le joueur quitte votre jeu, l'argent qu'il a gagné soit toujours là!

Enregistrer de l'argent

Entrez dans les comportements de l’étiquette d’argent.

Nous allons d'abord gérer la mise à jour de notre argent.

Nous aurons besoin d'un ensemble de comportements, d'un comportement "Get Label", d'un comportement "Save Value" et d'un comportement "Broadcast Message".

Organisez les comportements comme sur l'image ci-dessus et définissez l'ensemble de comportements sur OFF.

Beaucoup de choses se sont passées là-dedans. Passons en revue ce que cela signifie.

Lorsque quelque chose exécute l'ensemble de comportements, nous voulons "Get Label" pour obtenir la valeur actuelle de l'argent. Si vous vous demandez pourquoi nous n'avons pas utilisé un "Box Container" pour cela, c'est parce qu'il n'y a pas de moyen d'obtenir la valeur d'un "Box Container" quand on est dans un autre objet… PAS ENCORE.

Ensuite, nous voulons enregistrer cette valeur de "Get Label" dans un fichier. Pour ce faire, il suffit de faire glisser la sortie de "Get Label" et de la déposer dans le champ "Value To Save" pour "Save Value".

Le comportement "Broadcast Message" permet à d'autres objets de savoir que l'argent vient d'être mis à jour. Vous pouvez l'utiliser pour mettre à jour les étiquettes dans votre scène avec la nouvelle valeur de l'argent.

Charger de l'argent

Maintenant que nous avons l'enregistrement de côté, faisons en sorte que lorsque le joueur ouvre votre application, elle charge l'argent que le joueur a gagné!

À l'intérieur de l'étiquette d'argent, nous devons ajouter un ensemble de comportements, "Load Value", un autre ensemble de comportements, et un "Behavior On". Arrangez-les comme sur l'image ci-dessous.

Ajoutez maintenant un "If behavior", un autre "If" et faites-le glisser sur le côté du premier "If" pour créer un "Else If", un "Change Label", et un "Behavior On". Faites en sorte que le "Behavior On" active le message de diffusion d'auparavant.

Arranger ces comportements comme sur l'image ci-dessous :

D'accord… Beaucoup de choses se passent ici, donc regardons ce que nous venons de construire!

Vous vous demandez probablement quel est le but des ensembles de comportements. Les ensembles de comportements servent à deux fins… Premièrement, ils organisent vos comportements, et deuxièmement, ils forcent l'ordre des comportements de sorte qu'ils s'exécutent de gauche à droite comme un événement.

Nous connectons donc notre comportement "Load Value" à l'ensemble de comportements afin que lorsque la scène commence, elle charge la valeur stockée dans le fichier. Dans les propriétés de "Load Value", assurez-vous de choisir le comportement "Save Value" que nous avons créé précédemment.

Le prochain ensemble de comportements va vérifier si une valeur a été chargée ou non. Le comportement "If" va changer l'étiquette si la valeur n'est pas vide. Pour ce faire, définissez le premier champ de saisie sur la sortie du comportement "Load Value" et le deuxième champ de saisie sur vide.

Le comportement "If" se connecte ensuite au "Change Label" et ne s'exécute que si le "Load Value" a effectivement chargé une valeur.

Le comportement "Else" n'a pas besoin de vérifier quoi que ce soit. Il sera toujours vrai et exécutera son comportement enfant "Behavior On". Le "Behavior On" exécutera simplement l'ensemble de comportements "Save" que nous avons créé précédemment afin que nous puissions enregistrer un montant par défaut d'argent que le joueur a.

Dépenses d'argent!

Maintenant que nous avons le chargement et l'enregistrement de notre argent de côté, faisons un moyen de le dépenser! Pour ce faire, nous allons construire un système de transaction consolidé à partir d'étiquettes.

Pour commencer, sur le Main Canvas, faites glisser trois étiquettes. La première va représenter le montant de la transaction actuelle, la deuxième va représenter le statut, et la troisième va représenter le message comme « Pas assez d'argent! » ou « Acheté! ». Étiquetons également nos représentations afin que nous sachions ce qu'elles sont. Déplaçons également tout légèrement hors écran afin qu’elles ne soient pas visibles pour notre joueur en jouant le jeu.

Déplacez également un autre objet sur notre toile pour traiter la logique de transaction. Dans cet exemple, nous allons juste utiliser une étiquette qui dit "Logique de transaction".

Entrez dans les comportements pour l'étiquette de logique de transaction afin que nous puissions créer la logique pour gérer la logique d'un achat.

Ce que nous devons faire est de vérifier si le joueur a suffisamment d'argent pour compléter la transaction. Pour ce faire, faites glisser un ensemble de comportements, et deux comportements "Get Label" et connectez-les comme sur l'image ci-dessous. Assurez-vous de régler l'ensemble de comportements sur off afin que nous ne causions pas prématurément une transaction lorsque la scène se charge.

Le premier "Get Label" récupère l'étiquette d'argent, et le deuxième récupère le montant de la transaction. Ce que nous voulons vérifier, c'est de voir si l'argent est inférieur au montant de la transaction. Si c'est le cas, nous voulons changer le statut de la transaction en "Échoué" et le message pour dire "Pas assez d'argent!".

Pour ce faire, ajoutez un comportement "If" et deux comportements changeant les étiquettes. Organisez les comportements comme sur l'image ci-dessous.

Le comportement "If" vérifie simplement si l'étiquette d'argent est inférieure au montant de la transaction.

Maintenant, nous allons vérifier l'inverse. Si l'utilisateur a effectivement assez d'argent, soustrayons le montant de la transaction de l'argent et enregistrons l'argent. Pour cela, créez un comportement "Else If" comme nous l'avons fait auparavant, connectez un ensemble de comportements pour organiser le reste de notre logique, un comportement "Subtract Values", un comportement "Change Label", et un comportement "Behavior On".

Le comportement "Subtract Values" va soustraire le montant de la transaction de l'argent.

Ensuite, nous utilisons le comportement "Change Label" pour changer l'étiquette d'argent pour qu'elle soit la sortie du comportement "Subtract Values".

Le comportement "Behavior On" va ensuite exécuter l'ensemble de comportements "Save" que nous avons créé dans la section "Enregistrer de l'argent".

Maintenant, créons un statut de succès afin que l'action qui exécute la transaction sache si la transaction a été réussie ou non!

Pour ce faire, il suffit de faire glisser deux comportements "Change Label".

Définissez l'étiquette de statut sur "Succès", et le message de transaction pour dire "Acheté!"

Nous avons donc un moyen de dépenser de l'argent. En définissant le montant de la transaction avec un comportement "Change Label", tout ce que nous avons à faire est d’utiliser un "Behavior On" sur l'ensemble de comportements qui déclenche notre logique de transaction. Pour vérifier si c'était réussi ou non, vous devez simplement consulter l'étiquette de statut pour voir si elle dit "Échoué" ou "Succès".

Gagner de l'argent!

Nous avons nos joueurs qui dépensent de l'argent… mais comment peuvent-ils dépenser ce qu'ils n'ont pas? Nous devons donner à nos joueurs un moyen de gagner de l'argent à dépenser. Toujours dans notre logique d'achat, ajoutez un autre ensemble de comportements pour gérer notre logique d'achat et assurez-vous de le régler sur off. Nous ne voulons pas acheter prématurément quelque chose lorsque la scène commence.

La première chose que nous allons faire est d'obtenir l'argent et le montant de la transaction. Donc, ajoutez deux comportements "Get Label" comme ci-dessous.

Ensuite, nous voulons ajouter l'argent au montant de la transaction. Ajoutez un comportement "Add Value", un comportement "Change Label" et un comportement "Behavior On".

Le comportement "Change Label" sera la sortie du comportement "Add Value" et il changera la valeur de l'argent. Le comportement "Behavior On" va enregistrer notre nouvelle valeur de l'argent comme nous l'avons fait dans la dernière section.

Enfin, nous voulons créer un statut de transaction et un message. Ajoutez deux comportements "Change label" pour définir le statut sur "Succès" et le message pour dire quelque chose comme "Vendu!".

Et maintenant, nous avons la capacité pour nos joueurs de gagner de l'argent. Il suffit d'appeler le changement du montant de la transaction et d'utiliser "Behavior On" pour exécuter notre ensemble de comportements de gains afin d'ajouter à l'argent de l'utilisateur.

Où aller à partir d'ici

Jusqu'à présent, nous avons créé un système de transaction où nos joueurs ont de l'argent et peuvent utiliser cet argent pour faire des achats. Notre système de transaction permet également à notre joueur de gagner de l'argent également. Le système de transaction persiste également l'argent afin que le joueur puisse quitter l'application et revenir pour avoir toujours le même montant d'argent.

Dans le prochain tutoriel, nous allons couvrir l'achat d'objets pour nos joueurs et nous assurer que leurs objets restent également persistants.