Comment créer un jeu de clicker 2D - Unreal Engine 5 Blueprints | Pixel Helmet | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Comment créer un jeu de clicker 2D - Unreal Engine 5 Blueprints

teacher avatar Pixel Helmet, Game Developer & Publisher

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      1.01 Introduction

      1:31

    • 2.

      1.02 Téléchargement d'Unreal Engine 5

      1:27

    • 3.

      1.03 Créer un nouveau projet

      3:19

    • 4.

      Aperçu de 1.04 Unreal Engine 5

      21:34

    • 5.

      Introduction au jeu 2.01

      3:56

    • 6.

      2.02 Créer un nouveau niveau

      2:02

    • 7.

      2.03 Importer les actifs d'environnement

      3:30

    • 8.

      2.04 Créer un ensemble de tuiles

      4:01

    • 9.

      2.05 Créer une carte de tuiles

      5:08

    • 10.

      2.06 Mettre au point une carte de tuiles temporaire

      6:07

    • 11.

      2.07 Placer la carte de tuiles dans le niveau

      1:36

    • 12.

      2.08 Volume de processus de publication

      11:13

    • 13.

      2.09 Ajuster les paramètres du projet

      4:32

    • 14.

      3.01 Mode de jeu et manette du joueur

      8:11

    • 15.

      3.02 Ajouter l'appareil photo du lecteur

      8:24

    • 16.

      3.03 Extraire les sprites ennemis

      7:35

    • 17.

      3.04 Créer des flipbooks

      6:30

    • 18.

      3.05 Cours de base pour parents vs enfants

      7:05

    • 19.

      3.06 Finaliser le montage du cours des ennemis

      9:09

    • 20.

      3.07 Appliquer l'appareil photo du lecteur comme défaut

      3:04

    • 21.

      4.01 Créer le point de spawn ennemi

      2:52

    • 22.

      4.02 Spawn Acteur de Class

      9:21

    • 23.

      4.03 Communication de plans - Casting

      3:25

    • 24.

      4.04 Communication de plans - Interfaces

      9:47

    • 25.

      4.05 Obtenir les valeurs de point de naissance

      8:49

    • 26.

      4.06 Introduction aux structures

      2:59

    • 27.

      4.07 Infos de niveau et structures d'informations ennemies

      5:28

    • 28.

      4.08 Créer le type Enum d'ennemi

      3:21

    • 29.

      4.09 Introduction aux tableaux de données

      2:46

    • 30.

      4.10 Informations sur le niveau et tableaux de données sur l'ennemi

      10:43

    • 31.

      4.11 Introduction aux bibliothèques

      3:02

    • 32.

      4.12 Créer les fonctions de la bibliothèque

      7:38

    • 33.

      4.13 Ajouter les noms des ennemis

      3:16

    • 34.

      4.14 Faire apparaître l'ennemi

      4:35

    • 35.

      5.01 Mettre en place l'interface utilisateur du nom de l'ennemi

      7:05

    • 36.

      5.02 Ajouter une police personnalisée

      5:04

    • 37.

      5.03 Ajouter l'interface utilisateur de nom d'ennemi

      2:21

    • 38.

      5.04 Programmer l'interface utilisateur d'informations sur l'ennemi

      9:43

    • 39.

      5.05 Infecter des dégâts à l'ennemi

      7:39

    • 40.

      5.06 Établir le niveau de santé

      3:45

    • 41.

      5.07 Mettre en place la barre de santé

      5:46

    • 42.

      5.08 Ajouter la barre de santé

      1:41

    • 43.

      5.09 Mettre à jour la barre de santé

      8:11

    • 44.

      5.10 Flipbook de l'ennemi

      4:17

    • 45.

      5.11 Mort de l'ennemi

      4:56

    • 46.

      5.12 Incrémenter le niveau

      4:38

    • 47.

      5.13 Corriger les animations de mort de l'ennemi

      7:43

    • 48.

      5.14 En cliquant sur Hit VFX

      8:46

    • 49.

      5.15 concevoir l'interface utilisateur de texte flottante

      2:46

    • 50.

      5.16 Animation de texte flottante

      3:48

    • 51.

      5.17 Générer le texte flottant

      6:35

    • 52.

      5.18 Mettre à jour l'affichage de texte flottant

      6:08

    • 53.

      5.19 Jouer l'animation de texte flottante

      4:56

    • 54.

      6.01 Conception de l'interface utilisateur de la minuterie

      4:37

    • 55.

      6.02 Afficher l'interface utilisateur principale

      8:27

    • 56.

      6.03 Réglage de la minuterie ronde

      8:01

    • 57.

      6.04 Mettre à jour le minuteur d'interface utilisateur principal

      3:43

    • 58.

      6.05 Restaurer la santé sur Timer End

      6:16

    • 59.

      6.06 Réinitialiser le minuteur de mort de l'ennemi

      2:16

    • 60.

      7.01 Conception de l'interface utilisateur de devises

      7:27

    • 61.

      7.02 Animation d'interface utilisateur de devises

      1:24

    • 62.

      7.03 Variable de quantité de pièces

      4:10

    • 63.

      7.04 Ajouter des pièces de monnaie aux ennemis

      1:57

    • 64.

      7.05 Mettre à jour l'affichage des pièces

      4:32

    • 65.

      8.01 Ajouter la boîte de défilement de la boutique

      2:05

    • 66.

      8.02 Créer la carte d'articles de boutique

      18:35

    • 67.

      8.03 Structure d'informations et tableau de données

      13:13

    • 68.

      8.04 Créer des cartes d'articles de boutique

      5:32

    • 69.

      8.05 Afficher les cartes d'articles de la boutique

      4:31

    • 70.

      8.06 Donner à chaque carte d'objet les bonnes informations

      2:32

    • 71.

      8.07 Afficher les informations de la carte d'article correctes

      6:04

    • 72.

      8.08 Modifier la couleur de texte d'achat

      8:21

    • 73.

      8.09 Vérifier si le joueur a suffisamment de pièces

      4:43

    • 74.

      8.10 Acheter l'article

      3:58

    • 75.

      8.11 Mettre à jour le nombre d'articles achetés

      8:15

    • 76.

      8.12 Créer des points de naissance d'un objet

      3:03

    • 77.

      8.13 Générer l'objet acheté

      6:06

    • 78.

      8.14 Logique de reproduction

      12:31

    • 79.

      8.15 Logique de reproduction - Intermédiaire

      9:07

    • 80.

      8.16 Logique de reproduction - Avancée

      17:35

    • 81.

      8.17 Structure de coût des articles et tableau de données

      7:37

    • 82.

      8.18 Obtenir la fonction de coût d'un article

      6:57

    • 83.

      8.19 Augmenter le coût des articles

      6:25

    • 84.

      8.20 Créer le widget de la info-bulle de l'élément

      6:16

    • 85.

      8.21 Mettre à jour les informations de la info-bulle

      6:25

    • 86.

      8.22 Afficher le widget de la info-bulle

      8:21

    • 87.

      9.01 Appliquer automatiquement des dommages

      8:19

    • 88.

      9.02 Établir le DPS total

      5:06

    • 89.

      9.03 Appliquer la quantité correcte de dommages

      4:55

    • 90.

      9.04 Fixer l'effet de succès

      5:55

    • 91.

      10.01 Mettre en place l'affichage de niveau

      3:25

    • 92.

      10.02 Conception de la carte de niveau

      3:19

    • 93.

      10.03 Fixer le niveau

      1:36

    • 94.

      10.04 Débloquer le nouveau niveau

      4:28

    • 95.

      10.05 Fixer le niveau actuel

      3:51

    • 96.

      10.06 Prévenir l'apparition automatique d'un ennemi

      7:31

    • 97.

      10.07 Ajouter des icônes de crâne aux patrons

      8:07

    • 98.

      10.08 Ajouter des icônes aux cartes de shopping

      5:11

    • 99.

      11.01 Ajouter le curseur de la souris à la boutique

      7:27

    • 100.

      11.02 Ajouter le point de naissance du curseur de la souris

      2:56

    • 101.

      11.03 Afficher correctement le texte des dommages

      5:50

    • 102.

      11.04 Mettre à niveau les dommages du curseur de la souris

      4:42

    • 103.

      11.05 Concevoir le widget de curseur de la souris

      7:27

    • 104.

      11.06 Ajouter l'entrée de clic de la souris

      7:09

    • 105.

      12.01 Mettre au point la carte finale

      6:02

    • 106.

      12.02 Préparer les indices sonores

      7:25

    • 107.

      12.03 Ajouter SFX à l'interface utilisateur

      7:31

    • 108.

      12.04 Ajouter du SFX à l'ennemi

      5:01

    • 109.

      12.05 Ajouter de la musique

      0:49

    • 110.

      13.01 Conception de l'interface utilisateur de l'ascension

      4:10

    • 111.

      13.02 Mettre en place le pop-up de l'ascension

      2:42

    • 112.

      13.03 Ouverture de la pop-up de l'Ascension

      4:07

    • 113.

      13.04 Paramétrer l'événement de jeu de redémarrage

      7:47

    • 114.

      13.05 Afficher l'ascension à la fin du jeu

      14:26

    • 115.

      13.06 Créer la structure d'ascension

      4:19

    • 116.

      13.07 Ajouter le multiplicateur de l'ascension

      10:00

    • 117.

      13.08 Afficher le multiplicateur de l'ascension

      6:46

    • 118.

      14.01 Nettoyer le projet

      7:25

    • 119.

      14.02 Empaqueter le jeu

      13:12

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

102

apprenants

--

projets

À propos de ce cours

Comment créer un jeu de clicker - Commencez votre voyage 2D.

Ce cours d'Unreal Engine vous apprendra à créer un jeu en ligne avec Unreal Engine 5 (UE5) à partir de zéro, similaire aux jeux emblématiques Clicker Heroes et Cookie Clicker. Vous apprendrez les bases du développement de jeux 2D dans UE5, ainsi que des sujets plus avancés tels que la mécanique de jeu et la conception d'interfaces informatiques.

Vous n'avez pas besoin d'une expérience préalable en développement de jeux pour suivre ce cours ; nous allons le suivre étape par étape. Que vous soyez un débutant ou un développeur expérimenté d'Unreal Engine, ce cours a de quoi faire à tous ceux qui veulent apprendre à créer un jeu en cliquant dans UE5.

L'objectif principal de ce cours est de vous donner de l'assurance en créant des jeux Unreal 2D. Il vous permettra de gagner de l'argent et de travailler en tant que développeur de jeux indépendant à la maison. En fait, je suis un développeur de jeux UE5 à plein temps depuis quelques années, en créant des jeux, en développant des cours et en vendant des actifs de jeu sur le marché d'Unreal Engine.

Commencez votre parcours de développement de jeux 2D dès aujourd'hui en apprenant à créer un jeu Clicker !

Créer des jeux sans codage.

Le schéma directeur d'Unreal Engine est le puissant langage de script Unreal Engine utilisé dans UE5. Il vous permet de créer votre jeu du début à la fin sans écrire une seule ligne de code. Cela signifie que vous pouvez facilement créer votre jeu, même si vous êtes débutant, artiste ou designer sans aucune expérience en programmation.

Ce cours ne nécessite aucune expérience en programmation ou en Unreal Engine. Nous allons suivre les bases des schémas de base d'Unreal Engine et progresser lentement vers le développement de mécanismes de jeu plus complexes. Vous apprendrez à développer des jeux du début à la fin.

Vous pouvez suivre ce cours en tant que débutant car vous apprendrez étape par étape à créer un jeu de clicker à partir de zéro.

Unreal Engine peut-il créer des jeux 2D ?

UE5 est réputé pour ses impressionnants graphismes 3D. Cependant, il peut surprendre certains que la création de jeux 2D dans Unreal Engine soit également possible. En tant que personne qui a réalisé de nombreux jeux 2D avec Unreal Engine, je l'apprécie beaucoup et je le recommande vivement.

Voici les avantages de créer des jeux 2D dans Unreal Engine 5 :

  1. Vous pouvez utiliser le schéma directeur d'Unreal Engine pour coder des jeux 2D, que vous utilisez également pour des jeux 3D. Cela signifie que vous n'aurez pas besoin d'apprendre une nouvelle langue si vous passez de la 3D au développement de jeux 2D.
  2. Vous pouvez donner à votre jeu 2D un aspect 3D unique en intégrant l'éclairage 3D et les rayons divins.
  3. Vous pouvez créer un jeu 2D dans un environnement 3D.
  4. Créer un niveau 2D, ajouter des éléments et des personnages est simple et peut être fait en quelques minutes.
  5. Vous n'avez pas à apprendre quoi que ce soit de nouveau lorsque vous passez de la 2D à la 3D, car vous utilisez les mêmes outils de moteur.

Tout en apprenant à créer un jeu en clicker, vous verrez à quel point il est amusant et facile de créer des jeux Unreal 2D. Supposons que vous soyez plus intéressé par le multijoueur d'Unreal Engine 5. Dans ce cas, vous pouvez regarder mon cours multijoueur sur la façon de créer un jeu de plateforme.

Apprendre tous les aspects de la 2D dans UE5, et pas seulement aux jeux de type clicker.

Ce cours vous apprend à utiliser Unreal Engine pour les jeux 2D en général, bien que l'objectif principal soit de créer un jeu en cliquant sur le bouton. Tout au long du cours, vous apprendrez à travailler avec divers éléments 2D, tels que des sprites, des flipbooks (éléments 2D animés), des personnages et des environnements 2D, et bien d'autres choses.

Lorsque vous travaillez avec UE5, il est plus crucial de se focaliser sur les outils utilisés pendant le développement de jeux que de se focaliser spécifiquement sur la façon de créer un jeu en ligne clicker. En maîtrisant les outils enseignés dans ce cours, vous pouvez créer n'importe quel jeu 2D à l'aide de UE5.

Apprenez tout ce que vous devez savoir sur les jeux 2D et en mode clicker.

Tout en apprenant à créer un jeu en clicker, le cours couvre de manière complète les différents aspects de la création de jeux 2D dans Unreal Engine 5. Dans ce cours, vous apprendrez :

  • Comment créer un jeu vidéo à partir de zéro en utilisant les fonctionnalités d'Unreal 2D.
  • Comment créer des jeux de tuiles et des cartes de tuiles pour concevoir votre niveau 2D.
  • Comment créer des sprites et des flipbooks pour des actifs 2D statiques et animés.
  • Apprendre à faire apparaître, à endommager et à tuer des ennemis à l'aide du curseur de la souris
  • Vous allez créer un mécanisme de clic automatique pour infliger automatiquement des dégâts
  • Vous apprendrez à créer un texte de combat flottant lorsque vous infligerez des dégâts
  • Apprenez à créer une boutique d'articles avec des articles à reproduire.
  • Apprendre à ajouter de la rejouabilité (ascension) au jeu
  • Vous apprendrez à ajouter plusieurs niveaux au jeu, que vous pouvez alterner entre eux.

Vous apprendrez également d'autres aspects du développement de jeux 2D, tels que l'ajout d'interfaces utilisateur 2D, d'effets visuels et d'effets sonores. Lorsque vous terminerez ce cours, vous pourrez créer votre propre jeu vidéo en toute confiance.

Suivez ce cours et soyez certifié.

Terminer ce cours sur la façon de créer un jeu en mode clicker vous permet de certifier Unreal Engine. Vous pouvez l'utiliser pour renforcer votre portfolio en tant que développeur de jeux indépendant ou pour postuler à des emplois de développement de jeux. La certification Unreal Engine peut être téléchargée et enregistrée localement et est valide indéfiniment.

Qu'est-ce qui me qualifie pour vous enseigner ?

Je suis un développeur de jeux expérimenté avec neuf ans d'expérience. Pour résumer mon travail sans vous ennuyer :

  • J'ai sorti un jeu Steam que j'ai réalisé du début à la fin avec une équipe de 8 personnes.
  • J'ai créé 11 cours de développement de jeux avec plus de 40 000 étudiants et une note moyenne de 4,8 sur 5 étoiles.
  • Je développe actuellement en solo Farmtale 2 du début à la fin.
  • Je travaille également en tant que indépendant sur divers projets de jeu, en me spécialisant dans la programmation, l'éclairage, l'optimisation de jeux et plus encore.

Je suis profondément passionné par le développement de jeux et j'en ai fait mon emploi à plein temps. J'aimerais vous apprendre tout sur Unreal Engine 5 en vous offrant de bonnes pratiques de développement de jeux et en vous tenant au courant des dernières informations.

Si vous voulez apprendre à publier un jeu sur Steam, découvrez le cours que j'ai publié sur le sujet.

Rejoignez notre communauté de soutien.

Le développement de jeux Unreal Engine peut parfois être une expérience frustrante. Par exemple, vous devrez peut-être chercher une case non cochée quelque part, vous laissant ainsi le sentiment d'être perdu pendant des heures. Alternativement, vous pourriez avoir besoin de soutien moral et d'idées de la part de développeurs de jeux comme vous. C'est pourquoi nous offrons un soutien en direct 24 heures sur 24, 7 jours sur 7, en écrivant dans la section Questions et réponses de l'un des cours. Nous sommes toujours là pour vous aider chaque fois que vous en avez besoin.

Commençons par "Comment créer un jeu en ligne avec clicker" sans aucun délai. J'ai hâte de vous voir dans la première leçon. Commençons donc et encourageons un parcours d'apprentissage passionnant !

Rencontrez votre enseignant·e

Teacher Profile Image

Pixel Helmet

Game Developer & Publisher

Enseignant·e

Pixel Helmet is a video game developer and publisher based in Denmark. We have recently released our first game Farmtale on the Steam platform.

We decided to get on Skillshare to create high-quality courses and share our knowledge with the game development community. Learning can be tedious at times and we aim to create a fun learning experience.

We offer to create courses within Modeling, Texturing, Unreal Engine, Blueprints, C++, Game Design, and much more. If you need any help during a course, please let us know through Skillshare or connect with us on Discord, Twitter, or LinkedIn.

Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. 1.01 Introduction: Dans ce cours, nous allons apprendre comment accéder au Idle Clicker en utilisant les plans d'Honorable Engine Five en recréant un jeu similaire à Clicker Heroes et Cookie Clicker A. Ce cours contient tout ce vous devez savoir pour commencer à développer un jeu en deux D Idle Clicker dans Honorable Engine Five, y compris comment créer des ensembles de tuiles et des cartes de tuiles Comment ajouter des ressources en deux D statiques et animées. Comment infliger des dégâts et tuer des ennemis à l'aide du curseur de la souris Comment créer une boutique d'objets avec des objets pouvant être générés. Comment créer un mécanisme de clic automatique pour infliger automatiquement des dégâts lorsque vous achetez des objets dans la boutique d'objets. Comment ajouter plusieurs niveaux au jeu, entre lesquels vous pouvez passer d'un niveau à l'autre. Comment afficher du texte de combat flottant, comment créer deux interfaces utilisateur DUI et World Spawn Comment créer des astuces sur les outils d'interface utilisateur. Et enfin, comment ajouter le mécanisme d'ascension pour la rejouabilité afin d' infliger plus de dégâts au fur et à mesure que vous montez pendant Je vous fournirai également le projet terminé afin que vous puissiez l'inspecter comme vous le souhaitez tout en suivant le cours. À la fin de ce cours, vous serez capable de créer en toute confiance votre propre jeu à deux clics en D partir de zéro à l'aide de Real Engine Five J'espère que vous me rejoindrez dans ce cours aujourd'hui. Et n'oubliez pas que je suis toujours là pour vous soutenir tout au long du cours et j'espère vous voir bientôt. 2. 1.02 Téléchargement d'Unreal Engine 5: Pour installer Unreal Engine Five, vous devez d'abord vous rendre sur epic games.com Alors allez-y, et vous trouverez un bouton de téléchargement bleu en haut à droite. Allez-y et appuyez sur le bouton de téléchargement. Et vous trouverez ici le programme d'installation du lanceur Epic Games Alors allez-y et lancez le programme d'installation. Et une fois que vous avez installé le slauncher Epic Games, connectez-vous Je vais donc simplement taper mon e-mail et mon mot de passe, et je vais me connecter au lanceur Une fois connecté au lanceur, voici à quoi il ressemblera Alors allez-y et appuyez sur l'onglet Unreal Engine. Et à l'intérieur de cet onglet, vous serez probablement sur la nouvelle section. Allez-y et cliquez sur Bibliothèque. Et à l'intérieur de la bibliothèque, vous pouvez voir toutes les versions réelles du moteur que vous avez actuellement. Mais si vous êtes nouveau ici, vous n'avez probablement rien ici, et vous verrez peut-être une boîte grise dans laquelle vous pouvez télécharger le vrai moteur. Et si vous ne le voyez pas, vous pouvez toujours cliquer sur le signe plus en haut, et cela vous donnera cette case grise et vous pourrez cliquer sur le chiffre pour sélectionner version du moteur Unreal que vous souhaitez installer Maintenant, je vais utiliser le dernier Unreal Engine 5.3. Mais si vous regardez ce cours à l'avenir, si vous avez 5,4 ou 5,35 ou autre, vous pouvez toujours suivre ce cours Il n'y a pas de grand changement. Alors allons-y et passons à Unreal Engine 5.3. Je vais procéder à la mise à jour et lancer le moteur. 3. 1.03 Créer un nouveau projet: Lorsque vous lancez Unreal Engine, cette fenêtre apparaît pour vous permettre de voir vos projets récents, ainsi que d' autres onglets Cet onglet sera vide si vous n'avez aucun projet auparavant, mais vous pouvez les ouvrir ici si vous travaillez sur un projet. À l'heure actuelle, nous souhaitons créer un jeu. Je vais donc passer à l'onglet Jeux. Mais comme vous pouvez le voir dans Unreal Engine, il ne s'agit pas uniquement de jeux Vous pouvez également, par exemple, l'architecture automobile, etc. Passons à l'onglet Jeux pour le moment. Et dans l'onglet du jeu, vous pouvez voir de nombreux modèles à partir desquels vous pouvez commencer. Par exemple, si vous souhaitez créer un jeu de tir à la première personne, vous pouvez choisir le modèle à la première personne. Si vous souhaitez créer un jeu de haut en bas comme Diablo, par exemple, vous pouvez commencer par ce modèle Cependant, j'aimerais commencer par un projet vierge. Comme vous le savez, si vous avez suivi mes cours précédents, c'est parce que je veux tout vous apprendre à partir de zéro. Maintenant, tous ces modèles peuvent être créés à partir d'un projet vierge. Et ils ne sont pas difficiles à créer si vous savez ce que vous faites. Nous aimons partir d' un projet vierge et tout construire nous-mêmes. Je n'aime pas vraiment commencer par le modèle. Passons à un projet vierge, apprenons tout ici à droite, sélectionnons Blueprint comme langage de programmation pour la plate-forme cible. C'est un ordinateur de bureau. Pour l'instant, nous pouvons toujours nous concentrer sur le mobile une autre fois. Mais ce cours porte sur les ordinateurs de bureau. Je vais probablement suivre un cours sur le mobile dans le futur. Mais même si vous sélectionnez un ordinateur de bureau, vous pouvez toujours le créer pour mobile, plus tard, vous pourrez le faire à la fois pour PC et mobile. Nous allons sélectionner le préréglage de qualité maximal pour le contenu des données. Si vous l'avez cochée, allez-y et cochez-la pour que nous n'ayons rien Encore une fois, j'aimerais commencer par un projet vide sans rien ici. Vous pouvez sélectionner l'endroit où vous souhaitez enregistrer le projet , puis vous pouvez lui donner le nom. Maintenant, je vais l'appeler Gin Clicker. Et tu peux toujours l' appeler comme tu veux, peu importe. Et allez-y, cliquez sur Créer. Une fois que vous serez lancé sur le vrai moteur 5, voici à quoi il ressemblera. Maintenant, j'enregistre en résolution 4K et j' ai un moniteur 4K. L'interface utilisateur peut vous sembler un peu petite lorsque j' enregistre cette vidéo pour l'ensemble de ce cours. Je vais en fait améliorer mon interface utilisateur pour que vous puissiez voir ce que je fais Si vous souhaitez également savoir comment je peux le faire, vous pouvez cliquer sur Outils et accéder à Debug Accédez à Widget Reflector à l'intérieur d'ici. Je vais juste augmenter l'échelle de mon interface utilisateur. Peut-être pas 21,3, peut-être que c'en est un. Je pense que je vais le garder à 1.3 et je pourrai toujours le modifier dans les leçons ultérieures si je le trouve trop grand ou trop petit. Maintenons-le à 1,25 et je vais le fermer. Bien, dans la prochaine leçon, nous allons donner un bref aperçu d' Unreal Engine Five, afin que nous puissions nous y fier avant de créer notre jeu Maintenant, si vous avez déjà suivi mes cours précédents et vous connaissez déjà Unreal Engine Five, vous pouvez sauter la leçon suivante Mais passons à la leçon suivante et commençons. 4. 1.04 Aperçu d'Unreal Engine 5: Très bien, donc avant de commencer notre jeu, nous allons faire un bref aperçu d' Unreal Engine Five Maintenant, si vous avez déjà utilisé le moteur et si vous avez suivi mes cours précédents, passez simplement de cette leçon à la suivante. Maintenant, au milieu du moteur se trouve la fenêtre d'affichage. À l'intérieur de la fenêtre d'affichage se trouve le monde. C'est votre jeu que vous pouvez voir visuellement. Comme vous pouvez le voir ici, nous avons des paysages, etc. Mais si vous cliquez avec le bouton droit de la souris dans la fenêtre d'affichage, vous pouvez voir que vous pouvez contrôler votre vue en maintenant le bouton droit de la souris Maintenant, si vous maintenez le clic droit et cliquez également sur, vous pouvez voir que vous pouvez vous déplacer en maintenant le bouton droit de la souris enfoncé et en cliquant sur W, vous pouvez vous déplacer. Maintenant, vous pouvez voir que je me déplace très lentement parce que le monde est vaste. Si vous voulez aller plus vite, cliquez ici sur la vitesse de la caméra, je vais augmenter la vitesse à environ 16. Au lieu de cela, si je maintenais le clic droit de ma souris enfoncé et que je clique sur W. Maintenant, vous pouvez voir que je peux me déplacer beaucoup plus vite dans mon monde, comme vous pouvez le voir ici. OK, vous pouvez également cliquer sur D pour vous déplacer vers la droite, sur A pour vous déplacer vers la gauche et sur pour revenir en arrière. Mais n'oubliez pas que vous devez maintenir le bouton droit de la souris enfoncé, puis cliquer sur W, D et A. C'est ainsi que je navigue , généralement avec un moteur Je tiens simplement le bouton droit de la souris enfoncé et je sais juste voyager dans le monde et voir ce que je fais en développant le jeu Et bien sûr, si vous voulez zoomer ou dézoomer, vous pouvez zoomer avec la molette de votre souris, comme ceci. Et vous pouvez également effectuer un zoom arrière avec la molette de votre souris. Et vous pouvez simplement voler dans le monde entier, essayer d'avoir confiance en vos mouvements. Maintenant, si vous avez l'habitude de jouer aux jeux de tir à la première personne, etc., c'est naturel pour vous Si vous n'y avez pas joué, essayez simplement de courir et voir si vous pouvez le comprendre. Très bien, nous avons donc quelques boutons ici dans la fenêtre d'affichage, nous pouvons cliquer sur celui-ci Et ici, vous pouvez, par exemple, afficher vos images FPS par seconde. Et lorsque vous cliquez dessus, vous pouvez le voir apparaître ici à droite. Maintenant, cela n'a pas vraiment d'importance, pour le moment, vous pouvez modifier le champ de vision et ainsi de suite. Mais l'avantage Unreal Engine, c'est que vous n'avez pas besoin de savoir à quoi sert chaque bouton Je ne sais pas, peut-être la moitié des boutons, parce que je ne fais pas de cinématiques D'habitude, je ne fais pas de cinématiques de films. Par exemple, dans le domaine de l'automobile, je ne dessine pas de voitures. Il y a quelques boutons dont vous pas vraiment besoin lorsque vous développez votre jeu. Essayez de ne pas vous souvenir de tout, mais essayez uniquement de vous souvenir ce qui est vraiment nécessaire en ce moment. Ce qui est vraiment nécessaire en ce moment, c'est la vue du jeu. Avec la vue du jeu, vous masquez les icônes à l'intérieur du niveau. Ainsi, par exemple, si je clique sur icône G, c'est la vue du jeu. Voir Je masque cette sélection orange. Maintenant, si je clique à nouveau sur mon clavier, je désactive la vue du jeu. Comme vous pouvez le voir ici, le raccourci est que lorsque je clique sur la vue du jeu, vous supprimez toutes les icônes. Maintenant, si j'ajoute simplement une lumière, par exemple une lumière ponctuelle, j'ai ici une icône représentant une lumière ponctuelle. Maintenant, vous n'avez pas vraiment besoin d' ajouter une lumière ponctuelle pour le moment. Je vous montre juste que si vous cliquez sur maintenant, l'icône du point lumineux est masquée. Et je ne le vois pas. Si je clique à nouveau, l'icône du point lumineux s'affiche. La ligne de pointage est un peu petite en ce moment. Si je clique dessus ici, vous pouvez voir qu'il se trouve en fait ici. Le monde est vaste. Elle disparaît généralement, mais elle est là. Et si je clique sur un G, puis sur G, il apparaît que la vue du jeu est vraiment très bonne pour visualiser votre jeu sans aucune de ces icônes. Si je construis un monde, et vous pouvez imaginer que vous avez beaucoup d'icônes, si vous avez beaucoup d'éclairage, vous avez beaucoup d'objets à l'intérieur de votre niveau. Vous pouvez cliquer sur G pour supprimer toutes ces icônes, et vous pouvez voir votre monde sans aucune de ces icônes. La prochaine étape est le mode immersif. Si vous cliquez sur 11, vous maximisez la fenêtre d'affichage et vous pouvez visualiser votre monde avec un maximum de C'est vraiment très sympa si vous voulez voir à quoi ressemble votre jeu. Encore une fois, vous pouvez cliquer sur G pour afficher les icônes, G pour les masquer. Cliquez sur 11 pour le réduire. Encore une fois, deux boutons importants, le mode immersif et la vue du jeu. Maintenant, ici, nous avons la vue en perspective et nous avons également d'autres vues, les vues orthographiques Maintenant, le plus important est d'avoir le bon point de vue. C'est ce que nous allons utiliser parce que nous allons travailler avec deux D. Nous n' allons pas vraiment entrer dans un monde en trois D. Nous n'avons pas trop besoin du point de vue. Mais pour l'instant, passons à la bonne vue, appelée vue orthographique Si vous effectuez un zoom arrière avec la molette de votre souris, vous pouvez voir qu' il s'agit bien du monde, du monde ouvert dans la bonne vue. En regardant dans une vue en deux D, vous pouvez le voir du haut. quoi cela ressemble, on ne voit évidemment pas grand-chose parce que vous ne pouvez pas voir les collines depuis le sommet. Si vous le voyez du bas, voici à quoi il ressemble, je ne vois pas grand-chose. Si vous le regardez de gauche à droite, voici à quoi cela ressemble. Et ainsi de suite. Vous pouvez voir les différents points de vue sur le monde. Il s'agit bien entendu d'une fois de plus d'une perspective rétrospective. Nous avons ici différents modes d'éclairage. Nous n'en avons pas vraiment besoin parce que nous n'allons pas travailler en trois D. Ne vous concentrez pas vraiment là-dessus en ce moment dans l'émission. Vous pouvez afficher et masquer différentes choses. Nous l'utiliserons plus tard. Par exemple, vous pouvez afficher la collision, masquer le brouillard, etc. n'est pas vraiment nécessaire pour le moment, entrons pas dans le vif du sujet maintenant. Ces outils sont très importants. Ici, nous avons l'outil de sélection sélectionne essentiellement les objets de votre monde. Maintenant, pour les utiliser, ajoutons quelque chose au monde. Passons à cela, appuyez rapidement sur le bouton Ajouter au projet. C'est très important ici. Vous pouvez ajouter, par exemple, une forme de base. Ajoutons un cube. Voici le cube que nous avons ajouté. Je vais diminuer la vitesse de la caméra. Nous évoluons très rapidement dans le monde, en le ramenant à un. Si vous cliquez sur celui-ci, vous pouvez voir qu'il s'agit de l'outil de sélection. Et n'oubliez pas que vous avez des raccourcis pour ces outils, vous le pouvez. Celui-ci est, le suivant est l'outil de déplacement, vous cliquez dessus, vous pouvez voir ces points de pivot apparaître. Maintenant, si vous cliquez sur le bouton rouge, vous pouvez passer à cet axe. Tu cliques sur le bleu, tu peux te déplacer vers le haut ou vers le bas. Si vous cliquez sur l' axe vert, vous pouvez vous déplacer de cette façon. Maintenant, les couleurs correspondantes sont en fait X, Y et Z. Et vous pouvez le voir ici dans le panneau des détails Vous pouvez voir son emplacement, le X. Si vous maintenez la souris dessus, vous pouvez également voir la valeur réelle avant qu'il ne vous indique habituellement qu'il s'agit de l'axe X. Mais je vois maintenant qu'il ne le fait plus. Mais en gros, le rouge est l'axe x, le vert est l'axe y, bleu est l'axe z, l'axe x, l'axe y et l'axe z. OK ? Tu peux le déplacer comme ça. Vous pouvez également le tenir ici dans le carré du milieu. Vous pouvez le déplacer dans deux directions à la fois. Ou vous pouvez le tenir au-dessus cette petite sphère blanche au milieu et le déplacer dans les trois directions à la fois. Vous pouvez également accéder au panneau des détails, peut-être avez-vous remarqué que ce sont les détails ou ce que vous sélectionnez ici. Si je le sélectionne ici, les plans du sol de ce monde ouvert, ou si je sélectionne mon cube, verront différents détails concernant l'objet que vous avez sélectionné dans votre monde. Par exemple, je peux voir l'emplacement de mon article, je peux voir sa rotation. Je peux voir le maillage statique qui est essentiellement le modèle à trois D. Je peux voir le matériel fourni. Je peux également voir des choses sur la physique. Et je peux voir, par exemple, la physique de simulation n'est pas appliquée. Je peux voir que la gravité est appliquée, je peux voir les options de collision , les options d' éclairage, etc. Et vous pouvez voir que vous avez beaucoup de choses que vous pouvez voir. Ne t'en fais pas pour le moment. Nous allons beaucoup travailler sur le volet des détails. Cela deviendra de plus en plus facile pour vous. Nous n' allons pas utiliser la plupart de ces éléments parce que nous travaillons, encore une fois, en deux D, donc ne vous inquiétez pas, mais en gros, pour l'emplacement, vous pouvez soit le déplacer comme ça et vous pouvez aussi le faire en tod, soit vous pouvez le déplacer comme ça cliquant ici et en faisant glisser avec votre souris, cliquant et en faisant glisser avec votre souris sur les chiffres. Et tu peux le déplacer comme ça. Ou si vous avez des emplacements spécifiques, vous pouvez les saisir. Si vous cliquez dessus ici, je peux écrire 1 450 par exemple Et je peux cliquer sur Inter. Vous pouvez voir mon cube se déplacer à l'endroit précis. Tu peux le faire comme ça. Vous pouvez le déplacer manuellement, déplacez-le ici. Vous pouvez également saisir à nouveau le numéro. Maintenant, la rotation, qui est la suivante si vous cliquez dessus, sur votre clavier. Donc, le premier était, le suivant était pour l'outil de déplacement. L'outil de rotation est E sur le clavier avec l' outil de rotation, cela va de soi, vous pouvez faire pivoter l'élément sur différents axes. Encore une fois, en deux D, nous n'avons que deux axes. Ne vous inquiétez pas pour le troisième, mais c'est toujours le même processus. Je vais donc vous l'apprendre de cette façon. Encore une fois, pour la rotation. Vous pouvez également le modifier ici. Si vous souhaitez réinitialiser la rotation, ne vous satisfait peut-être pas. Vous pouvez cliquer sur cette petite flèche pour que tout soit rétabli par défaut. Il s'agit donc de l'outil de rotation. La dernière chose est l'outil de balance. Si vous cliquez sur R sur le clavier, vous cliquez sur Q pour l'outil de sélection, pour l'outil de déplacement, pour l'outil de rotation et sur R pour l'outil de mise à l'échelle. Encore une fois, pour l'outil de mise à l'échelle, vous pouvez le redimensionner dans différentes directions. Ou si je clique sur le contrôle Z pour revenir en arrière, vous pouvez également le redimensionner uniformément dans les trois directions Si vous cliquez ici au milieu, encore une fois, si vous n'êtes pas satisfait, vous pouvez toujours cliquer sur cette flèche. Vous pouvez également le redimensionner en cliquant simplement avec votre souris et en le faisant glisser. Ou si vous souhaitez le redimensionner de manière uniforme, vous pouvez cliquer sur ce verrou Chaque fois que vous redimensionnez, l'un d'entre eux évoluera également. C'est ce qu'il y a de bien avec le verrou. Si vous ne voulez redimensionner qu'un seul d'entre eux, vous pouvez ouvrir le cadenas et vous pouvez simplement le redimensionner d' un côté à la fois, d' accord ? C'est très important. Souvenez-vous de ceux-là. Nous allons les utiliser tout au long du cours, des prochains cours et probablement de tous les cours que nous proposerons. N'oubliez pas le Q pour l'outil de déplacement, pour l'outil de rotation et le R pour l'outil de mise à l'échelle. Nous avons également quelques options de capture ici. Comme vous pouvez le voir, lorsque je déplace quelque chose, il s'enclenche sur une grille Cela ne se passe pas bien à cause de cela. Vous pouvez cliquer ici et augmenter le nombre. Cela va se casser encore plus qu'avant. C'est bien si vous essayez de construire quelque chose avec une structure. Vous pouvez maintenant le copier-coller. Si vous maintenez la touche Alt de votre clavier enfoncée et que vous cliquez et faites glisser, cet élément sera copié. Je vais essayer de le copier à nouveau. Maintenez la touche enfoncée, cliquez et faites glisser. Vous maintenez la touche Alt enfoncée et vous pouvez voir que je l'ai copiée à nouveau. Maintenant, le claquement est vraiment très bon si vous essayez de construire quelque chose comme ça avec une structure Maintenant, si vous ne voulez pas prendre de photos, vous pouvez toujours cliquer sur ce bouton pour le désactiver Vous pouvez, vous pouvez le déplacer en douceur. Vous pouvez faire la même chose avec la mise à l'échelle, la rotation et la mise à l'échelle. Vous pouvez augmenter la rotation, capture et la mise à l'échelle peut désactiver la capture de mise à l'échelle ou augmenter la capture de celle-ci Je vais le remettre et revenir à dix, qui est la valeur par défaut, comme avant. Vous pouvez baisser ou augmenter la vitesse de l'appareil photo. L'avantage, c'est si vous vous concentrez sur de petits objets, vous voulez que la vitesse de la caméra soit inférieure, afin de pouvoir vous déplacer plus lentement et vous concentrer sur ce que vous faites. Si vous vous déplacez dans un monde vraiment vaste, vous pouvez voir que je peux me déplacer beaucoup plus rapidement en augmentant la vitesse de mon appareil photo. C'est ainsi que nous l'utilisons habituellement. J'en reviens juste à l'une d'entre elles. OK. La dernière chose très importante ici concerne également les paramètres. Vous pouvez accéder à l'évolutivité du moteur. Et en ce moment, vous pouvez voir que je fais tourner le moteur avec une qualité incroyable. Vous pouvez également le régler sur une faible qualité. Par exemple, si vous êtes en retard, si vous avez un ordinateur bas de gamme, vous pouvez voir que mon moteur n'utilise pas vraiment beaucoup de mémoire Si vous avez un bon ordinateur, par exemple, vous pouvez toujours augmenter l'évolutivité J'ai l'habitude de faire de la cinématique si je m'occupe de quelque chose comme l'architecture ou si je fais une cinématique dans un jeu vidéo C'est vraiment agréable de lancer une cinématique et ça va prendre du retard. Donc, pour le moment, je ne vais pas le faire car j' enregistre également le cours. Je le gère juste chez Epic pour le moment. C'est bon. Jetons donc un coup d'œil ici, vous avez les boutons du fichier Basic. Comme vous le savez avec tous les logiciels, vous pouvez enregistrer le jeu ou enregistrer le niveau. Vous pouvez également créer un nouveau niveau, ce que nous ferons plus tard. Vous pouvez tout exporter et ainsi de suite. Vous avez également préférences de l'éditeur et dans les références de l'éditeur, vous pouvez modifier des éléments concernant cet éditeur. Par exemple, cette sélection est orange. Peut-être que je veux plutôt que ce soit quelque chose comme du rouge. Je peux le faire O, vous pouvez modifier des choses à ce sujet. Maintenant, je vais juste cliquer sur le contrôle Z car je suis satisfait de la couleur. Mais en gros, vous pouvez modifier des éléments concernant cet éditeur dans les paramètres du projet, vous pouvez modifier des éléments concernant ce projet. Par exemple, vous pouvez donner un nom au projet , le nom de votre entreprise. Plus tard, peut-être que vous sortirez le jeu. Les utilisateurs peuvent consulter l'e-mail de votre contact d' assistance et vous contacter en cas de bogue. Vous pouvez également ajouter des films. Par exemple, lorsque vous ouvrez un jeu, il y a une petite vidéo sur le logo pendant 5 secondes, puis le jeu démarre. Vous pouvez ajouter des films ici, démarrer des films, vous pouvez empaqueter le jeu sur différentes consoles. Vous pouvez faire beaucoup de choses ici. Nous allons maintenant entrer ici parce que vous avez certaines choses avec lesquelles vous pouvez travailler ici et nous allons le faire également. Nous pouvons donc voir que vous pouvez faire beaucoup de choses dans les paramètres du projet. Encore une fois, comme je vous l'ai déjà dit, ne vous concentrez pas sur chacun d'entre eux. Vous allez en utiliser même 20 % ou 20 %, peut-être 15 % à 10 %. Ne vous concentrez pas vraiment là-dessus, ce serait trop confus si vous commencez à faire des choses que vous n'utiliserez pas vraiment plus tard. Pour l'instant, ne nous concentrons pas sur les paramètres du projet, fermons-le simplement. Nous allons passer en revue cela chaque fois que nous en aurons besoin, mais en gros, vous n'aurez pas besoin de la plupart de ces choses. Concentrons-nous sur tout cela. Nous allons suivre ce cours et je vais vous apprendre tout ce que vous devez savoir. Ici, à droite, vous pouvez voir l'Outliner Si vous cliquez sur les objets du monde, vous pouvez voir qu'ils figurent également dans le World Outliner Le World Outliner montre simplement quels objets vous avez dans le monde. Vous avez les trois cubes que nous venons d'ajouter. Nous avons des éclairages que vous pouvez voir ici. Nous avons le ciel et nous avons la lumière, et ainsi de suite. Ils sont en fait ici et vous pouvez les voir ici. Vous pouvez cliquer sur la lumière directionnelle, par exemple, il s' agit de la lumière du soleil. Si vous cliquez sur, sur votre clavier, serez redirigé vers l'endroit que vous avez sélectionné. Si je clique dessus, vous serez redirigé ici. Maintenant, si je clique sur, parce que j'ai masqué mes icônes, pour appuyer sur G. Vous pouvez donc voir les icônes et ici vous pouvez voir toutes les lumières. Ils le cachent ici. Encore une fois, cliquez sur si vous souhaitez vous y rendre rapidement. Ainsi, par exemple, je peux cliquer sur le cube. Si je peux réellement trouver le cube, je ne le trouverai pas. L'avantage de l' outliner est que vous pouvez trouver le cube ici et que vous pouvez cliquer sur le cube Vous pouvez vraiment voir les cubes ici. Vous pouvez également sélectionner des articles ici. Cliquez sur le clavier pour vous y rendre si vous souhaitez vous y rendre rapidement. En gros, le World Outliner vous montre ce que vous avez dans ce monde, dans votre jeu en ce moment Ce ne sont là que des parties du paysage ici. Comme vous pouvez le constater, il n'y a pas grand-chose dans l'outliner Vous pouvez créer des dossiers si vous souhaitez rester organisé. Cliquez sur l'icône de ce dossier pour créer un nouveau dossier. Vous pouvez simplement renommer le dossier que nous avons créé ici. Vous pouvez le renommer et y ajouter des éléments. Si vous cliquez et faites glisser l'élément dedans, vous pouvez rester organisé de cette façon. Vous pouvez masquer des éléments en cliquant dessus et vous pouvez cliquer à nouveau dessus pour les afficher à nouveau. Oui, c'est en gros le plan dont nous avons déjà parlé, le panneau de détails, et ici, il n' pas grand-chose à faire Le plus important pour le moment, c'est que vous pouvez ajouter des éléments au monde en cliquant ici, par exemple. Vous pouvez ajouter des lumières. Nous n'en avons pas vraiment besoin. Nous allons travailler avec deux D. Vous pouvez à nouveau ajouter des formes, nous n'en avons pas besoin. Nous allons travailler avec deux D. Nous n'allons pas trop nous concentrer là-dessus, mais en gros, nous pouvons ajouter des éléments tels que des volumes. Nous allons l'ajouter ultérieurement. Nous avons donc besoin de quelque chose de très , très important à l'intérieur de ce bouton. Vous pouvez également jouer au jeu, et vous pouvez voir à quoi ressemble le jeu. Maintenant, il ne nous reste plus grand-chose dans le jeu, il ne se passe pas vraiment grand-chose. Je vais cliquer sur Escape sur mon clavier et nous allons sortir d'ici. Bien, avant de terminer, le dernier élément de ce moteur est le tiroir de contenu. Si vous cliquez dessus, cette fenêtre s'affichera. Le tiroir de contenu est essentiellement l'endroit où vous pouvez ajouter tous vos fichiers de jeu. Si vous avez les deux dessins en D que vous avez créés dans votre logiciel, par exemple les personnages, l'environnement, les jeux de vignettes, tous ces fichiers se trouveront à l'intérieur d'ici. La musique, les effets sonores, tout ce que vous avez. Si vous créez un jeu en trois D, vous avez les modèles en trois D, les textures, etc. Tous les fichiers seront donc à l'intérieur d'ici. Et vous pouvez cliquer et faire glisser des objets dans le monde, et nous pouvons les utiliser dans le tiroir de contenu. Je n'aime pas vraiment avoir un tiroir de contenu comme celui-ci, car si je clique sur quelque chose dans mon monde, cela le minimisera. Encore une fois, je pense que cela sera également source de confusion pour vous. Pendant que vous suivez le cours, vous pouvez cliquer sur le tiroir de contenu. Et je vais cliquer sur Duck in Layout. Et cela fera en sorte que le tiroir de contenu s'appelle désormais le navigateur de contenu. Il restera ici dans la fenêtre ou dans mon champ de vision, et je peux simplement le redimensionner si vous le souhaitez Vous pouvez redimensionner tous les panneaux si vous le souhaitez. C'est beaucoup mieux lorsque vous suivez ce cours que vous pouvez le voir tout le temps. Et j'ai l'habitude de le faire comme ça aussi. C'était comme ça dans le moteur 4. Ouais. Donc, en gros, vous pouvez voir vos fichiers, vous pouvez créer de nouveaux dossiers. Si vous écrivez, cliquez sur ce dossier de contenu, par exemple, vous pouvez cliquer sur un nouveau dossier. Vous pouvez l'appeler, disons actifs ou n'importe quel autre nom que vous souhaitez ajouter. Plus tard, vous pouvez même cliquer avec le bouton droit sur ce dossier et accéder à Définir la couleur. Vous pouvez donner une couleur à ce dossier si vous le souhaitez. De cette façon, vous pouvez rester organisé. Quoi que vous vouliez faire, vous pouvez toujours cliquer à nouveau avec le bouton droit de la souris, effacer la couleur si vous ne le souhaitez pas. Maintenant, tous les fichiers seront à nouveau là. Vous pouvez également cliquer sur le bouton Ajouter et ajouter un nouveau dossier si vous le souhaitez. Vous pouvez également voir que vous pouvez ajouter d'autres éléments comme la classe Blueprint, c'est la programmation que nous allons faire Vous pouvez ajouter un nouveau niveau, vous pouvez ajouter un matériau. Vous pouvez ajouter beaucoup de choses sur feuillage animé si vous faites de l'herbe, des arbres, etc. Vous pouvez ajouter quelque chose à propos du papier à T, qui correspond à la photo sur laquelle nous allons travailler Nous les ajouterons tous. Nous allons tout apprendre ici. Vous pouvez ajouter de la physique, etc. Vous pouvez également le faire, au lieu de le faire d'ici, ce que je n'utilise jamais, vous pouvez cliquer sur le dossier et vous pouvez écrire un clic à l'intérieur d'ici. Et vous pouvez ajouter les mêmes choses que j'écris habituellement. Cliquez ici et ajoutez des éléments. Mais tu peux aussi le faire ici, d'accord ? C'était tout. Maintenant, si vous souhaitez réduire ou agrandir ces icônes , vous pouvez maintenir la touche Contrôle votre clavier enfoncée et effectuer un zoom arrière. Cela augmentera ou diminuera la taille de l'icône. Vous pouvez également maintenir la touche Ctrl enfoncée et zoomer pour augmenter la taille des icônes. Maintenant, vous pouvez également cliquer sur Paramètres, j'ai sélectionné Taille. Et c'est en gros la même chose que pour Nal Engine Five et la vue d'ensemble. J'espère que tu as un peu plus confiance en ce qu'il y a à l'intérieur. Encore une fois, nous allons faire un cours complet à l'intérieur d'ici, sorte que vous allez avoir confiance en lui pour le moment. Passons simplement à la leçon suivante. 5. 2.01 Introduction de jeu: Bonjour et bienvenue. Et merci beaucoup de m'avoir rejoint dans ce cours ici. Ceci n'est qu'une introduction au jeu que nous sommes en train de créer. J'aimerais vous montrer ce que nous créons avant de commencer, afin que vous ayez une idée de ce que nous faisons dans le cadre de ce cours. Donc, en gros, nous créons un jeu à deux clics. Et voilà, à l'intérieur d'Unreal Engine Five. Et nous n' utilisons que des plans pour créer ce projet, donc pas de C plus Maintenant, je veux juste vous montrer en quoi consiste le projet. Si je clique simplement sur Play ici, vous pouvez voir que la musique joue déjà. Il s'agit essentiellement d'un jeu de clicker comme Cookie Clicker ou Clicker Heroes, si je désactive simplement Je peux donc m'exprimer librement en cliquant ici. Donc, passez au volume 20 et cliquez à nouveau sur Play. En gros, c'est comme Clicker Heroes, où vous avez un ennemi au milieu Vous avez des articles de boutique ici sur le côté, vous avez des pièces là-haut. Je viens de me donner beaucoup de pièces pour pouvoir acheter tout ça et vous montrer le jeu. J'ai également quelques niveaux ici sur le côté. Et j'ai un chronomètre qui me permet de tuer l'ennemi avant. Parce que si je ne tue pas l'ennemi, chronomètre se réinitialisera et l' ennemi sera complètement guéri. Encore une fois, je dois tuer cet ennemi avant la fin du temps imparti. Si je tue l'ennemi, vous pouvez voir qu'un nouveau niveau a été débloqué et je peux passer au niveau suivant pour faire apparaître le prochain ennemi, et je peux tuer cet Désormais, chaque fois que je tue un ennemi, je gagne des pièces et je peux avancer dans les niveaux, et les niveaux continuent dès que j'ai de l'argent, je peux désormais débloquer des objets que je peux acheter ici. Par exemple, vous pouvez voir que ma souris fait 15 dégâts par clic. Je peux aussi le voir ici Si je passe la souris dessus, il est indiqué qu'il inflige actuellement 15 dégâts par clic. Et je peux cliquer dessus et en acheter un. Maintenant, j'inflige 40 dégâts par clic et je peux cliquer sur l'ennemi. Maintenant, je peux voir que je fais plus de dégâts. Ces éléments ci-dessous sont des mécanismes de clic automatique. En gros, si j'achète celui-ci, il indique qu'il m'inflige cinq dégâts par seconde. Cinq par un. Vous pouvez maintenant voir qu'il inflige automatiquement des dégâts à l'ennemi et qu'il inflige cinq dégâts par seconde. De toute évidence, cela ne tuera pas l'ennemi, et l'ennemi continue de rétablir la santé Mais si j'achète quelque chose de plus fort, tu peux voir qu'il peut atteindre la mort ici et le débloquer. Maintenant, j'ai rendu les choses super faciles pour le moment, parce que je veux juste vous montrer à quoi ressemble le jeu. Mais il est évident que la santé doit être beaucoup plus importante et que les coûts doivent également l'être beaucoup plus. Maintenant, dans les plans, si je retire simplement mes pièces, si je vais voir le joueur, je clique sur le nombre de pièces et je le mets à zéro Et si je clique sur Play, vous pouvez voir ici les articles que je ne peux pas encore acheter. Les boutons ont été désactivés et le bouton change de couleur dès que j'ai de l'argent. Vous pouvez voir maintenant que je peux acheter cet article. Et dès que j'en ai acheté une, donc maintenant j'ai 15 pièces, je peux en acheter une et je les dépense ici sur le côté. Vous pouvez voir combien j'en ai acheté dès que j'en ai acheté. Tout ce que vous pouvez voir, d'ailleurs, chaque fois que vous achetez un article, c' est ici pour le monde entier. Donc, si vous achetez un article, il apparaît ici. Et si j'en achète plus, vous verrez qu'il continue d' apparaître ici Ainsi, tous les objets que vous achetez apparaîtront également dans le monde Dès que j'aurai acheté tous les articles et un montant précis, un bouton d'ascension apparaîtra Lorsque je clique dessus, je peux passer à l'étape suivante. C'est essentiellement le jeu que nous sommes créer et il y a aussi des mécanismes de bus, donc des ennemis qui apparaîtront plus tard dans les niveaux. Il s'agit essentiellement du jeu de clicker que nous sommes en train de créer. J'espère que vous vous joindrez à moi lors des prochaines leçons. Ce sera très amusant de créer tout cela avec vous, et je vous promets que ce sera facile, et je vais également vous faciliter la tâche. Continuons. 6. 2.02 Créer un nouveau niveau: Très bien, commençons le projet. Allons-y et créons une nouvelle carte à l'intérieur des dossiers du navigateur de contenu. Je vais écrire. Cliquez d'abord et créez un nouveau dossier que vous appellerez maps. Restez simplement organisé avec le projet. Maintenant, à l'intérieur d'ici, je vais cliquer maintenant. Vous pouvez créer un niveau avec deux méthodes. Vous pouvez cliquer ici avec le bouton droit de la souris et créer un nouveau niveau. Vous pouvez également accéder à Fichier et cliquer sur Nouveau niveau. Maintenant, la différence est que si vous cliquez ici à partir d'ici et que vous cliquez sur Nouveau niveau ici, vous pouvez voir que vous pouvez créer un niveau en monde ouvert. Vous pouvez créer un niveau de monde ouvert vide et ainsi de suite. Vous avez donc quelques modèles ici. Si vous cliquez avec le bouton droit de la souris et que vous cliquez sur le niveau, vous n'obtenez pas ces options, vous obtenez automatiquement un niveau vide. Je veux juste créer un niveau vide car encore une fois, nous allons tout créer nous-mêmes. Cliquez ici avec le bouton droit de la souris pour créer un nouveau niveau. Appelons cela une carte. J'ai l'habitude de l'appeler carte, appelons-le donjon Je ne pense pas que nous aurons plusieurs cartes, c'est la seule que nous aurons. Il suffit de double-cliquer sur celui-ci. J'allais vous dire, voulez-vous enregistrer cette carte ? C'est en fait ce que cela signifie lorsque vous avez des étoiles sur vos icônes. Si vous avez de petites étoiles, cela signifie que vous ne les avez pas encore enregistrées. Allons-y et cliquons sur Enregistrer la sélection. Et maintenant, nous sommes à l'intérieur de cette carte. Maintenant tu peux voir qu'il fait très noir, on ne voit rien. Et ici aussi, dans l'Outliner, vous pouvez voir que vous ne pouvez voir aucun objet C'est parce que ton niveau est vide. Tu n'as rien, tu n' as pas d'éclairage, rien. Nous allons ajouter beaucoup de choses ici, mais pour l'instant nous voulions simplement créer une nouvelle carte. Allons-y et cliquons sur Fichier > Tout enregistrer. Très jolie touche sur laquelle appuyer souvent car parfois le moteur plante Mais allons-y , sauvegardons tout et passons à la leçon suivante. 7. 2.03 Importation d'actifs d'environnement: Allons-y maintenant et importons les actifs environnementaux. Maintenant, je l'ai inclus pour vous dans le cours. Nous avons des supports de cours que vous pouvez télécharger. Maintenant, à l'intérieur de ces supports, encore une fois, je vais ajouter d'autres éléments au fur et à mesure que je développerai ce cours. Parfois, si je passe aux effets sonores, vous verrez peut-être beaucoup plus d'effets sonores lorsque je suis à l'intérieur. Vous pouvez donc voir que je les ai, mais dans votre dossier, vous avez peut-être beaucoup plus d'effets sonores. Encore une fois, je vais ajouter de plus en plus à mes supports de cours au fur et à mesure que je développerai ce cours. Ne vous y trompez pas si je n'ai pas autant, autant d'objets à l'intérieur. Très bien, pour l'environnement, passons à l' environnement ici, et prenons les deux. J'ai donc les environnements des donjons et des prisons. Maintenant, si je peux double-cliquer dessus et zoomer, voici à quoi cela ressemble. Il en va de même pour les accessoires. J'ai des accessoires que je peux utiliser. Fermons-le maintenant et importons-les. Pour l'importer, créons un nouveau dossier. Je vais faire un clic droit ici, créer un nouveau dossier. Je vais l'appeler assets ici, je vais cliquer avec le bouton droit de la souris et créer à nouveau un nouveau dossier. Et appelons cela un environnement unique. D'accord, je vais réduire un peu mes icônes car elles prennent beaucoup de place. Je vais donc cliquer sur Contrôle et dézoomer avec la molette de ma souris. OK, maintenant je vais entrer dans le dossier d'environnement. Et c'est parti d'ici. Nous pouvons maintenant cliquer et faire glisser. Permettez-moi d'ouvrir à nouveau le dossier. Je peux les cliquer et les faire glisser ici. Nous y voilà. Maintenant, n'oubliez pas que si vous ne pouvez pas les cliquer et les faire glisser, cette icône apparaît ici et elle vous indique que vous ne pouvez pas vraiment les faire glisser ici. C'est parce que votre dossier est peut-être un dossier IP ou un dossier brut. N'oubliez pas de cliquer avec le bouton droit sur votre dossier et d'en extraire le contenu. S'il s'agit d'un dossier IP, il doit s'agir d'un dossier normal. Extrayez le contenu. Après avoir extrait, vous pouvez importer des éléments à l'intérieur d'ici. Maintenant, lorsque vous importez des éléments à l'intérieur d'ici, vous pouvez cliquer dessus et vous pouvez voir que c'est flou Ce n'est pas vraiment trop difficile et vous voyez, c'est très flou. Et c'est ce que nous ne voulons pas. C'est parce que le vrai moteur est un moteur tridimensionnel. Cela brouille les éléments qui sont beaux en trois D, mais pas en deux D. Il suffit de les sélectionner tous les deux. Vous pouvez simplement cliquer sur Contrôle et cliquer sur le suivant pour faire de les sélectionner tous les deux. Vous pouvez simplement cliquer sur Contrôle et cliquer sur un clic droit sur les actions Sprite et cliquer sur Appliquer les paramètres de texture Paper two D. Cela permettra de s'assurer que les objets à l'intérieur d'ici ne sont pas flous En fait, vous pouvez choisir beaucoup, comme vous pouvez le voir ici, maintenant c'est choisir beaucoup, tout va bien Allons-y, cliquons sur Fichier et sauvegardons tout, les textures. Maintenant, je vais créer un nouveau dossier appelé Textures, et nous allons simplement l'importer. À l'intérieur, nous avons le dossier Assets. À l'intérieur, nous avons l'environnement, et à l'intérieur, nous avons le dossier Textures. En effet, lorsque nous créerons une carte en tuiles et un jeu de tuiles plus tard, je vais simplement les placer ici. Nous n'en avons plus vraiment besoin. Plus tard, je vais juste les avoir dans le dossier Textures. Mais pour le moment, c'était ça. Passons à la leçon suivante. 8. 2.04 Créer un jeu de tuiles: Maintenant que nous avons importé les ressources, nous pouvons créer une carte de tuiles et un jeu de tuiles. Maintenant, pour connaître la différence, vous pouvez écrire cliquer ici et passer sur papier pour voir qu'il existe ce que l'on appelle une carte à tuiles. Il y a ce qu'on appelle un ensemble de tuiles. Maintenant, la différence entre les deux est que le jeu de tuiles contient les tuiles avec lesquelles nous devons peindre notre carte. La carte en mosaïque est la carte elle-même. Vous pouvez l'imaginer si vous êtes peintre. Vous avez la pastille, qui est le jeu de tuiles que sont nos tuiles, et la toile, qui est la carte en tuiles sur laquelle nous peignons notre carte elle-même Allons-y et créons un jeu de tuiles. Je ne vais pas le créer à partir d'ici, mais nous pouvons le créer en cliquant avec le bouton droit sur le prisme du donjon Vous pouvez voir qu' il s'agit de l'environnement que nous avons importé ou essentiellement des tuiles. Faisons un clic droit sur celui-ci, passons aux actions des sprites et créons un jeu de vignettes À partir de cette texture, vous pouvez voir qu'elle a été créée. Je vais juste double-cliquer ici. Et vous pouvez aussi, d'ailleurs, cliquer dessus et cliquer sur deux sur le clavier. C'est parfois plus facile. Je vais juste dire S comme préfixe pour le jeu de tuiles. Je vais double-cliquer dessus et l'ouvrir ici. Vous pouvez maintenir le bouton droit de la souris enfoncé, dessiner, zoomer et dézoomer et voir les vignettes. Cliquez dessus pour les sélectionner. C'est ce que nous sommes en train de faire. Plus tard, nous allons sélectionner les tuiles , puis les peindre à l'intérieur de la carte des tuiles. Maintenant, nous pouvons voir ici que si je sélectionne une tuile, elle ne convient pas vraiment. C'est trop en sélectionner. Et c'est parce qu' ici, dans la taille des carreaux, nous devons définir la taille des carreaux. Maintenant, ces tuiles en particulier, je les ai trouvées sur do in Je crois que cela s'appelle des tuiles Dungeon Pixel ou quelque chose comme ça, mais en gros, sur la façon dont vous pouvez trouver trois tuiles, deux œuvres d'art en 3D ici, c'était 16 par 16, c'est ce que l'artiste a écrit De plus, si vous écrivez 16 x 16 pixels, ce sont donc des pixels que vous pouvez voir maintenant que vous les sélectionnez correctement. Maintenant, si je clique sur les tuiles, elles sont sélectionnées correctement, elles sont maintenant préparées. Plus tard, nous devrons ajouter la collision ici, à l'intérieur d'ici. Peut-être en avons-nous besoin, peut-être pas. Parce que c'est un jeu de clicker et que personne ne bouge. En fait, je ne pense pas qu'il soit nécessaire d' ajouter une collision au jeu. C'était tout pour le moment. Nous pouvons maintenant tout enregistrer et le fermer. Maintenant, si nous avons besoin des accessoires plus tard, faisons-le maintenant. Il se peut que nous les utilisions. Cliquons ici avec le bouton droit de la souris. Accédez à Sprite Actions, créez également un jeu de vignettes à partir de celui-ci Allez-y et renommez-le en S dans le jeu de tuiles initial. Ouvrons-le à l'intérieur d'ici. Encore une fois, vous pouvez voir que lorsque je sélectionne quelque chose, cela en sélectionne trop. Cela est dû au fait que la taille de la vignette est de 16 pixels sur 16 pixels. Maintenant, lorsque je sélectionne les éléments, c'est plus correct et il ne sélectionne pas non l'élément à côté. C'était tout pour le moment. Allez-y, sauvegardez également celui-ci. Maintenant, si vous décidez d' aller sur Cho à l'avenir, vous pouvez simplement vous rendre ici dans les jeux et les ressources de Brows, et ici vous pouvez trouver des actifs gratuits et vous pouvez les télécharger. Mais tu peux aussi le faire ici. C'est essentiellement celui que j'ai téléchargé, cette spécification ici. Mais en gros si vous voulez plus de tuiles plus tard pour votre jeu ou si vous avez besoin de plus d'accessoires pour votre jeu, vous pouvez toujours aller ici, les télécharger, puis les importer à nouveau N'oubliez pas de cliquer avec le bouton droit de la souris, d' appliquer du papier sur les paramètres de texture pour les rendre non flous. Et puis cliquez avec le bouton droit de la souris, continuez et créez à nouveau un jeu de vignettes. Et voilà vos nouvelles tuiles. OK, maintenant nous pouvons les utiliser pour créer notre carte en tuiles. Passons donc à la leçon suivante et créons une carte en tuiles. 9. 2.05 Créer une carte de tuiles: Maintenant que nous avons créé le jeu de vignettes, je vais simplement les prendre ici et les déplacer vers le dossier Environment, en dehors du dossier Textures. Parce qu'en gros, nous n'en avons plus besoin, mais vous n'avez pas besoin de les supprimer car ces ensembles de tuiles ont toujours besoin de ces textures. Mais nous n'allons pas vraiment les utiliser dans le jeu, nous allons les utiliser ici. Créons maintenant une carte en tuiles. Si vous cliquez avec le bouton droit sur le jeu de tuiles que nous avons créé, le prisme du donjon, vous pouvez créer une carte de tuiles ici le prisme du donjon, vous pouvez créer une carte de tuiles Allez-y, créez une carte en tuiles, et je vais l'appeler à nouveau, Dungeon Prison Arrêtons-nous, cliquons, ouvrons-le et voyons ce que c'est. Comme je vous l'ai déjà dit, une carte en mosaïque est le canevas. Vous peignez les carreaux sur le jeu de carreaux, dont vous pouvez voir ici à gauche votre toile. Vous pouvez sélectionner des vignettes ici, zoomer et dézoomer, maintenir le bouton droit et dessiner autour de vous, par exemple. Vous pouvez prendre la parole ici en cliquant ici. Si vous déplacez la souris sur votre canevas dans la carte des tuiles et que vous cliquez ici, vous pouvez voir que vous avez peint une tuile. Vous pouvez simplement cliquer avec le bouton gauche de la souris et peindre. Maintenant tu peux voir que tu as tout rempli. Maintenant, si vous voulez effacer, vous pouvez cliquer sur l'effaceur ici, ou vous pouvez cliquer sur E sur le clavier En cliquant dessus, nous allons sélectionner nouveau le rasoir, cliquer sur tout Ou vous pouvez continuer, et cela remplira le tout. Ou vous pouvez cliquer dessus ici, sur le pot de peinture. Et vous pouvez cliquer ici et cela remplira tout le canevas avec le carreau que vous avez sélectionné. Vous pouvez également sélectionner une autre tuile, et en cliquant sur B pour l'outil de peinture, vous pouvez également peindre ici. Maintenant, je peux voir que nous pouvons peindre à l'intérieur d'ici. À droite, nous avons des couches. Si vous avez travaillé avec un logiciel tel que Photoshop, vous savez ce que sont les calques. Par exemple, disons que j'ai peint ce sol ici. En cliquant sur cette tuile, j'ai peint ici. Si je clique ici, vous pouvez essentiellement changer de jeu de tuiles. Je peux changer mon jeu de tuiles du donjon prison aux accessoires que j'ai créés Disons que je veux peindre ça ici. Tu vois ici. Si je clique ici, cela ne suffit pas car la caisse est composée de celle-ci et de celle-ci. En fait, je peux simplement cliquer et faire glisser et sélectionner les deux. Maintenant, si je les emmène ici et que je peins, vous pouvez voir que mon sol est en train d'être détruit. C'est parce que tu peins ici aussi. Je vais cliquer sur le contrôle Z. Donc, au lieu d'ici, ajoutons une nouvelle couche Je peux maintenant peindre mon seau sur cette nouvelle couche. Maintenant tu peux voir que rien ne se passe. Cela est dû au fait que cette couche n' affecte pas la couche située en dessous. Si je clique sur l'œil pour réduire la visibilité, vous pouvez maintenant voir que je heurte ma caisse Et si je clique à nouveau dessus, je l'affiche. Et je peux faire la même chose avec d'autres objets. Je peux simplement cliquer sur la deuxième couche et l'ajouter, et tout ira bien. Maintenant, vous pouvez voir que si je clique sur la première couche et que je la peins, la tuile située en dessous sera supprimée. Très, très agréable d' avoir ces couches. Si vous avez besoin de quelque chose au-dessus de la couche inférieure, j'ai besoin de quelque chose au-dessus du sol et je dois créer une nouvelle couche. Supposons que nous ayons joué dans un jeu où le ciel était entouré de nuages. Supposons qu'il s'agisse d'une plateforme ou d'un jeu et que nous disposions du cloud. Permettez-moi de les supprimer toutes ici. Disons qu'il y avait des nuages ici. Et derrière ces tuiles également, nous aurions pu créer une couche. Et en fait, nous pourrions cliquer sur cette flèche pour placer la couche derrière ces tuiles ici. Et nous pourrions peindre derrière sans que cela ne soit affecté. Et vous pouvez voir si je les cache ici, sont en fait derrière les dalles de sol. D'accord, voici comment fonctionnent les calques, tout comme dans Photoshop, si vous avez déjà travaillé avec Photoshop, supprimons ce calque ici. Et cette couche aussi, il suffit de garder celle-ci. Maintenant, ici, nous devons définir la largeur et la hauteur des carreaux. C'est correct, car souvenez-vous qu' à l'intérieur du jeu de tuiles, les vignettes devaient mesurer 16 pixels sur 16 pixels. Et ici, c'est aussi 16 pixels sur 16 pixels. Celui-ci est donc correct. OK, allons-y et supprimons ceci. Je vais cliquer sur E pour le rasoir. Va juste tout effacer. Maintenant, ce que nous pouvons faire, c'est que tout va bien. Largeur et hauteur de la carte. Agrandissons simplement la carte un peu. Je vais en faire une tuile de 15 x 15, de 15 tuiles par 15 tuiles. C'est juste temporaire. Vous allez créer une carte temporaire que nous modifierons ultérieurement. Ne t'en fais pas pour le moment. Nous voulons simplement que le jeu contienne quelque chose pour pouvoir le coder. Pour le moment, c'est bon. Cliquons sur Fichier et sauvegardons le tout. Passons à la leçon suivante. 10. 2.06 Designing d'une carte de tuiles temporaire: Très bien, allons-y et concevons une carte temporaire. Avant de pouvoir coder notre jeu, nous avons besoin de quelque chose ici. En gros, cliquons sur la tuile configurée ici et sélectionnons le prisme du donjon Vous pouvez sélectionner ce que vous voulez. Vous pouvez même prendre celui-ci et cliquer sur l'outil de remplissage. Et vous pouvez cliquer ici et c'est fait. Mais en gros, je vais juste créer ici, cela ne doit pas vraiment être quelque chose de bien, parce que nous allons le changer de toute façon. Je vais cliquer dessus et le remplir ici avec ces vignettes. Sur cette couche, vous pouvez même cliquer dessus. Cliquez sur deux sur le clavier et appelez-le couche de base. C'est peut-être le sol. Maintenant, nous avons peut-être aussi besoin de quelques murs. Ce sont les murs. Je vais juste sélectionner à nouveau ce coin ici. Vous pouvez cliquer et faire glisser, sélectionner les trois. Vous pouvez cliquer sur ce plus ici, créer une nouvelle couche. Et je vais juste l' appeler front layer. Cliquez peut-être sur l'outil à épingle pour peindre, peignez-le ici. Je vais maintenant sélectionner les murs, il suffit de cliquer et faire glisser ma souris pour les peindre tous ici. Encore une fois, sélectionnez celui-ci et peignez-le ici. D'accord. Maintenant, parfois, lorsque vous avez de nouvelles tuiles, vous devez déterminer lesquelles vont où, car elles sont très spécifiques. Par exemple, voici, je crois, celui-ci. Vous pouvez le sélectionner ici, peindre ici. Ensuite, vous devez sélectionner, voyons voir, je pense que c'est celui-ci. Celui-là. Peignez ici aussi. Vous devez sélectionner l'un d'entre eux ici. Nous devons voir, laissez-moi voir ici. Si nous pouvons en trouver un qui convient, peut-être celui-ci. Oui, celui-ci convient. Tu peux le peindre ici. Vous pouvez le sélectionner, cliquer ici, le peindre vers le haut. Maintenant, connecte-le et connecte-le à celui-ci ici. Nous avons maintenant une petite pièce avec laquelle nous pouvons travailler. Vous pouvez même essayer de pratiquer ces tuiles. C'est bon de s'entraîner. Maintenant, avant de créer la carte finale, ajoutez peut-être quelque chose comme ça ici. Mais comme vous pouvez le constater, nous sommes en fait sur le côté. Laissez-moi voir si nous pouvons résoudre ce problème. Peut-être que tu peux peindre avec celui-ci. Pour l'autre côté, je dois sélectionner ceux qui s'y trouvent, laissez-moi juste pour que vous puissiez mieux voir ceux qu'ils contiennent de ce côté. Et maintenant, tout semble correct. D'accord. Il en va de même pour les carreaux. Voyons si nous devons les peindre maintenant. Je crois que nous n'en avons pas vraiment besoin. Très bien, donc ce que nous pouvons ajouter également, vous pouvez essayer d'ajouter celui-ci si vous le souhaitez. En gros, nous pouvons cliquer et sécher et les sélectionner tous comme ceci, et maintenant nous pouvons les ajouter à nouveau ici. Vous pouvez essayer de les ajouter à la couche de base, mais comme vous pouvez le voir, vous allez peindre au-dessus d'ici. Cliquez sur Contrôle, vous pouvez également voir qu'il se trouve derrière le mur. Cliquez sur la couche avant, vous pouvez essayer de la peindre ici. Comme vous pouvez le constater, encore une fois, il s'agit de peindre sur le dessus des murs, parce que nous peignons au-dessus de ces couches ou de ces carreaux en cliquant ici et en ajoutant une nouvelle couche, que nous appelons peut-être façade décorative ou autre. Ce n'est pas vraiment trop important, peu importe le nom que vous lui donnez. Ajoutons-le ici, par exemple. Maintenant, vous pouvez voir que nous l' avons ajouté. Comme je peux le voir, les tuiles que je viens de sélectionner. Les carreaux ici haut ne conviennent pas, nous devons donc passer à la couche de base. Et je vais passer aux carreaux ici. Et j'ai besoin de peindre avec ces carreaux. Peindre avec ces carreaux. Et le carreau d'angle est là, l'autre coin est là. Essayons de le peindre correctement. Je pense que celui-ci est là. Peignons celui-ci ici. Encore une fois, ce coin est comme celui-ci. Et je vais juste peindre comme ça. D'accord ? Je peux le faire très rapidement. Pour le moment, ce n'est pas vraiment trop important. Il s'agit simplement d'une carte de test que nous modifierons ultérieurement. Maintenant, le problème avec Honoral Engine for Picks c'est que si vous peignez de mauvaises choses, si vous cliquez sur le contrôle Z, cela ne supprimera qu' une seule tuile à la fois Si vous en faites trop, cela peut être pénible. Très bien, cette tuile ici, peut-être devons-nous simplement peindre celle-ci comme ça. Et ça a l'air beaucoup mieux ici aussi. Maintenant, ça a l'air bien. Je pense que nous avons également quelques points saillants à souligner en ce qui concerne les piliers. Nous pouvons voir que le pilier présente également certains points forts. Je peux en fait sélectionner celui-ci, revenir à la couche avant, et je peux peindre celui-ci comme pilier. Il y a de la lumière provenant de cette pièce, la lumière rouge, et ça a l' air plus réaliste. Maintenant, si vous souhaitez également ajouter des accessoires, encore une fois, cela n'a pas vraiment d' importance pour le moment Mais vous pouvez ajouter quelques accessoires ici. Par exemple, créez. Vous pouvez vous rendre sur le devant de la décoration. Mettons-en un ici. Mets-le peut-être de côté, c'est comme ça. Et peut-être que dans le coin, voyons voir. Nous pouvons peut-être placer ce coffre ici, dans un coin, comme ça. Encore une fois, cela n'a pas vraiment d'importance pour le moment. Laissons les choses comme ça. Si vous voulez ajouter de l'herbe, je pourrais voir qu'il y en avait. Vous pouvez peut-être en sélectionner une partie ici. Ajoutez l'herbe ici. Ensuite, vous pouvez le terminer, je crois en faisant allusion à celui-ci Vous pouvez également le peindre ici. Je vais cliquer sur Contrôles. Ce n'est pas trop important pour le moment. Sauvegardons tout. Voici la carte que nous avons. Fermons-le et passons à la leçon suivante. 11. 2.07 Placer la carte de tuiles dans le niveau: Maintenant que nous avons créé la carte en tuiles, cliquons dessus et faisons-la glisser dans le niveau. Très facile. C'est ainsi que vous placez la carte en tuiles dans le niveau. Encore une fois, comme je vous l'ai déjà dit, vous pouvez maintenir le bouton droit de la souris enfoncé et cliquer sur W D S et A pour vous déplacer. En gros, c'est ce à quoi cela ressemble. Il s'agit de deux D à l'intérieur d'un moteur manuel. Comme il s'agit d'un logiciel ou d'un moteur 3D, voici à quoi cela ressemble. Nous travaillons avec trois D, mais si vous passez à la vue orthographique et que vous la visualisez depuis la bonne vue au lieu du mode filaire, vous pouvez simplement sélectionner le mode non éclairé Vous pouvez zoomer ici et vous pouvez voir à quoi cela ressemble. Maintenant, nous le voyons en deux D. Je vais juste revenir au mode perspective pour le moment. Ce que je fais habituellement pour le lieu, j'ai dit à 20 ans, écrivons 000. Il est ici au zéro du monde. Je vais supprimer toutes ces lignes ici parce que je n'en ai pas vraiment besoin. Si vous cliquez sur la carte de tuiles, vous descendez ici, vous pouvez supprimer celle-ci, Afficher par grille de tuiles une fois sélectionnée. Maintenant, il est supprimé. Maintenant, voici comment vous le placez. Très facile. Nous pouvons continuer, cliquer sur Fichier et tout enregistrer. Mais comme vous pouvez le constater, cela semble très mauvais car les couleurs ne sont pas correctes, et c'est parce que l'éclairage d' Unreal Engine affecte cette carte en tuiles Allons-y et corrigeons-le dans la prochaine leçon. 12. 2.08 Volume de processus de publication: Maintenant, pour régler l'éclairage, nous devons utiliser ce que l' on appelle un volume de post-traitement. Si vous cliquez ici pour accéder aux volumes, vous trouverez ce que l'on appelle un volume de post-traitement ici. Vous pouvez également le trouver dans les effets visuels. Ce volume de post-traitement est le même. Vous pouvez cliquer dessus et vous en créerez un. Ce qu'est un volume de post-traitement, si vous avez déjà travaillé avec Photoshop, cela change essentiellement les couleurs, comme dans Photoshop. Vous modifiez la saturation de l'image, vous modifiez l'éclairage et la luminosité, etc. Il en va de même pour le volume du post-traitement. Tu cliques dessus. À l'intérieur d'un volume de post-traitement, vous pouvez modifier la quantité de Bloom ou l'exposition si vous souhaitez obtenir un reflet de l'objectif. L'effet d'image, qui est la vignette autour de l'image où vous créez l'image, est-à-dire dans les coins, c' est-à-dire dans les coins, ressemble à un effet cinématographique Et vous pouvez modifier la température de la lumière. Vous pouvez changer beaucoup de choses en modifiant l'apparence du jeu. Le volume post-traitement est utilisé pour modifier l' apparence du jeu. OK, à l'intérieur d'ici, si vous augmentez ou diminuez la valeur. Par exemple, si je vais sur Bloom et que je clique sur l' intensité et que je l'augmente ou que je la diminue, rien ne se passe. Cela est dû au fait que vous devez entrer dans un volume de post-traitement. Et comme vous pouvez le voir, si je suis dedans, je peux maintenant augmenter et diminuer et cela change les valeurs. Maintenant, au lieu d'être dedans , vous pouvez descendre et vous pouvez trouver celui-ci appelé Infinite Extent Unbound Unbound Si vous cliquez dessus, cela signifie que cela affectera l'ensemble du niveau. Et peu importe que vous soyez à l'intérieur ou à l'extérieur, cela affectera l'ensemble du niveau. Maintenant, vous pouvez voir si j' augmente ou diminue, l'intensité va changer. Maintenant, l'avantage d' être dedans, c'est que disons que vous avez un jeu en trois ou même un jeu en deux D, par exemple si vous voulez créer un style spécial. Si vous entrez dans une grotte dans un jeu en trois D, par exemple un jeu de rôle, cela change l'apparence du jeu car vous êtes maintenant à l'intérieur de la grotte La grotte a un aspect spécifique. Si vous sortez de la grotte, cela change d'apparence. Mais ici, nous n'avons pas vraiment besoin de modifier les effets en fonction de l'endroit où nous nous trouvons. Nous voulons que tout soit pareil. Habituellement, dans la plupart des jeux , il suffit de cliquer sur Infinite Extent Unbound et cela affecte l'ensemble du jeu OK, maintenant pour le Bloom, je dois le mettre à zéro parce que nous n'avons pas vraiment Bloom ou encore une fois en deux D avec deux D dans un moteur à trois D, c'est vraiment cool parce que vous pouvez utiliser l' éclairage en D et l'ajouter à deux D, ce qui lui donne ensuite des effets vraiment spéciaux que vous n'obtenez pas avec deux moteurs. Vous pouvez obtenir trois éclairages en D, vous pouvez obtenir trois effets en D à l'intérieur, ce que vous ne pouvez pas obtenir avec deux moteurs en D. C'est très cool d'expérimenter ça également. Je créerai probablement un cours plus tard, si ce n'est pas déjà fait, sur la façon d'ajouter des effets spéciaux en trois D à deux D. Mais pour l'instant, réglons le Bloom à zéro. Passons à l'exposition et gros, à l'exposition minimale et maximale. En général, je la règle sur 1,1 exposition, c'est simplement si je la désactive. Vous pouvez voir que l'éclairage augmente avec le temps. C'est bon pour les environnements cinématographiques en trois dimensions, mais nous n'avons pas vraiment besoin de changer l'éclairage selon que nous sommes proches ou éloignés. Alors définissons-le simplement sur une constante, même si nous sommes proches ou éloignés, cela n'a pas vraiment d'importance. Mais pour l'instant, je vais le mettre à deux parce que je vais juste vous donner mes paramètres de volume post-traitement que j'ai créés pour deux D ici. L'éclairage est très, très bon car, comme vous pouvez le voir ici, nous devons ajuster l'éclairage et nous voulons qu'il ressemble à un éclairage non éclairé Si vous optez pour le non-éclairé, voici à quoi cela ressemble sans éclairage C'est en fait ce que j'ai avec ce jeu de pixels ou de tuiles. Voilà à quoi ça ressemble vraiment. Vous pouvez également le voir à l'intérieur de la vue de droite, dans la vue autographique Si vous zoomez, voici à quoi cela ressemblera lorsque l'éclairage sera correct. Si nous revenons au mode perspective et que je reviens au mode éclairé, le problème est que lorsque vous cliquez sur jouer ici, vous ne le voyez qu'en mode éclairé. Nous devons en fait changer l'éclairage en mode éclairé pour qu'il soit le même qu'en mode éteint C'est ce que nous essayons de faire avec le volume de post-traitement. Nous essayons de faire en sorte que le mode allumé ait le même aspect que le mode éteint. Comme ça. OK, passons au mode allumé ici. J'ai essayé pendant trois à quatre heures. Je jouais juste avec de nombreux paramètres pour que cela ressemble au mode éteint. J'ai découvert que l'exposition minimale et maximale devait être fixée à deux. l'effet d'image, qui est essentiellement une vignette Vous pouvez voir que l'effet d'image, qui est essentiellement une vignette, ajoute un effet cinématographique sur les bords Nous avons juste réglé celui-ci à zéro, nous n'en avons pas vraiment besoin. Nous avons en fait ici, les reflets et les divers éléments de l'étalonnage des couleurs pour le minimum de reflets, nous devons régler ce paramètre sur un Voyons ici pour le montant de la courbe de tonalité, nous devons le mettre à zéro. Vous pouvez constater une grande différence lorsque nous mettons celui-ci à zéro. On dirait presque l'original. Maintenant, si vous passez en mode Lit. Lorsque vous passez en mode Lit, vous pouvez constater que l'apparence est bien meilleure qu'avant. Cependant, nous devons encore ajuster certaines choses car vous pouvez voir que ce n'est pas pareil. Vous pouvez également cliquer sur les raccourcis, quatre anciens et les trois anciens. Si je clique sur les trois anciens, je passe en mode Lit. Les quatre anciens, je passe en mode Lit, là, peux cliquer sur l'ancien 3.4 très rapidement, et vous pouvez voir la différence entre les deux. Il y a quand même une certaine différence si je reviens au mode Lit. Et modifions également certains paramètres ici. Maintenant, en haut, en fait ici en bas, continuons. Avant de changer les couleurs ici, réglons l'intensité de l' occlusion ambiante à zéro Nous allons également changer le montant du flou cinétique à zéro. ai vraiment besoin. Cliquons sur Fichier et sauvegardons le tout. Maintenant, si je monte ici, nous avons ce que l' on appelle la température, ombres globales et les tons moyens sous l'échelle des couleurs. Nous sommes maintenant prêts à changer les couleurs, peut-être à réduire la saturation. Parce que comme vous pouvez le voir ici, si je passe en mode éteint, il semble un peu plus insaturé que le mode allumé Maintenant, je vous ai donné les bons réglages pour celui-ci. Celui-ci doit être 1.0 Tout cela, nous l'avons mis à zéro car nous n'en avons pas vraiment besoin. Et l'exposition est fixée à deux. Mais maintenant, vous devez vous débrouiller seul, car vous devez les régler en fonction de l'apparence de vos carreaux. Souvenez-vous du global ici, si je venais d'ouvrir le global, en fait, pas tout cela. Si j'ouvre le global et que vous ouvrez la saturation, le contraste, le gamma, et que vous ouvrez également le gain ici. Travaillons avec eux et corrigeons à quoi cela ressemble ici. Commençons par la saturation. C'est parce que je regarde ce rouge ici en mode allumé, et je clique sur Non éclairé Je vois que c'est plus facile sur la glace, ce qui signifie qu'elle est moins saturée. Si je passe en mode Lit et que je passe à la saturation et que je l'amène ici, vous pouvez maintenant augmenter ou diminuer la saturation. Et vous pouvez voir que vous pouvez changer de look. Cependant, nous n'avons pas vraiment besoin de le diminuer autant. Je vais y revenir comme avant. Et ce que vous devez faire, c'est à nouveau maintenir la touche Alt enfoncée et cliquer sur 3.4. Vous pouvez passer du mode Lit au mode Lit, et vous pouvez voir à quoi cela ressemble si je clique sur Ici. En mode Lit, je le diminue un peu comme ça et je clique sur les trois anciens. Maintenant, vous pouvez voir à quoi cela ressemble. Je suis juste en train de regarder ce rouge ici. Peut-être qu'au lieu de l' avoir comme ça, je vais juste en avoir jusqu'à 95. D'accord. Cliquez sur l'ancienne version 3.4 pour passer de l'une à l'autre très rapidement. Vous pouvez voir ça, à quoi ça ressemble. Je pense que la saturation est bonne maintenant, mais je peux voir qu'elle est plus grande, qu'il y a plus de blanc ici. Je pense que c'est le gamma et le gain. Essayons de passer au gamma ici et augmentons-le légèrement car vous pouvez voir le gamma. Si vous l'augmentez trop, je reviens en mode allumé et j'augmente le gamma. Vous pouvez voir que c'est l'effet. Ce que tu peux faire, c'est une astuce que j'utilise parfois. Lorsque je clique sur l'ancien 3.4, je continue de cliquer dessus pendant que je l' ajuste pendant que je l' ajuste Ici, vous pouvez voir si vous ajustez mal, trop. Vous pouvez le voir très loin l'un de l'autre. Si vous l'augmentez trop, il est également éloigné l'un de l'autre. Ce que je fais habituellement, c'est que je maintiens bouton ancien et que j'appuie très rapidement sur 3.4. J'essaie juste de les avoir le plus près possible l'un de l'autre. Maintenant, vous pouvez voir si je clique sur les 3.4 pour passer du Lit au Let they're almost same. 1,05 est la bonne valeur ici. Maintenant pour le contraste, je peux essayer de cliquer ici et essayer d'augmenter légèrement le contraste. Je vais l'augmenter encore une fois. Ils sont tous les trois comme ça. 1.02 Je pense que c'est la bonne. Maintenant, pour ce qui est du gain, je pense que nous pouvons en donner un peu pour le gain. Essayons ça aussi. Quelque chose comme ça pour les ombres. Maintenant, si vous voulez donner un peu plus de contraste aux ombres ou supprimer le contraste, vous pouvez le faire en cliquant sur les ombres. Si je passe au contraste, parce que si je regarde mes ombres, je ne fais que regarder mes ombres ici. Je pense que ça l'est aussi. Contraste en mode éclairé, vous pouvez voir qu'il est plus clair en mode éclairé. Mais si vous passez en mode éclairé, c'est que nous pouvons diminuer un peu le contraste des ombres. Si je clique à nouveau sur l'ancien 3.4 je continue de cliquer dessus pour voir à quoi cela ressemble. C'est beaucoup trop, peut-être quelque chose comme ça. Juste 0,97 Encore une fois, comme vous pouvez le constater d'après mes valeurs, je ne les modifie pas vraiment trop. Peut-être 0,020 0,05 et ainsi de suite. Donc, ne le changez pas trop, juste un peu, pour que je puisse avoir ce look. Maintenant, si je passe du mode éteint au mode allumé, vous pouvez voir que c'est très proche Maintenant, tu peux passer plus de temps que je n'en ai ici. Vous pouvez peut-être passer 15 ou 30 minutes à essayer de faire des ajustements ici et là pour obtenir de meilleures valeurs. Mais pour l'instant, tout va bien. Cependant, nous devons encore ajuster certains paramètres dans les paramètres du projet. Et c'est ce que nous allons faire dans la prochaine leçon. 13. 2.09 Ajuster les paramètres de projet: La dernière chose que nous devons faire pour l'environnement à l' heure actuelle est de désactiver le tasing. Comme vous pouvez le voir ici, ce n'est peut-être pas trop visible, mais il existe un anti-eliasing qui brouille un peu les choses et qui ne ressemble pas C'est encore une fois fait car l' élisage en trois D T est vraiment bon et cela donne une meilleure apparence à votre jeu, mais dans Pixelot, nous n'en avons pas vraiment besoin Passons à l'édition et aux paramètres du projet. À l'intérieur d'ici, nous devons descendre et trouver l'onglet Rendu. En cliquant sur Rendering, essayons de modifier certains paramètres ici, car l' anti-eliacing mobile n'a pas vraiment d'importance pour le moment Nous ne créons pas un jeu mobile, mais il est bon de savoir qu'il existe. Et vous pouvez toujours cliquer ici et le régler sur none, car nous n'avons pas vraiment besoin d'anti-élycingw Si je vais ici et que je regarde les paramètres, tout va bien ici. Je n'en ai pas vraiment besoin maintenant pour l'éclairage. Réglons-le simplement sur aucun au lieu de lumen. Réglons-le sur aucun. Nous n'avons pas vraiment besoin de réflexion aussi ou deux D. Jetons un coup d'œil ici. Tout se présente bien. Vous pouvez désactiver Nanite si vous le souhaitez, c' est-à-dire les trois modèles D, le nouveau système dans Non Religion Five, redémarrons plus tard Pour l'instant, jetons un coup d'œil ici. Tout se présente très bien. Maintenant, le plus important est ici dans les paramètres par défaut, maintenant que nous avons déjà désactivé l' ooclusion ambiante, etc. Nous n'avons pas vraiment à nous inquiéter à ce sujet. Nous l'avons fait dans le volume post-traitement, ainsi que dans le flou cinétique, mais vous pouvez également le désactiver ici si vous souhaitez fleurir et l' occlusion ambiante si vous le souhaitez Mais cela n'a pas vraiment d' importance ici, dans l'anti-eliasing, c'est celui-ci qui est important Vous voulez régler celui-ci non, vous pouvez voir la différence. Si je jette un coup d'œil ici, maintenant je peux le régler sur non, vous pouvez voir la différence. Vous pouvez voir qu'il donne des lignes irrégulières. Si je le mets sur celui-ci par exemple, ou si celui-ci est super celui par défaut, vous pouvez voir à quoi il ressemble. Vous pouvez le définir sur aucun ou sur l'un d'entre eux, mais aucun n'est le meilleur. Pour le pixel, cela ressemble beaucoup mieux au pixel. OK, génial. Maintenant, ça a l'air bien. Et celui-ci aussi. Vous ne pouvez le régler à rien ici. Pas de AA, tout le reste va bien. Faisons-en un. Et je vais appuyer sur Redémarrer maintenant. Une fois qu'il a redémarré, vous pouvez voir que nous sommes à l'intérieur Maintenant, ce niveau de monde ouvert s'ouvre par défaut et vous pouvez le modifier en accédant aux paramètres d'édition et de projet. Et vous pouvez accéder aux cartes et aux modes ici. Et vous pouvez changer la carte de démarrage de l'éditeur pour qu'elle soit votre carte, Dungeon the Editor, jeu, carte par défaut Vous pouvez également passer à la carte Dungeon. Vous pouvez maintenant le fermer et tout enregistrer. La prochaine fois que vous ouvrirez le moteur, il ouvrira automatiquement la carte de votre donjon Maintenant, cliquons dessus. Double-cliquez sur la carte pour la saisir à nouveau. Maintenant, tout va de nouveau bien. Vous pouvez cliquer sur, vous pouvez cliquer sur Let's here on this one. Et vous pouvez cliquer sur la bonne vue. Vous pouvez revenir à la perspective. Cliquez sur Mode lit. Mode lit. Il y a une légère différence ici dans les bords, mais je pense que c'est bon pour le moment. On ne voit quasiment aucune différence. Ça a l'air bien. Alors maintenant, nous pouvons cliquer sur Jouer et nous pouvons jouer ce jeu ici avec le bon éclairage. OK, tout va bien. Comme vous pouvez le constater, encore une fois dans Picsalot, vous avez plusieurs couches de moteur réel, car il s'agit d'un moteur en trois D. Si je réduis simplement la vitesse de la caméra, cela ressemble à ceci. Ça a l'air bizarre parce que la couche avant se trouve devant celle-ci. En gros. C'est à ce moment-là que vous avez créé les couches à l'intérieur de la carte à tuiles, ces couches. C'est ce que vous voyez ici. Il s'agit de la couche avant de la décoration. Il s'agit de la couche de décoration, ou de la couche avant, et de la couche de base. Tu peux les voir comme ça. Ça a l'air bizarre. Mais lorsque vous cliquez sur jouer et non pas comme ça, mais lorsque vous cliquez sur jouer, nous fabriquons une véritable caméra. Cela ressemblera à ça. Il ressemble à deux D parce qu' on le regarde de face, tout va bien. Cliquons sur Fichier et sauvegardons le tout. Commençons par la prochaine leçon. 14. 3.01 Mode de jeu et manette de joueur: Bien, maintenant que nous avons fini de concevoir l'environnement, passons à la programmation du jeu. Maintenant, la première chose à faire est que je vois un message disant que nanite est activé mais ne peut pas être rendu Et c'est parce que nous avons désactivé nant ici dans les paramètres du projet. Si vous recherchez du nanite, souvenez-vous que nous l'avons désactivé ici, cela indique qu'il est toujours activé Ici, dans l'arnaque, vous voyez en bas que vous écrivez nitro, je vais entrer et ça va désactiver la nanite Et ce message a également disparu. Passons ici dans le dossier de contenu. Cliquez avec le bouton droit de la souris et créons un nouveau dossier. Appelons celui-ci des plans à l'intérieur de ce dossier. Maintenant, cliquons avec le bouton droit de la souris, et nous sommes prêts à programmer le jeu. La programmation est constituée de plans dans de vrais moteurs. Allez-y et cliquez sur le plan du cours. Faisons-en un. Vous disposez maintenant de ces options que vous pouvez créer. Cela peut être un peu confus au début si vous n'avez jamais utilisé de plans auparavant, mais pour les parcourir très rapidement, la classe d'acteurs que nous pouvons créer ici est un objet qui peut être placé ou créé dans le monde Il s'agit essentiellement d'un élément statique. Par exemple, une table, un flacon, tout ce qui ne bouge pas dans le jeu, par exemple, cette boîte n' est pas un objet en mouvement C'est un acteur. Un pion et un personnage sont deux classes dans lesquelles vous pouvez les créer. Si vous avez besoin de mouvement, vous pouvez voir qu'une patte est un acteur qui peut être possédé et recevoir des informations d'une manette Disons par exemple que dans votre jeu, il s'agit du joueur. Et le joueur peut se déplacer avec cette boîte ici, vous pouvez vous déplacer avec cette boîte. Ensuite, vous devez créer un pion et un acteur. Parce que si vous créez un acteur, vous ne pouvez pas le contrôler avec votre clavier. Si vous devez le contrôler avec votre clavier, s'il s'agit d'un joueur, vous devez créer un pion Cependant, si vous avez un personnage, personnage avec deux bras et deux jambes, et que vous devez vous promener, vous devez créer un personnage et non un pion, par exemple, si votre jeu l'est, si vous êtes comme une boîte qui roule Ou si vous êtes comme une balle qui roule, vous n'avez ni deux bras, ni deux jambes. En tant que personnage, vous pouvez créer un pion. Cependant, si vous avez ce personnage humanoïde typique, c'est un personnage que vous devez créer Nous allons maintenant créer une manette de joueur et un mode de jeu dans cette leçon. Et un contrôleur de joueur est un Acta qui est chargé de contrôler son utilisation par le joueur Maintenant, cela peut être un peu confus s'agit pas de votre manette, manette Xbox ou de votre manette Playstation. Vous pouvez le considérer comme le cerveau du personnage lorsque vous apparaissez dans le jeu Chaque personnage que vous faites apparaître en tant que manette ne l'est pas seulement lorsque vous entrez dans le jeu Si le joueur rejoint le jeu, la manette du joueur est créée automatiquement pour vous avant que le personnage ne soit créé. C'est très, très important à savoir. Généralement, dans les manettes de jeu, nous codons les interfaces utilisateur, l'interface utilisateur. Nous faisons également le frai. Par exemple, si je fais apparaître une arme dans le jeu, si je fais apparaître une pièce, je fais apparaître n'importe quoi dans Je le fais habituellement dans le Player Controller. Maintenant, certaines personnes se déplacent également dans la manette du joueur. Cependant, je suggère que le mouvement se fasse dans le personnage, car en multijoueur, nous ne codons plus le mode multijoueur. Mais à l'avenir, si vous voulez coder le mode multijoueur, il est toujours agréable de s'habituer à une chose. En mode multijoueur, le mouvement doit se situer dans la classe Blueprint Si vous saisissez le code de mouvement à l'intérieur de la manette noire, en multijoueur, cela ne fonctionnera pas. Je fais toujours du mouvement dans le personnage car cela aura également un effet multiplicateur à l'avenir. Si vous voulez faire quelque chose en multijoueur, il s'agit de la manette noire et le mode de jeu définit le jeu joué, ses règles, ses scores et les autres aspects du jeu. Par exemple, disons que dans Counterstrike vous avez un chronomètre Et combien de points obtenez-vous lorsque vous tuez un joueur et d'autres choses de ce genre Les règles du jeu sont généralement définies dans le mode jeu. Maintenant, allons-y, cliquez sur le mode de jeu et créez-en un. D'habitude, je leur donne BP comme préfixe pour les plans. Cependant, pour le mode de jeu, j'écris généralement le mode de jeu GM. Et je l'appelle le nom du jeu, qui est Dungeon Clicker Appelons-le Dungeon Liquor. Écrivons, cliquons à nouveau, créons une nouvelle classe de plan et créons un contrôleur de joueur, appelons-le PC pour contrôleur de joueur Appelons ça encore une fois le nom du jeu, Liquor. Vous pouvez désormais avoir plusieurs modes de jeu. Ce n'est pas parce que vous pouvez avoir un seul mode de jeu, par exemple, encore une fois dans Counter Strike. Dans d'autres jeux comme Halo, vous avez un mode de jeu où vous en avez trois pour tous, tout le monde peut s'entretuer. Vous avez un mode de jeu où vous capturez le drapeau, chaque équipe capture le drapeau jusqu'à sa base. Différents modes de jeu Vous pouvez avoir plusieurs modes de jeu. Cependant, nous faisons un jeu simple. Mais nous n'en avons besoin que d'un. D'habitude, je l'appelle simplement le nom du jeu ici. Allons-y et sauvegardons tout. Maintenant que c'est terminé, nous n'avons plus besoin de faire quoi que ce soit à l'intérieur d'eux. Cependant, nous devons attribuer le mode de jeu à utiliser dans Unreal Engine, car à l'heure actuelle, il utilise le mode de jeu par défaut qu'il crée lorsque j'ouvre le moteur Allons-y, cliquez sur Modifier et ouvrez les paramètres du projet. À l'intérieur, passons aux cartes et aux modes. Dans Cartes et modes, vous pouvez voir le mode de jeu par défaut utilisé. C'est le mode de jeu par défaut d'Unreal Engine. Je vais lui dire que non, je veux utiliser le mien. Je veux utiliser ce clicker GM. Minimisons cela pour le moment. Au lieu d'ici, laissez-moi ouvrir mon mode de jeu. Cela s'est ouvert ici mon deuxième écran. En mode jeu, dans les paramètres de classe par défaut, nous devons changer la manette de joueur que nous avons également créée, car elle utilise maintenant la manette de joueur par défaut dans Unreal Engine Cependant, je souhaite utiliser mon clicker personnalisé que j'ai créé, savoir le clicker PC Dung Allons-y et compilons. Au fait, cela signifie simplement que vous vérifiez si votre code comporte une case ou non. Si vous cliquez dessus, cela indique que c'est prêt, que tout va bien et que vous cliquez sur Fichier et enregistrez tout. Fermons ça. Maintenant. Permettez-moi d' ouvrir à nouveau les paramètres de mon projet et de m'assurer que si je clique sur le mode de jeu sélectionné ici, mon contrôle du joueur est également attribué dans les paramètres de mon projet. Et c'est généralement le cas lorsque vous le faites dans le contrôle du joueur. OK, fermons-le ici. La dernière chose que nous devons faire est ici, dans les paramètres mondiaux. Au fait, si vous n' avez pas d'onglet Paramètres mondiaux, allez-y et cliquez sur, voyons voir ici, sur la fenêtre ci-dessus. Et ouvrez les paramètres du monde. À partir d'ici, cliquons sur les paramètres du monde et également paramètres du monde dans le mode de jeu Override, cliquez ici et attribuez votre clic de donjon GM, qui est le mode de jeu personnalisé Et vous pouvez également vous assurer, lorsque vous cliquez ici , que votre manette de joueur est également attribuée. Très bien, alors allons-y et économisons. Et maintenant, notre mode de jeu personnalisé est attribué à la carte ou au jeu. Nous ne pouvons pas vraiment faire grand-chose parce que nous n'avons pas vraiment codé. Nous ne pouvons donc pas voir si cela fonctionne réellement ou non, mais nous allons le faire très bientôt. Nous avons maintenant fini d'ajouter le mode de jeu et la manette du joueur et nous sommes prêts à ajouter la caméra du joueur. 15. 3.02 Ajouter la caméra du lecteur: Pour ajouter la caméra du lecteur. Faisons à nouveau un clic droit sur les plans, et créons à nouveau un plan en verre Maintenant, pour ce qui est de la caméra du joueur, vous pouvez la créer sous forme de pion. Comme nous n'avons pas vraiment de personnage avec deux bras, deux jambes pour se promener, vous pouvez techniquement le créer sous forme de pion Cependant, j'aime aussi créer les caméras des joueurs pour mes autres jeux en tant que personnage, car elles dotées d'une composante de mouvement du personnage. Dans ce cas, vous pouvez contrôler la gravité de la caméra, la vitesse de déplacement de la caméra, etc. Vous verrez ce que je veux dire, mais celui-ci me donne plus d'options. D'habitude, je crée juste un personnage. Appelons cela un joueur P. Je l'appelle caméra, mais je vais juste l'appeler joueur. Allons-y et ouvrons-le. Et ici, nous sommes généralement dans des plans. Lorsque vous l'ouvrez, vous avez ici le point de vue où vous pouvez voir le personnage. Si vous importez, vous pouvez le voir ici à droite dans le panneau de détails. On dirait presque le panneau de détails ici. C'est la même chose lorsque vous cliquez sur des objets, puis vous pouvez voir différentes options ici pour le maillage. Vous importez un personnage, vous pouvez le voir ici dans la fenêtre d'affichage, tout comme vous avez un point de vue ici OK, à l'intérieur de ce lecteur BP, nous devons créer une caméra. D'ailleurs, la composante de mouvement du personnage est là. Si vous cliquez dessus, vous pouvez voir que vous pouvez contrôler des choses comme l' accélération du lecteur, qui dans ce cas est la caméra. Vous pouvez contrôler le frottement du sol, la vitesse de déplacement maximale de la caméra, et bien d'autres choses, le contrôle de l'air, etc. J'aime créer un personnage au lieu d' une patte ou d'une caméra car j'ai cette composante de mouvement du personnage me permet de mieux contrôler mon appareil photo Nous devons créer une caméra. Cliquez sur Add Up here and the components First before the camera. Créons ce qu'on appelle un ressort. Si vous créez un ressort ici, c'est le support de l'appareil photo. Maintenant, en cliquant sur le bras à ressort, je vais cliquer sur D rechercher une caméra et créer une caméra. Nous avons le bras à ressort, qui est le support, puis nous avons la caméra ici. Cliquons sur Compiler, puis sur Enregistrer tout. Permettez-moi de minimiser cela. Permettez-moi de faire entrer ce joueur dans le monde comme ça. Voici la caméra. Si vous pouvez le voir en arrière-plan, mais qu'il fait noir, nous ne pouvons pas voir grand-chose. Je vais écrire son emplacement comme 000. Faites aussi pivoter mon appareil photo, vous pouvez voir qu'il ressemble à ça. Je vais retourner voir mon joueur. Je vais cliquer sur mon ressort, pas sur mon appareil photo mais sur mon ressort. Je vais le faire pivoter lorsque je clique sur l'outil de rotation. N'oubliez pas que les outils ci-dessus sont pour l'outil de déplacement, pour l'outil de rotation, et R sur le clavier pour l'outil de mise pour l'outil de rotation, à l'échelle. En cliquant sur l'outil de rotation, je vais le faire pivoter de cette façon. Maintenant, je vais compiler à nouveau si vous le minimisez. Votre appareil photo regarde maintenant dans le bon sens. Vous pouvez également le voir dans le visualiseur. Lorsque vous cliquez sur l'appareil photo, il se cache maintenant ici car tout est noir. Je clique sur Lit, tu peux voir que c'est ici. Si je clique dessus, vous voyez également le visualiseur. Pour la caméra d'ici, vous pouvez simplement déplacer la caméra de votre choix, vous pouvez la voir dans le visualiseur ici. Maintenant, avant de l'aligner, vous pouvez voir dans l'appareil photo, si je clique avec le bouton droit sur l'appareil photo et que je clique sur Pilot, ce qui signifie qu'il faut entrer dans l' appareil photo et voir ce qu'il voit. Vous pouvez voir que les carreaux sont coupés ici. Ça ne ressemble pas à deux D, mais à trois D. Je clique sur ce bouton ici pour sortir de mon appareil photo. J'ai de nouveau ouvert le lecteur. En effet, lorsque vous cliquez sur l'appareil photo, vous devez en fait changer le mode de projection de perspective à autographique perspective est le mode en trois D, l' orthographique en deux D. Nous avons besoin de la vue en deux D ici. Compilons et jetons un coup d'œil. Encore une fois, vous pouvez voir que tout semble correct. Si je clique avec le bouton droit sur mon appareil photo et que je clique sur la pile, je pense que vous pouvez le faire ici aussi. Vous pouvez également cliquer avec le bouton droit de la souris ici dans l'Outliner et cliquer sur Pile It Maintenant, vous pouvez voir que cela semble plus correct. Ses deux D ont également l'air bien. Partons d'ici. Ouvrons le lecteur. La dernière chose que je veux vous dire ici, c'est que nous n'avons plus grand-chose à faire. Mais ici, dans l'appareil photo, vous pouvez modifier la largeur orthographique Et vous pouvez voir ce qu'il fait si vous cliquez sur votre caméra ici dans le lecteur BP, et que vous augmentez ou diminuez la largeur orthographique Si j'augmente, j'augmente, vous pouvez voir que vous zoomez et dézoomez. Pixel Ot, il semble plus ou plus pixélisé. Plus le bois autographique est bas, c' est peut-être ainsi que vous voulez que votre jeu se déroule Vous pouvez l'augmenter en haute résolution en effectuant un zoom arrière comme celui-ci. Pour ce qui est de mon jeu, j'ai juste essayé de jouer avec quand je l'ai testé et je pense que je vais m'en tenir à 640. Si je clique avec le bouton droit sur mon appareil photo et que je pilote mon appareil photo, voici à quoi il ressemblera. Je peux emmener mon lecteur ici et je peux ajuster la position. N'oubliez pas que nous pouvons ajuster l'emplacement en cliquant sur les chiffres situés ici à l'emplacement du joueur. Et nous pouvons cliquer et faire glisser la souris pour voir à quoi cela ressemble. Je peux faire quelque chose comme ça. En fait, pour le Y, c'est juste zéro. Pour celui-ci, c'est comme ça. Génial. Il est désormais censuré Ce n'est pas vraiment important pour le moment. Nous allons corriger le positionnement plus tard. Mais pour le joueur, encore une fois, juste pour m'assurer que tout fonctionne correctement pour le ressort, je vais désactiver les tests de collision. Les tests d'ucision se produisent simplement lorsqu'un joueur se trouve derrière le mur Il va pousser la caméra qu'elle ne percute pas le mur. Nous n'en avons pas vraiment besoin car cela peut bouleverser le jeu. Pour l'instant, je vais le désactiver. La deuxième chose est la capsule. Je veux supprimer toutes les collisions, car je ne veux pas que cette capsule entre en collision avec mes ennemis ou mes personnages dans ce monde Nous n'avons pas vraiment besoin de celui-ci. Je vais aller ici et m' assurer que, dans la section de collision de la capsule, les événements de chevauchement sont générés ou que les préréglages de collision sont définis ici Au lieu d'un pion, je vais dire qu' aucune collision n'est corrigée Maintenant, dans le maillage lui-même, ici. Je m' assure juste qu'en cas de collision, c'est aussi pour qu'il puisse passer à la vitesse supérieure en cas de collision. Allez-y, compilez. En ce qui concerne le bras à ressort, nous avons supprimé le test de collision. Enfin, en ce qui concerne les mouvements du personnage du joueur, ramenons la gravité à zéro, car nous n'avons pas besoin de cette caméra pour tomber ou pour se déplacer. L' accélération maximale est nulle. Voyons si nous devons en faire plus dans ce domaine. Je ne pense pas que nous ayons besoin d'en faire plus. Tout se présente bien. La vitesse maximale n'a pas vraiment d'importance. Tu ne vas pas te promener. Mais vous pouvez simplement le mettre à zéro pour ne pas pouvoir vous déplacer également si vous le souhaitez. Compilons, sauvegardons tout. Et c' était tout pour le joueur. Il est maintenant configuré. Vous pouvez contrôler la distance de votre appareil photo à votre convenance. Donc, si vous souhaitez que la caméra soit beaucoup plus proche, vous pouvez le faire. Par exemple, vous pouvez cliquer sur l'appareil photo et régler la vue autographique sur 512 Et vous pouvez voir que c'est beaucoup plus proche ici. Ce n'est pas trop important pour le moment. Nous pouvons toujours tester le jeu chaque fois qu'un personnage se déplace. 16. 3.03 Extraire les sprites ennemis: Allons-y maintenant et importons ces prix pour les ennemis. Encore une fois, revenons au dossier sur les coûts que je vous ai remis. À l'intérieur d'ici, allez aux personnages. Voici tous les ennemis que nous avons dans le jeu. À l'avenir, nous pourrons ajouter d'autres ennemis, car dans les jeux de clicker, vous avez des tonnes et des tonnes d'ennemis Mais ils sont vraiment sympas pour commencer. Allons-y et cliquons sur le premier. Maintenez la touche Maj enfoncée, puis cliquez sur la dernière pour les sélectionner toutes. Passons aux actifs. Et ici, je vais écrire Cliquez et créez un nouveau dossier appelé Characters. À l'intérieur d'ici également, je vais à nouveau cliquer avec le bouton droit sur créer un nouveau dossier et appeler celui-ci Textures. Allons à l'intérieur de ce dossier. Nous allons maintenant cliquer dessus et le faire glisser dans le dossier Textures. Et ici, nous les avons tous importés. Bien, en cliquant à nouveau sur le premier, maintenez la touche Maj enfoncée, cliquez sur le dernier, cliquez avec le bouton droit de la souris, passez aux actions Sprite Et n'oubliez pas d'appliquer le papier aux réglages, sinon ce sera une texture floue à appliquer aux réglages Quand vous faites cela, les œuvres d'art sont souvent réparées, elles sont belles. OK, fermons tout ici. Cliquons sur Fichier et sauvegardons le tout. Maintenant que nous avons tout importé, ce que vous devez faire, vous pouvez voir ici qu'ils sont tous réunis dans une seule texture. Si j'ai ouvert le premier, le Night Death, vous pouvez voir qu'ils sont d'une seule texture. Nous devons les avoir sous forme de sprites séparés. Fermons ça. Je peux cliquer avec le bouton droit sur ce Night Death. Je peux y aller. Actions de sprites, vous avez ce qu'on appelle soit créer un sprite, soit extraire les créer un sprite , par exemple, imaginons que vous n'ayez qu' un seul personnage ici et que vous ne les ayez pas tous réunis comme ça Vous pouvez cliquer avec le bouton droit sur les actions du sprite et créer un sprite. Lorsque vous faites cela, il crée ce sprite ici. Lorsque vous créez un sprite, vous pouvez réellement l'utiliser dans le jeu Vous pouvez cliquer dessus et le faire glisser dans le monde. Si je le déplace juste ici vers l'avant, je peux le voir comme ça. Maintenant, je peux l'utiliser dans mon jeu, par exemple, si tu avais une boîte ou des choses comme ça. Si vous avez un objet unique, vous pouvez cliquer avec le bouton droit de la souris et le créer sous forme de sprite Et puis c'est comme créer un objet en trois D, que vous pouvez utiliser dans le monde entier parce que cette texture ici, vous ne pouvez pas l'utiliser ici. Vous pouvez voir que cela remplace cela et que cela crée matière pour nous et des choses comme ça, tout est foiré Je vais cliquer sur le contrôle Z pour l'annuler. Je vais juste retarder celui qu'il a créé. Vous ne pouvez pas utiliser de textures dans le jeu de cette façon. Vous devez cliquer pour en faire un sprite, par exemple, si vous avez une boîte ou quelque chose de statique que vous voulez voir apparaître dans le jeu Et tu peux le glisser ici et tu peux l'utiliser comme un sprite Cependant, permettez-moi de supprimer celui-ci, et laissez-moi également supprimer celui-ci. Maintenant, ils sont tous ensemble. Au lieu de créer un sprite, nous devons l'extraire. Cliquez avec le bouton droit de la souris, accédez aux actions des sprites et extrayez les sprites Et vous pouvez les voir ici comme ça. Ce que nous devons faire, c'est ici dans les paramètres, nous devons en faire une grille. Nous devons maintenant déterminer dans le sol, la largeur et la hauteur, quelle est la taille. Habituellement, l'artiste qui fait vous écrit ce que c'est. Mais essayons de faire en sorte qu'il excelle 32 , comme c'est le cas pour la hauteur 32 ici Maintenant, vous pouvez voir que cela ne convient pas car chaque case doit être autour de ce personnage. Au lieu de 32, disons plus 16 pixels. L'avantage d' Unreal Engine, que vous pouvez écrire plus 16 et appuyer sur Entrée, et il le fera automatiquement pour vous D'accord, 16 pixels ont fonctionné car maintenant vous pouvez voir que tout semble correct. Chaque sprite est dans sa propre boîte. Il s'agit de la largeur et de la hauteur de cellule correctes. Et allons-y et cliquons sur Extraire. Maintenant, vous pouvez voir qu'il les a extraites ici, et maintenant elles sont sous forme d'images singulières. Maintenant, si je clique dessus et que je le fais glisser dans le monde, c'est un seul personnage qui apparaît ici au lieu de tout. Nous devons en fait le faire pour chacun d'entre eux. Par exemple, la nuit tombée, vous pouvez cliquer avec le bouton droit de la souris pour accéder aux actions des sprites, puis pour extraire à nouveau les sprites, cliquer sur la grille Dans ce cas, vous pouvez cliquer ici. Je pense que c'est pareil, peut-être 48 comme avant. Mais si vous écrivez 48, vous pouvez voir que ce n' est pas correct. Si je reviens à 32, comme la hauteur, vous pouvez voir que 32 est la bonne ici. Et vous devez cliquer sur Extraire ici. OK, essayons avec le dernier. Cliquez avec le bouton droit sur Night Idle pour extraire les sprites Doom in Accédez à la grille. Je pense qu'il en est encore 32, comme avant. Maintenant, allez-y et cliquez sur Extraire. Je vais vous montrer celui-ci également. Après cela, je vais juste faire chacune d'entre elles rapidement. Vous pouvez voir que cela prend du temps. Je dois le faire pour chacun d'entre eux. Mais faisons un clic droit sur celui-ci. Accédez à Spart, les actions extraient les sprites. Maintenant, pour celui-ci, cliquons sur la grille. Écrivons 64, tout comme la hauteur qui s'y trouve. C'est un bon point de départ pour simplement écrire le numéro de la hauteur et vous verrez que cela fonctionne déjà correctement. Et extrayez tout correctement. Cliquez sur Extraire les sprites, passez à la grille. Vous pouvez voir que vous allez devenir très bon parce que vous le faites 100 fois. Parfois, même si vous avez sommeil, vous pouvez le faire sans même penser à ce que vous faites Le simple fait de le faire souvent est une bonne pratique. Maintenant, nous les avons extraits. Je crois que si je reviens simplement au dossier, celui-ci, que je clique sur celui-ci, idle, base idle, que j'extrait les sprites grille 32, ça marche, d'accord C'est ce que vous devez faire pour chacun d'entre eux. Essayez de les mettre dans la boîte et de les extraire tous. OK, je vais le faire pendant mon temps libre et je reviens avec vous tout de suite. Je les ai tous extraits. Vous pouvez maintenant voir qu'ils sont tous extraits. Il est parfois un peu difficile de connaître leur taille lorsque vous les extrayez. Mais en gros, encore une fois, si vous ouvrez l'un d'entre eux, par exemple celui-ci, celui-ci était le plus délicat. Si vous écrivez, cliquez et extrayez ce prix pour celui-ci, vous pouvez le voir ici. Si vous revenez à la grille 64, vrai, 64 est un bon point de départ. Vous pouvez voir que ce n'est pas correct car ce champ est vide. Nous n'en avons pas besoin de vides. Si vous écrivez plus 16, cela fait généralement 16 pixels chaque fois que vous augmentez ou diminuez. Et celui-ci ne convient pas non plus. Plus 16. Encore une fois, nous pouvons maintenant voir que cela leur convient à tous. OK, vas-y et fais-le pour tous. Je l'ai fait pour chacun d'entre eux. Passons maintenant à la leçon suivante et créons des flipbooks. 17. 3.04 Créer des flipbooks: Très bien, maintenant que les sprites sont prêts, allons-y et créons des flipbooks Et les flipbooks en sont simplement la version animée. Nous rassemblons tous ces sprites dans une pièce animée Le personnage bouge. Il s'agit d'un flip book. Un flip book, c'est tout simplement lorsque vous avez besoin d'une animation en deux D. Essayons-le avec Death de cette nuit. Cliquez d'abord sur le premier sprite et vous pouvez voir, d'ailleurs, les textures, elles ont une ligne rouge ici Et si je zoome, vous pouvez le voir. Ils ont une ligne rouge ici pour les textures, tandis que les sprites ont une ligne bleu clair ou bleu sarcelle Voici le sprite. Vous pouvez également voir la différence entre eux comme ça. En cliquant sur le premier, je passe à Old Shift et clique sur le dernier sprite de cette section, je vais cliquer avec le bouton droit de la souris, aller sur Créer un flip book Permettez-moi d'appeler celui-ci B pour flip book. Appelons ça, appelons-le mort. Nous avons ce flip book, la mort. Et vous pouvez voir qu'il est déjà animé. Je double-clique dessus. Voici l' animation sur la mort pour la nuit. Un flip book est simplement un ensemble de sprites réunis dans une animation Tu vois, je peux juste arrêter ça ici. Voici l'animation et voici tous les sprites que nous avons sélectionnés et pour lesquels nous avons créé un flip book. C'est bon. Vous pouvez également voir si je la rejoue, vous pouvez contrôler la vitesse de l'animation ici en images par seconde, je peux, exemple, la régler à 50 très rapidement. Si je disais simplement que le nombre d'images par seconde revient à 15, c'est la valeur par défaut, voici à quoi cela ressemble. Maintenant, il y a vraiment une règle indiquant ce que cela devrait être. Parfois, le pixilatiste vous écrit ce que c'est censé être ici Mais parfois, je ne fais que jouer, voir à quelle vitesse l' animation se joue, puis j' en fais mon jeu pour moi. J'en ai essayé dix images par seconde, et je pense que c'est ce que je voulais obtenir en termes de vitesse. Maintenant, il n'y a pas de règle. Tu peux choisir 12, 15, selon ce que tu penses être bon pour ton jeu. Je vais en choisir dix pour moi. Je vais le fermer ici. Et maintenant, nous avons ce flip book. Maintenant, nous pouvons cliquer dessus et le faire glisser dans le personnage, puis sélectionner Déplacer ici, et maintenant nous avons le flip book ici. Encore une fois, si nous avons créé ce dossier Textures, c'est parce que nous n'avons pas vraiment besoin de regarder tout cela plus tard lorsque nous créerons tous les flipbooks ici pour les personnages. Nous n'avons pas besoin de tout cela dans le dossier Textures. Encore une fois, vous ne pouvez pas le supprimer car il utilise les données des textures. Vous ne pouvez donc pas vraiment les supprimer. Je les place simplement dans un dossier Textures pour ne pas avoir à les regarder à nouveau. Mais allons-y. Faisons-le pour tous. Pour le hit, cliquez sur le premier, maintenez la touche Maj enfoncée, cliquez sur le dernier, cliquez avec le bouton droit de la souris, retournez le livre. Appelle-le encore. Ouvrez-le, mais vous pourrez le faire plus tard. Par exemple, vous pouvez changer les images par seconde plus tard. Je ne vais pas le faire pour le moment. Passez à la suivante, cliquez avec le bouton droit de la souris sur le flip book. Disons que c'est inactif. Passez à la suivante ici, cliquez avec le bouton droit de la souris. Appelez-le ou je vais juste l' appeler ou au lieu de base, ou passez au suivant ici, cliquez avec le bouton droit de la souris, flip book. Appelez ça B. Je vais juste en faire quelques-unes pour que vous puissiez voir le flux de travail. Ensuite, je vais le refaire pendant mon temps libre. Cliquez avec le bouton droit sur celui-ci. Flip Book, appelle-le. Ou inactif. Revenons à la suivante ici. Je vais juste le faire comme le dernier. Cliquez avec le bouton droit de la souris, flipbook. Appelez-le B ou Rogue. C'est un voyou, comme ça. Vous pouvez voir qu'ils sont tous animés ici. OK. Je vais le faire pendant mon temps libre. Je vais juste créer des flipbooks et je serai de nouveau avec vous. Maintenant, j'ai créé des flipbooks pour chacun d'entre eux, comme vous pouvez le voir ici. Et je vais cliquer sur Fichier et les enregistrer tous. Maintenant, cliquons sur le premier, Hold Shift, et cliquons sur le dernier flip book à l'intérieur d'ici. Et je vais les transférer aux personnages. Ici, nous avons tous les flipbooks. Maintenant, permettez-moi d'ajuster les images par seconde. Maintenant, au lieu de le faire un par un, ce qui prend beaucoup de temps, vous pouvez cliquer sur le premier et maintenir la touche Maj enfoncée. Cliquez sur le dernier pour les sélectionner tous. Cliquez avec le bouton droit de la souris pour accéder à Asset Actions et sélectionnez celle-ci. Modifiez la sélection dans la matrice des propriétés, sélectionnez-la. C'est généralement le cas lorsque vous souhaitez modifier un paramètre pour chacun d'entre eux. Il est toujours agréable d'écrire, cliquer et d'utiliser la matrice de propriétés pour modifier les mêmes paramètres pour tous. À l'intérieur du sprite, je peux changer le nombre d'images par seconde et en faire dix Il entre et il le fait pour chacun d'entre eux. Allez-y, cliquez sur Enregistrer tout, fermez-le. Et vous pouvez voir maintenant qu'ils sont tous en fait dix images par seconde. Cela s'applique non seulement aux flipbooks, mais à tout. Par exemple, une texture normale où disons que je souhaite modifier la luminosité de toutes les textures, vous pouvez sélectionner toutes les textures, par exemple celle-ci. Si je garde le contrôle, je sélectionne la texture suivante, cette texture et cette texture que je peux écrire. Cliquez sur Accéder aux actions sur les actifs, Modifier la sélection via la matrice de propriétés ici dans les paramètres, par exemple sur les ajustements. Je pourrais modifier la luminosité de chacun d'entre eux en même temps. C'est toujours agréable de savoir que cette option existe. OK, voici tous les flipbooks que nous avons créés. Ils ont tous l'air très beaux. Si vous en avez oublié un, ce n'est pas un problème. Nous pouvons toujours revenir et le créer sous forme de flip book plus tard, mais je pense que je les ai tous maintenant. Tout se présente très bien. Allez-y, sauvegardez tout, et passons à la leçon suivante. 18. 3.05 Cours de plans parents vs enfants: Maintenant que nous avons créé les flipbooks, passons à la création des classes de plans Passons au dossier Blueprint. Faisons un clic droit ici. Et créons un nouveau dossier appelé ennemis. Passons d'abord à ce dossier. Cliquez avec le bouton droit de la souris et nous pouvons maintenant créer une nouvelle classe de plan. Allons-y et créons-le ici. Maintenant, au lieu de créer ce personnage pour l'ennemi, il s'agit d'un personnage en trois D. créer un caractère à deux D, cliquez sur cette petite flèche avec toutes les classes. Ici, vous pouvez voir plus de classes que vous pouvez créer avec Blueprint up Voici les classes normales que vous créez presque tout le temps. Et vous ne descendez presque jamais ici sauf s'il y a des choses spécifiques. Par exemple, lorsque vous créez une partie de sauvegarde et de chargement pour votre jeu, elle se trouve également ici. Ici, nous pouvons rechercher du papier, qui est le double D du moteur Unreal Nous pouvons voir celui-ci appelé un personnage de papa. Celui-ci est un caractère à trois D, et celui-ci, le caractère papier, est un caractère à deux D. Vous pouvez également voir que nous avons d'autres choses que nous pouvons créer, comme des flipbooks que nous venons de créer. Vous pouvez créer des cartes en mosaïque, des sprites , etc., mais nous voulons créer un personnage Maintenant, cliquons dessus, continuons et cliquons sur Sélectionner. Maintenant, pour celui-ci, je vais l'appeler BP Enemy Base. Si je l'appelle Enemy Base, c'est parce qu'il s'agit désormais d'une classe mère. Dans cette leçon, je vais vous expliquer ce qu' une classe pour parents et ce qu'est une classe pour enfants. Pour l'instant, cliquez avec le bouton droit de la souris ici et vous pouvez voir ici que cela s'appelle Create child print class. Allons-y et créons cela. Appelons-le pour le moment BP Knight. En gros, je les appelle simplement les personnages que j'ai. Si je vais dans le dossier de mes personnages, c'est la nuit. Créons également le suivant. Ou je vais expliquer ce qu'est un enfant modèle. Cliquez avec le bouton droit sur la base ennemie, Create child, Blueprint Class Appelons celui-ci P Orc. OK, allons-y et sauvegardons tout. Maintenant, j'ai celui-ci ici. La base ennemie, si vous maintenez la souris pendant la nuit, vous pouvez voir que la classe mère est la base ennemie BP. Il en va de même pour le Or. La classe parent est la base ennemie BP, ou la base ennemie ici. Nous pouvons maintenant ouvrir la base ennemie. Supposons qu'à l'intérieur de cette classe de plan, je souhaite cliquer sur le composant de mouvement de mon personnage Nous avons donc ce composant parce que c'est un personnage ici. Disons que je voulais changer la hauteur à laquelle mon personnage peut sauter. Vous pouvez voir dans le panneau de détails que vous pouvez modifier certaines choses concernant le mouvement, la gravité, la vitesse maximale, etc. Disons la hauteur du saut, disons mon personnage, je voulais sauter beaucoup plus haut. Si, par exemple, je clique ici et que j' écris 800 à la place. Maintenant, je peux sauter plus haut si je clique sur Compiler. Maintenant, si je minimise cela et que je vais suivre des cours de plans pour mes enfants, ces deux sont des enfants de la base ennemie, parce que nous les avons créés lorsque nous avons cliqué avec le bouton droit de la souris et que nous les avons créés étant Qu'est-ce que cela signifie ? Maintenant, si je passe la nuit maintenant, que je jette un œil ici et que je clique sur l'élément de mouvement du personnage. Si je me fie à la vitesse de saut que je viens de modifier sur la base ennemie, vous pouvez voir qu'elle est également de 800 ici. Maintenant, par défaut, si je vais sur le Ou, que je clique sur le composant de déplacement du personnage et que je descends, je peux voir qu'il est également réglé sur 800 dans le Awesome. Intéressant. Chaque fois que je modifie un paramètre dans la base ennemie, qui est la classe de plan parent, ce paramètre que je modifie ici est appliqué à tous les enfants que je crée pour elle Et c'est une méthode très rapide à utiliser et aussi la meilleure, car je l'utilise beaucoup. Imaginez que vous avez Quinzaine et que vous avez beaucoup de skins dans Quinzaine Disons également qu'ici, dans ce clicker, vous avez 100 ennemis. Vous créez 100 de ces enfants ici. Au lieu de prendre en compte chacun de ces enfants et de changer, disons que vous vouliez modifier l'échelle de gravité. 1.2 Au lieu de prendre en compte chaque enfant et de changer la valeur à 1,2, lieu de prendre en compte chaque enfant et vous pouvez simplement modifier la valeur à l'intérieur de la classe parent et elle s'appliquera automatiquement à tous les enfants que vous aurez créés. C'est un moyen rapide de fonctionner si je clique sur ma base ennemie, que je clique simplement sur cette flèche pour remettre à 420 par défaut, et que je compile et enregistre tout. Maintenant, si je passe ma nuit, vous pouvez voir qu'il est également réglé sur 420, pareil pour l'Orc C'est une façon optimale de travailler car vous pouvez imaginer que si vous avez 100 ennemis, cliquer sur chacun d'entre eux et changer de valeur demande beaucoup de travail . Vous pouvez simplement le modifier une fois à l'intérieur de la base ennemie. C'est tout pour les cours pour parents et enfants. Créons le reste. Nous avons la nuit et nous avons la nuit. Créons le chaman. Cliquez avec le bouton droit sur la classe ennemie Create child blueprint. Appelons celui-ci BP, Roku. Faisons à nouveau un clic droit sur la base ennemie. Créez une classe de plans pour enfants. Appelez-le BP ou Shaman. Revenons-y encore une fois. Nous devons tous les créer. Nous avons le Warrior et le Roque P Warrior. Maintenant, je les crée beaucoup plus rapidement qu'avant parce que c'est exactement la même chose. Nous le faisons encore et encore. Le Skeleton Mag et la Skeleton Base, simplement appelés BP Skeleton. Comme ça. Le magazine Skeleton and the Skeleton. Skeleton Mag. Voyons ce qui nous manque. Nous avons le Skeleton Rogue et le Skeleton Warrior. P Skeleton Rogue, BP Skeleton Warrior. Assurez-vous simplement de cliquer avec le bouton droit de la souris sur la base ennemie et de la créer. Pour vous assurer que vous pouvez toujours maintenir la souris dessus et que sa classe est la base ennemie qui est correcte. Cliquez dessus avec le bouton droit ici, créez le dernier appelé BP Wizard. Juste pour vérifier si j'ai oublié quelque chose. Le magicien est le dernier et c'est tout. Je sais que j'ai 11 personnages. Cliquez ici, maintenez la touche Shift enfoncée, puis cliquez sur le dernier. Vous pouvez voir que vous en avez sélectionné 11 et c'est correct. J'ai 11 personnages ici. OK, cliquons sur Fichier et sauvegardons tout. Maintenant, nous les avons tous créés. Et cela s'annonce bien, nous sommes donc prêts à continuer dans la prochaine leçon. 19. 3.06 Finalisation de la mise en place de cours ennemis: Finissons-en avec l'ennemi. Passons maintenant à la nuit. Il faut les ouvrir un par un. Ouvrons d' abord la soirée, à l'intérieur d'ici. Si vous débutez dans le domaine des clauses de plan, vous disposez essentiellement de composants Vous avez différents composants. Par exemple, le sprite. Passons au point de vue pour le moment. Ici, dans la fenêtre d'affichage, tout comme dans la fenêtre d'affichage du jeu Dans la fenêtre d'affichage de la clause de plan, vous pouvez voir les choses visuellement Par exemple, le sprite, nous n'avons rien appliqué Et c'est ce que nous allons faire. Maintenant, faisons-le réellement. Vous pouvez donc voir qu'en cliquant sur ce sprite, vous pouvez voir qu'il a besoin d'un flip book C'est une animation parce que c'est un personnage que nous avons créé ici. Il faut qu'un personnage animé clique sur le flip book. Let, c'est la nuit. Nous devons sélectionner le mode d'inactivité nocturne. Allons-y et sélectionnons-le. Vous pouvez soit le sélectionner comme ceci, soit cliquer sur le sprite Vous pouvez cliquer et glisser ici dans les caractères, vous pouvez cliquer et faire glisser ceci et le déposer au-dessus d' ici. Cela fonctionne également. Maintenant, vous pouvez voir visuellement, vous pouvez vous déplacer, comme dans la fenêtre d'affichage normale Vous pouvez voir maintenant que nous avons ce personnage. Si vous double-cliquez dessus, le cadreur par seconde. Je ne l'ai pas changé pour celui-ci. Je crois que j'ai oublié de le changer. Permettez-moi de les sélectionner toutes. Je crois que je l'ai déjà changé. Quoi qu'il en soit, sélectionnez-les toutes. Si vous avez la même chose, cliquez avec le bouton droit de la souris, puis accédez à Actions sur les actifs. Sa sélection dans Property Matrix. Je vais aller sur Sprite et modifier la fréquence d'images par seconde pour qu'elle soit de dix images par seconde. Sortons et fermons-le. Au lieu d'entrer chacune d'entre elles et de changer le nombre d'images par seconde à dix, je vais simplement le faire en les sélectionnant toutes. Cliquez avec le bouton droit sur la matrice des propriétés et procédez de cette façon ici. Vous pouvez changer le nombre d'images lumineuses par seconde. Rapide, je ne sais pas. Je crois que je l'ai déjà fait. Peut-être le blason de mon moteur, je ne suis pas sûr. Mais maintenant c'est ce que nous avons. Revenons au plan de verre Ouvrons-le à nouveau. Je vais voir des plans Les ennemis apparaissent la nuit où nous travaillions. Passons aux fenêtres d'affichage. Ici, tu peux voir ma soirée. Tout va bien mieux. OK ? Dans la fenêtre d'affichage, vous pouvez voir les choses visuellement Et à l'intérieur du graphe d'événements se trouve l'endroit où vous ajoutez le code, par exemple, lors du mouvement, etc. Pour l'instant, ne nous concentrons pas ici, passons à la fenêtre d'affichage située à l' intérieur d'ici Nous devons le faire pour chacun d'entre eux. Nous devons attribuer le flip book. Passons au clic ci-dessus. Ouvrez l'éditeur de plan complet. Cette vue apparaît parce que vous n'avez pas encore travaillé sur ce plan Ouvrons-le, cliquons sur le sprite, attribuons le Ou. Si vous recherchez simplement Orc, par exemple, et que vous pouvez sélectionner celui-ci ou le désactiver. Si vous accédez à la fenêtre d'affichage, vous pouvez voir qu'elle semble correcte Voilà, OK, génial. Tu dois le faire pour chacun d'entre eux. Je vais juste vous montrer celui-ci et ensuite je vais le faire moi-même. The Orc Rogue, cliquez sur Sprite ou allez sur le Rogue et sélectionnez l'idole Assurez-vous simplement de sélectionner l'idole pour chacun d'entre eux. Je vais juste le faire pour les autres. OK. C'était le dernier. Dans chacune d'entre elles, j'ai assigné le personnage comme ça et ça ressemble déjà à un jeu. Génial. Même si nous n'avons pas encore fait grand-chose, je vais simplement cliquer et compiler sur chacune d'entre elles. C'est une bonne pratique. Cela ne changerait pas grand-chose pour le moment de cliquer et de compiler. Mais c'est toujours agréable de s'en souvenir comme ça. Et au fait, c'est une bonne chose à savoir également, vous pouvez cliquer sur ces trois points, enregistrer et compiler, et vous pouvez cliquer sur celui-ci, Échec. Ce que cela fait, c'est que chaque fois que je clique sur Compile, il est automatiquement enregistré ici au lieu de, disons que j'ai changé une valeur ici comme celle-ci. Au lieu de compiler puis d'enregistrer, vous pouvez simplement compiler Vous pouvez voir l'étoile, cela signifie qu'elle n'est pas sauvegardée. Si vous cliquez sur compiler, il est également enregistré automatiquement. C'est vraiment sympa. Je fais généralement ce réglage sur « Échec uniquement ». Vous pouvez également tout enregistrer si vous le souhaitez. Pas vraiment nécessaire pour le moment. OK, nous y voilà. Faisons autre chose maintenant. Cette capsule est la collision de ce personnage. Nous n'avons pas vraiment besoin de collision, car les personnages sont simplement immobiles dans l'environnement. Ce que nous pouvons faire, c'est tout fermer. Ouvrons la base ennemie pour cette capsule. Juste pour que ce ne soit pas si gros. C'est en fait savoir que c'est si grand et que le personnage est si petit. Habituellement, cela correspond au personnage. Au lieu de cliquer sur ce composant de capsule et de modifier la valeur ici dans la hauteur de la capsule et le rayon de la capsule pour l'adapter au caractère comme suit. Au lieu de le faire pour chaque personnage, souvenez-vous que je vais simplement cliquer sur cette flèche pour la réinitialiser. Par défaut, n'oubliez pas que nous avons la base ennemie, qui est la classe mère. Accédez à la fenêtre d'affichage. Je vais juste cliquer ici et essayer de le régler 12 par 12 comme ceci et de le compiler. Et maintenant, vous pouvez voir à quoi cela ressemble la nuit, car il le change automatiquement pour chacun d'entre eux. Tous ces paramètres sont appliqués. Laissez-moi juste y jeter un œil et voici à quoi cela ressemble. Nous utilisons celui-ci lorsque vous cliquez avec la souris et que vous infligez des dégâts à l'ennemi. Je vais l'agrandir un peu pour que nous puissions toucher l'ennemi beaucoup plus facilement. Peut-être qu'au lieu de 12 par 12, faisons-en 16 par 16. Essayons ça. Nous pouvons toujours l'agrandir si la case de frappe est trop petite, 16 par 16. Ça a l'air sympa pour le composant de la capsule. Je vais cliquer dessus. En fait, je vais aller ici dans les paramètres de collision et je vais dire générer des événements de chevauchement. Non, pas ici pour la collision, nous devons ajouter une collision plus tard. Mais pour l'instant, il suffit de cliquer ici et de dire qu'il n'y a pas de collision, et nous pourrons le personnaliser plus tard. Va tout compiler et enregistrer. Maintenant, chacune de ces classes de plans a également la valeur de collision définie sur non Pour le sprite, assurez-vous simplement qu'il n'y ait aucune collision dans la base ennemie Encore une fois, souvenez-vous des sprites des bases ennemies lors de la collision. Je vais m'asseoir ici, pas de collision et tout va bien. Toujours dans la composante de mouvement du personnage, assurez-vous que la gravité est nulle pour que nous ne tombions pas. Cette accélération maximale est nulle. Nous pouvons ramener la vitesse de marche maximale à zéro. Tout va bien. Je pense que nous n'avons pas vraiment besoin de changer grand-chose. Compilons ici. Sauvegardons tout. Et c'était tout pour les ennemis. Vous pouvez toujours faire glisser l'un d'entre eux. Par exemple, le squelette. Vous pouvez écrire dans le Y pour qu'il soit égal à zéro. Nous l'amenons au premier plan, et le voici. Voici à quoi cela ressemble si vous cliquez sur, souvenez-vous que c'est la vue du jeu. Vous pouvez donc cliquer dessus pour masquer les icônes et vous pouvez voir à quoi cela ressemble. Vous pouvez cliquer sur le joueur, cliquer avec le bouton droit de la souris et piloter la caméra. Vous pouvez cliquer sur F 11 ici pour agrandir la fenêtre d'affichage. N'oubliez pas que 11, si je clique ici, c'est le mode immersif 11, nous maximiserons la fenêtre d'affichage Si vous souhaitez modifier la position de la caméra, vous pouvez toujours cliquer ici et modifier l'emplacement de la caméra à centrer. Je peux voir le point de pivot de la caméra ici. Vous pouvez le modifier pour qu'il apparaisse sur le personnage. Par exemple, vous pouvez cliquer sur 11 pour maximiser. Je peux même le descendre plus bas comme ça. 11 voici mon personnage animé et tout va très bien. Je souhaite cependant cliquer sur la caméra de mon personnage ou de mon joueur. Dans la caméra, je vais juste écrire 640 ici. Au lieu de cela, je vais juste faire un petit zoom arrière. Je pense que c'est un peu trop zoomé. C'était bien trop zoomé, je pense. Permettez-moi d'essayer de cliquer avec le bouton droit de la souris et de l'empiler. Et cliquez sur 11. Et voilà à quoi ça ressemble, ça a l'air bien mieux qu'avant. Et je suis content des résultats. Permettez-moi de cliquer sur ce bouton pour sortir à nouveau de l'appareil photo. Je vais cliquer ici. Supprimez-le pour le moment. Oui, tout va bien. Les ennemis sont désormais répartis dans des classes de plans. Maintenant, allons-y et sauvegardons tout. Passons à la suivante. 20. 3.07 Application de la caméra du lecteur comme défaut: Ce que nous devons faire maintenant, avant continuer, c'est nous assurer que la caméra du joueur regarde le jeu lorsque nous jouons. Comme vous pouvez le voir lorsque je clique sur jouer, le jeu apparaît dans la fenêtre d' où je me trouve actuellement Et ce n'est pas vraiment à l'aide de notre appareil photo que nous avons installé ici. Allons-y et faisons-le. Cliquez sur ce joueur BP et supprimez-le, car il ne vous reste plus qu'à cliquer ici. Passez plutôt à Basic et sélectionnez celui-ci appelé composant Player Start Start. Maintenant, si je le fais glisser vers l'avant, vous pouvez voir qu'il y a une flèche. Je dois le faire pivoter ici. Cliquez sur l'outil de rotation et faites-le pivoter de manière à ce que la flèche pointe vers la carte. Le démarrage du joueur va permettre au joueur d' apparaître là où je l'ai défini Maintenant, ce que vous devez faire, c'est assurer qu'en mode de jeu, si vous passez en mode jeu et que vous enregistrez tout ce qui se trouve dans si vous passez en mode jeu et le mode de jeu dans les valeurs par défaut de la classe, assurez-vous que la classe P par défaut est modifiée par rapport au point par défaut parce que nous voulons utiliser le joueur BP pour apparaître en tant que La classe de points par défaut est BP player Compilez et enregistrez tout si vous le souhaitez. Vous pouvez également vous assurer qu'en cliquant ici dans les paramètres du projet, dans les paramètres du projet, puis en accédant aux cartes et aux modes, la clause de points par défaut est également BP player. Cela devrait être automatique lorsque vous vous inscrivez au mode jeu ainsi que dans les paramètres du monde. Encore une fois, si les paramètres du monde ne sont pas ouverts, vous pouvez cliquer sur Fenêtre ici, ouvrir les paramètres du monde, mais dans le mode jeu, vous pouvez cliquer sur cette flèche en bas pour voir que le joueur BP est la clause par défaut. Encore une fois, tout cela devrait être automatiquement appliqué lorsque vous le modifiez ici, ne vous inquiétez pas trop à ce sujet. Mais il est toujours bon de savoir que cela doit être correct ici et que cela doit également être correct dans les paramètres du projet. Maintenant, si je clique sur Jouer, le joueur BP sera utilisé comme classe par défaut pour apparaître dans le monde Si je clique sur 11, voici à quoi cela ressemble. Ce que vous pouvez faire, c'est que vous pouvez toujours cliquer sur le départ du joueur et modifier les X, Y et Z. Je peux dire que cela ne change pas vraiment ici parce que je pense que c'est parce que je joue là-bas Si je le déplace simplement vers le bas et que je clique sur Play, vous pouvez voir qu'il change de position. Vous pouvez toujours essayer de le centrer ici, peu importe. Parce que l'ennemi va apparaître peut-être de ce côté. Et je vais le déplacer un peu plus sur le côté. Cliquez sur Play. Ce n'est pas vraiment trop important. Je pense que c'est bon pour le moment. Nous allons également le réparer plus tard, mais c' est une bonne chose pour moi. Cliquons sur Fichier et sauvegardons le tout. Et maintenant, chaque fois que nous cliquons sur Play, nous utilisons ce générateur pour faire apparaître la caméra Et c'est dans cette perspective que nous jouons. Allez-y, sauvegardez tout, et passons à la suivante. 21. 4.01 Créer le point d'apparition ennemi: Ce que nous pouvons faire maintenant, c'est commencer à ajouter le point d'apparition de l'ennemi, car il est temps de le faire apparaître dans le monde Pour ce faire, créons un point d'apparition. La façon dont nous pouvons créer un point de reproduction. Maintenant, vous pourriez penser que vous pourriez ajouter un autre joueur de départ et essayer de faire en sorte que ce joueur commence à jouer pour faire apparaître l'ennemi Mais ce n'est que pour le joueur et cela deviendra confus lorsque je cliquerai sur jouer. Maintenant, il utilise celui-ci, et quand je clique à nouveau sur jouer, il utilise celui-ci. Il n'arrête pas de passer de l' un à l'autre et devient confus. Supprimons maintenant ce second plan pour les points d'apparition. Cliquez plutôt sur les plans Et laissez-moi cliquer avec le bouton droit de la souris et créer un nouveau dossier. Appelons ça des points d'apparition. Ouvrons-le. Cliquez avec le bouton droit de la souris et créons une nouvelle classe de plan comme point d'apparition. Faisons simplement un jeu très simple appelé Actor Base ou simplement Actor et cliquez dessus. Appelons cela une base de points de spa BP. Encore une fois, j'ai l'habitude de créer des cours de plans parce que j'aime créer des cours de plans pour enfants que nous pourrons utiliser plus tard Si nous devons modifier une valeur spécifique pour chacun d'entre eux, nous pouvons le faire dans le menu principal, ici les parents. Mais il se peut que nous n'ayons pas besoin de créer plus d'un point en Espagne, je ne suis pas sûr. Mais c'est toujours agréable de créer une base, cliquez ici avec le bouton droit de la souris. C'est également le cas lorsque vous développez un jeu plus important. Vous ne savez pas si vous avez besoin de plus d'un point pour l'Espagne. Mais c'est toujours agréable d'en créer un pour les parents, car vous pourriez regretter plus tard si vous n' en créez pas un et que vous devez tout refaire à zéro. Faisons un clic droit ici et créons un cours de dessin pour enfants. Appelons-le EP Enemy spa Point. Maintenant, je peux cliquer dessus et le faire glisser dans le monde. Mettons le Y à zéro. Il est ici, à l'avant. Tu peux faire apparaître l'ennemi où tu veux. Par exemple, vous pouvez faire apparaître l'ennemi ici. Peu importe ce qui n'est pas trop important pour le moment, si je clique sur Jouer, l' ennemi apparaîtra ici OK, maintenant nous avons créé le point d'apparition. Sauvegardons tout pour le moment. Cliquons sur ce point d'apparition ennemi. Assurez-vous que nous n'avons pas besoin de modifier les paramètres. Nous n'en avons pas vraiment beaucoup. Vous pouvez voir ici dans les composants, nous n'avons que l'icône que nous n' avons pas et que nous pouvons faire à l'intérieur parce que nous n'avons rien ajouté. Nous n'en avons pas besoin. Je n'utilise que cet acteur. Trouvez l'emplacement et la rotation dans le monde afin que nous puissions faire apparaître l'ennemi OK, c'était tout pour le point d'apparition. Et passons à la suivante. 22. 4.02 Acteur de Spawn de Class: Le but de tout cela maintenant, c'est que nous devons faire apparaître l'ennemi Et comment faisons-nous apparaître des choses dans le monde ? Dans Unreal Engine, faisons-le dans le Player Controller Donc, ce que je fais habituellement dans le Player Controller, c'est faire apparaître des objets dans le monde. Si c'est un personnage, je dois apparaître si c'est une arme, je dois apparaître s'il s'agit d'une pièce d'or, j'ai besoin de Tout se fait à l'intérieur des commandes du joueur. Ouvrons-le et passons au graphique des événements. Parce que je veux programmer maintenant. Au fait, vous pouvez maintenir le bouton droit de la souris enfoncé et naviguer ici. Permettez-moi de sélectionner les deux. Appuyez sur Supprimer sur mon clavier. Et commençons ici. Lorsque vous commencez à programmer, vous devez essentiellement vous demander : que dois-je faire ? OK, je dois le décomposer. OK, je dois créer un ennemi ici. C'est ce que je veux. Que dois-je faire ? J'ai besoin d'utiliser la fonction principale qui est utilisée pour générer des objets Je fais un clic droit. Si vous ne savez pas comment cela s'appelle, vous pouvez toujours, par exemple, apparaître Vous pouvez essayer de jeter un œil et de voir lequel vous convient le mieux. Ce ne sont pas toutes ces castings, les fonctions se sont arrêtées là, vous pouvez voir que cela s'appelle, ce sont les fonctions que vous pouvez utiliser. Si vous ne savez pas comment il s'appelle, recherchez simplement le mot. Par exemple, je dois créer quelque chose . Je cherche juste du spawn. En fait, celui-ci fait apparaître un acteur de la classe, je vais cliquer dessus ici C'est la fonction qui va générer des choses pour nous. Maintenant, pour exécuter du code dans moteur vulnérable, vous avez besoin d'un événement. Sans événement, vous ne pouvez pas exécuter de code si vous écrivez « click » et que vous vous rendez ici pour rechercher des événements. Si je peux le trouver ici. Event Dispatchers, ce n'est pas ici. Si je monte, je peux vraiment celui-ci, c'est un événement publicitaire. Vous pouvez voir que ce sont les icônes des événements. Et vous pouvez utiliser de nombreux événements pour démarrer votre code. Par exemple, commencer à jouer est le plus simple. Si vous cliquez dessus, vous pouvez voir les événements marqués en rouge, les fonctions en bleu. Le code rouge, Beginplay , simplement qu'il s' agit d'un événement simple Que devrait-il se passer lorsque je commencerai à jouer au jeu ? Si vous cliquez ici et que vous le connectez. Maintenant, si vous cliquez sur Play, cette fonction sera exécutée ici. Sans événement, vous ne pouvez pas exécuter le codage sur un moteur réel. Nous devons utiliser cet acteur de génération au lieu d'utiliser un événement normal Faisons un clic droit et créons un événement personnalisé. Créons simplement un événement personnalisé. La différence est qu'avec l'événement personnalisé, vous pouvez simplement lui donner un nom personnalisé. Je vais juste l'appeler spawn M. C' est ce que nous voulons faire Je vais le connecter ici, et c'est parti. Pour cette fonction d'apparition, nous devons définir ce dont nous avons besoin pour générer Par exemple, nous devons faire apparaître le voleur, le guerrier, etc. Maintenant, cela dépend vraiment de votre niveau, car dans Clicker Heroes par exemple, cela dépend vraiment du niveau dans lequel vous vous trouvez Au niveau 1, vous voulez peut-être faire apparaître le guerrier et au niveau deux, vous voulez peut-être faire apparaître le chaman Ok et ainsi Nous ne pouvons donc pas vraiment spécifier lequel nous voulons générer au lieu de simplement spécifier ici ce que nous voulons générer dépend du niveau Je vais cliquer et faire glisser cette épingle dans la fonction ici et nous déciderons plus tard. Au lieu de l'appeler classe, je vais l'appeler ennemi que nous voulons faire apparaître ici Il s'agit de la variable que nous avons ajoutée. C'est vraiment cool, cette transformation d'apparition aussi. On peut le faire glisser ici. Mais au lieu de créer une variable, vous pouvez soit cliquer sur l'événement ici, soit cliquer sur le signe plus pour créer la variable. Par exemple, je peux cliquer ici sur le type de variable et sélectionner transformer, comme celui-ci. Et je peux les relier entre eux. Je peux le faire comme ça, ou si je le supprime à nouveau, je peux simplement cliquer et faire glisser comme nous l'avons fait auparavant, déposer dans l'événement, et il le créera automatiquement pour moi. C'est une méthode très cool pour le faire car je vais faire apparaître l'ennemi Maintenant, pour ce qui est de la transformation d'apparition, cela dépend vraiment de l'endroit où se trouve ce point d'apparition Je vais juste les inscrire tous les deux à l'événement. Lorsque nous utiliserons cet événement ultérieurement, nous pouvons spécifier où se trouve le point d'apparition et nous pouvons également spécifier l'ennemi que nous voulons faire apparaître Mais pour l'instant, nous ne pouvons pas vraiment décider ici. Pour l'apparition, je vais cliquer ici et dire d'essayer d'ajuster la position, mais de toujours apparaître pour m'assurer que mon ennemi va apparaître ici. C'est toujours agréable d'avoir une variable indiquant l' ennemi que vous avez fait une variable indiquant l' ennemi que vous Je vais cliquer avec le bouton droit sur celui-ci et le promouvoir en variable. Je vais appeler celui-ci un spawn. Ennemi. OK, ce que nous faisons simplement, c'est que nous créons un ennemi, puis nous stockons ces informations dans une variable, que nous pourrons utiliser plus tard Parce que celui-ci est vraiment agréable à utiliser si nous devons faire quelque chose avec cet ennemi engendré, nous avons ces données dans une variable OK. C'est la fonction simple, l'acteur générateur de la classe Vous pouvez voir ici si j'appelle cet événement plus tard car vous ne pouvez pas exécuter ce code. Donc, si je clique sur play, ne vous attendez pas à ce que le code s'exécute, car dans Unreal Engine, vous devez spécifier dans le moteur quand vous souhaitez exécuter cet événement Par exemple, je peux cliquer avec le bouton droit de la souris ici et rechercher mon ennemi réapparu Événement, apparition d'un ennemi. Et vous pouvez le voir ici et indique la fonction d'appel. Je peux donc cliquer dessus et appeler mon code spawn enemy. Je peux l'appeler ici chaque fois que je l'appelle, je peux ensuite exécuter ce code. Si j'écris juste le début, Play, juste pour vous montrer que vous commencez, jouer est l'événement le plus simple. Je peux le connecter ici. Chaque fois que je commence à jouer au jeu, il appelle cet événement, qui exécute ensuite ce code ici. C'est ainsi que cela se passe. Imaginons, par exemple, que je veuille faire apparaître le magicien Pour l'instant, laissez-moi prendre celui-ci, au lieu d'écrire une valeur, laissez-moi le prendre et dire que je vais effectuer moi-même une transformation manuellement. Nous n'allons pas le faire comme ça, mais je vais juste vous montrer, par exemple, copions l'emplacement de ce point d'apparition Je vais dire 170 par zéro par -120 Ici, à l'emplacement 1700 -120, je vais compiler Maintenant, lorsque je clique sur jouer, vous pouvez voir que mon ennemi est apparu à cet endroit précis C'est l'assistant qui a donné naissance toutes ces fonctions ou à cette façon que nous appelons les événements Tu dois organiser un événement. Tu exécutes ce code, tu le dis au moteur, exécutes mes événements d'apparition d'ennemis Et il va exécuter vos événements avec les éléments spécifiés ici Je veux faire apparaître l'assistant, par exemple, à cet endroit Il va intégrer ces informations ici, ici. Et il va faire apparaître l'ennemi et le stocker dans une variable Supprimons maintenant ceci. Nous n'en avons pas besoin. J'allais juste te montrer. Compilons et sauvegardons tout. Passons maintenant au mode jeu. Nous pouvons toujours le faire apparaître d' ici, dès le début du jeu. Mais pour rendre le code un peu plus clair, faisons apparaître l'ennemi dans le mode de jeu Maintenant que nous avons ce code dans lequel nous faisons apparaître l'ennemi, exécutons-le dans le mode de jeu Comme le mode de jeu détermine les règles du jeu, il est plus simple de le faire ici. Mais en fait, cela n'a pas d' importance en mode solo. Que vous fassiez apparaître l'ennemi d'ici ou ici, cela n'a pas vraiment d' Mais pour créer un code plus clair, faisons-le en mode jeu. Je vais le faire au début. Play. Je vais juste sélectionner celui-ci et le supprimer ici. Faisons glisser et rechercher un ennemi. Vous pouvez voir ici que lorsque vous faites cela, vous ne pouvez rien voir. En effet, ce mode de jeu ne prend plus conscience ce que vous avez créé dans cette autre classe de blueprint N'oubliez pas qu'il s'agit de deux classes de plans différentes. Maintenant, vous devez vous lancer dans ce que l'on appelle la communication par plan Doit communiquer avec une autre classe de Blueprint, car ce mode de jeu doit l' utiliser depuis la manette de jeu Nous devons utiliser ce que l'on appelle le casting pour communiquer avec cet autre plan Et c'est ce que nous allons faire dans la prochaine leçon. 23. 4.03 Communication de plans - Casting: Passons maintenant à la communication par plan directeur. Et maintenant, nous devons communiquer avec la manette du joueur en mode jeu pour lui demander, ou ici dans le mode jeu, utiliser et d'appeler ce spawn enemy Pour ce faire, descendons ici, cliquez avec le bouton droit de la souris et dites maintenant ce à quoi vous devez penser, c'est avec quoi devez-vous communiquer ? J'ai besoin de communiquer avec le contrôleur du joueur. Cherchons un contrôleur de joueur. Nous avons besoin de cette fonction appelée get player controller. Ce contrôleur de couche par défaut provient d'Unreal Engine Maintenant, nous devons dire ici que nous devons utiliser ce contrôleur spécifique que nous avons créé. Nous n'avons pas besoin d'utiliser cette manette de joueur par défaut. Ce que nous devons faire, c'est partir d'ici et dire « cast two ». C'est ce qu'est le casting. Vous dites au moteur que vous souhaitez utiliser cette manette personnalisée en particulier vous devez en écrire le nom dans PC Dungeon Clicker Allez-y, connectez-le. Maintenant, ce que nous faisons ici, c'est prendre la manette de joueur par défaut, nous allons passer à ce donjon pour PC. Donc, en gros, nous disons que nous voulons utiliser des éléments contenus dans notre propre manette de joueur personnalisée au lieu de celle d'ici. Nous pouvons désormais appeler ennemi ce que nous créons à l'intérieur Ensuite, par exemple, je peux maintenant faire glisser le pointeur d'ici et dire « faire apparaître un ennemi Maintenant, je peux l'utiliser, souvenez-vous que vous ne pouvez pas simplement écrire click et dire spawn enemy parce que ça ne va pas s'afficher Cela ne s'affichera que si vous faites glisser le pointeur d'ici et que vous dites « apparaître un ennemi » parce que c'est à l'intérieur d'ici Et maintenant, tu peux vraiment l'utiliser. Maintenant, vous communiquez avec ce plan. Mais le problème avec le casting, c'est que vous créez des références concrètes dans Unreal Engine Lorsque vous créez un jeu et que vous créez un jeu de grande envergure, vous pouvez imaginer à quel point vous utilisez le casting parce que vous communiquez avec de nombreux plans à la fois Tu en as beaucoup. Maintenant, c'est un problème car cela crée des références concrètes. Et ce que sont les références dures, c'est que vous devez les charger chaque fois que vous démarrez le jeu. Parfois, vous voyez si vous ouvrez un vieux jeu et qu'il se charge pendant environ 15 secondes avant de vous montrer le menu principal. C'est parce qu'il charge toutes les références concrètes avant même de pouvoir démarrer. C'est vraiment nul. Je ne dis pas qu'il ne faut utiliser le casting nulle part, mais utilisez-le facilement, ne l'utilisez pas partout. Utilisez-le où que vous le trouviez. Bon à utiliser, il y arrivera. Avec l'expérience, vous saurez à quel moment vous souhaitez utiliser le casting. Et pourquoi ne pas essayer d'éviter le casting autant que possible. Alors laissez-moi simplement supprimer ce casting maintenant, ou laissez-le simplement être ici. Laisse-moi juste Alt et déconnecte-le. Ici. Laisse-moi le déplacer vers le bas pour le moment. Maintenant, au lieu d'utiliser le casting, utilisons ce que l'on appelle des interfaces Blueprint Passons à la leçon suivante et voyons ce que sont les interfaces Blueprint 24. 4.04 Communication de plans - Interfaces: Très bien, passons aux interfaces Blueprint. Maintenant, ce sujet est difficile pour de nombreux débutants, mais je vais essayer de vous expliquer comme d'habitude le mieux que je peux pour vous l'expliquer. Pour éviter des références élevées lors du casting, utilisons des interfaces Blueprint Tout d'abord, cliquez avec le bouton droit de la souris ici, créez un nouveau dossier appelé interfaces. Restons organisés à l'intérieur d'ici. Faisons un clic droit maintenant. À l'intérieur du plan, vous voyez ce que l'on appelle une interface de plan Allons-y et créons-le. Habituellement, je l'appelle en tant que débutant les gens l'appellent BPI pour Blueprint Interface. Faisons-le réellement. Appelons-le BPI, interface Blueprint. Appelons celui-ci. Le nom de celui-ci est celui auquel vous essayez de faire référence, celui avec lequel vous essayez de communiquer. Dans ce cas, j'essaie d'utiliser une fonction de la manette de mon joueur. Je vais appeler cela un contrôleur PI . C' est ce à quoi je veux faire référence. Ouvrons-le. À l'intérieur d'une interface de plan, vous pouvez voir que vous avez une fenêtre d'affichage Tu ne peux vraiment rien faire. Il est écrit en lecture seule, vous ne pouvez pas faire glisser ou quoi que ce soit d'autre ici. La seule chose que vous pouvez faire est créer des fonctions ici sur le côté. Cliquez sur la première fonction ici. Permettez-moi de cliquer sur deux pour le renommer. Permettez-moi d'appeler celui-ci, Get Play Control Reference. Obtenez une référence de contrôle des joueurs. C'est ce que j'essaie de faire. J'essaie d'obtenir la référence de la manette du joueur afin pouvoir utiliser ce qu'elle contient. Tout comme nous l'avons fait avec le casting, je peux utiliser cette fonction ici. Revenons à l'interface. Obtenez la référence des manettes du joueur ici. Je veux créer une variable de sortie ici. Maintenant, le type de variable est celui auquel vous essayez de faire référence. J'essaie de faire référence à la manette de mon joueur. Je dois le chercher ici, rechercher un contrôleur PC, rechercher un contrôleur PC avons appelé PC en fait, contrôleur net Player. Nous appelons PC Dung Clicker. Cliquons dessus. Renommons-le en Play Controller comme ceci Compilons et c'est terminé. La seule chose que nous avons créée est cette fonction de référence Get Player Controller. Et nous avons ajouté une variable à la sortie appelée player controller. Nous allons l'utiliser pour définir cette manette de joueur ici. Maintenant que nous avons créé l'interface Blueprint, passons maintenant au contrôleur Player et , dans les paramètres de classe, nous devons ajouter cette interface ici Cliquons sur dans les paramètres de la classe, cherchons le BPI et ajoutons le contrôleur Player Maintenant, remarquez que lorsque vous ajoutez le contrôleur Player ici dans l'interface, vous obtenez en fait une barre appelée interfaces. Et vous pouvez voir cette fonction de référence Get Player Controller que vous venez de créer, la liste, double-cliquez dessus. Et le voici, vous pouvez le modifier. Ce que vous devez faire à l'intérieur d'ici, c'est simplement glisser et dire « faites-le vous-même » ici. Nous avons maintenant une autoréférence. Ce que signifie une autoréférence, en gros, c'est que nous définissons cette variable de contrôle du joueur. Parce que je clique sur Alt et je clique ici pour le déconnecter. Si nous ne l'avons pas fait, sachez ce qu' est cette variable. Elle est vide, ne contient aucune information, mais elle ne sait pas vraiment que c'est cette manette de joueur dans laquelle nous nous trouvons actuellement. C'est ce que signifie l' autoréférence. Si nous le branchons, nous avons donné une valeur à cette variable. Nous disons essentiellement à cette variable que le contrôleur de joueur dont nous parlons est autodidacte. Quel que soit le plan dans lequel nous nous trouvons actuellement, il s'agit d'une autoréférence Continuons maintenant pour éviter toute confusion. Et j'expliquerai tout le processus une fois que nous aurons terminé. Maintenant que c'est fait , fermons-le. Passons au mode jeu. Maintenant, comme avant, disons obtenir la manette du joueur et la manette du joueur par défaut. Désormais, au lieu de lancer, nous pouvons désormais faire glisser et indiquer la référence du contrôleur. Vous pouvez maintenant voir que cela provient de l'interface du plan. Il s'agit également d'une fonction d' interface Blueprint. Lorsque vous verrez ce message à la fin, cliquons dessus. C'est également ce que signifie cette icône. Cela signifie qu'il provient d' une interface de plan. Allons-y et connectons-le. À partir de là, disons « faire apparaître un ennemi », comme avant Et maintenant, nous pouvons appeler ce qu'il contient. Maintenant, vous voyez quand je passe à la manette du joueur. Et si j'ajoute une nouvelle variable appelée, par exemple, ennemi, nous sauverons. Pile. Maintenant, dans le mode jeu, je peux diriger à partir d'ici et dire de tuer l'ennemi. Et maintenant, vous pouvez voir, je peux voir cette variable que je viens de créer. Quoi que je crée ici, je peux désormais communiquer avec la manette du joueur et utiliser tout ce qu'elle contient. OK, permettez-moi de vous expliquer tout le processus avant de terminer cette vidéo. Si vous l'avez déjà compris, vous pouvez passer à la leçon suivante. Je vais juste supprimer celui-ci. Je vais donc simplement expliquer l'ensemble du processus. C'est donc facile à comprendre. Pour commencer, nous avons créé cette interface de plan en cliquant avec le bouton droit Et dans le plan, nous avons créé l'interface du plan directeur. Maintenant, dans cette interface, nous venons de créer une fonction appelée get player controller reference. Parce que nous voulons obtenir la référence des manettes du joueur. Quelle que soit la référence à laquelle vous devez faire référence, vous devez créer une variable et définir le type de variable. Voici ce à quoi vous essayez de faire référence. Nous essayons de faire référence à cette manette de joueur appelée PC Dungeon Clicker C'est pourquoi ici, dans le type de variable, je l'ai défini sur PC Dungeon Clicker En gros, il suffit de le rechercher ici, PC Dungeon Clicker, et vous le trouverez comme ça OK, donne-lui juste un nom. Je l'ai juste appelé Player Controller. Et n'oubliez pas de compiler. Si vous ne compilez pas, il n' apparaîtra pas ici. Pensez donc à compiler, à tout enregistrer. Vous devez maintenant ajouter cette interface de plan dans le contrôleur du joueur, car c'est ce à quoi vous essayez de faire référence ici Nous sommes allés dans les paramètres du cloud, nous avons ajouté l'interface Blueprint Lorsque vous effectuez cette opération, la fonction apparaît ici à gauche. Vous ouvrez cette fonction à l'intérieur d'ici. Nous avons essentiellement fait une autoréférence car si vous le déconnectez compilez vous le compilez et que vous essayez de le faire ici en mode jeu, si vous cliquez sur jouer, je ne suis pas sûr que cela me donnera une erreur pour le moment. Ce sera le cas parce que nous le lançons dès le début de la pièce et cela me donnera une ère. Il indiquera « Non à l'accès ». En essayant de lire la propriété, trouvez la référence de la manette du joueur à l'intérieur de l'ennemi qui apparaît Si je clique dessus ici, clique sur celui-ci. Permettez-moi de le minimiser pour vous montrer si je passe ici et que je clique sur cet ennemi qui apparaît L'époque est arrivée. Il est écrit Access. En essayant de lire la propriété, obtenez la référence du contrôleur du joueur. Il indique Accès non, ce qui signifie que je n'ai aucune information concernant ce que vous essayez de me donner. J'essaie de lui donner cette manette Player comme référence. Mais il n'en dit rien. Cela signifie qu'il n'y a aucune information ici. Et je ne peux rien y faire car dans le contrôle du joueur, dans les interfaces du plan, nous ne nous sommes pas connectés. Parce que si elle est vide, le moteur ne sait pas vraiment ce qu' est cette manette de jeu. Il faut le dire. La manette de jeu dont je parle, c'est moi. La manette du joueur. Ce cours de blueprint auquel je participe déjà en ce moment Maintenant que nous l' avons définie dans le mode jeu, nous pouvons désormais appeler cette interface Blueprint Mais nous devons d'abord obtenir la manette de jeu par défaut à partir de là, cette référence de manette de jeu. Mais à partir de l'interface Blueprint nous pouvons désormais accéder à tout depuis celle-ci Parce que souvenez-vous que dans la manette de jeu nous avons fait cette autoréférence ici. Il sait de quelle manette de jeu nous parlons. D'accord, je sais que c'est un peu déroutant pour les débutants, mais croyez-moi, c'est un concept très, très simple. Si vous vous entraînez seulement 23 fois, essayez de regarder à nouveau la fin de la vidéo. Essayez peut-être de vous en faire une idée. Nous allons le faire au moins cinq fois dans ce cours Vous verrez donc également d'autres exemples, non seulement la manette de jeu, mais également d'autres exemples. Je vais également vous laisser le faire avant de le faire, afin que vous puissiez également vous entraîner ici. Mais pour l'instant, c'est terminé. Nous l'avons connecté . Cependant, vous pouvez voir ici que nous avons besoin de l'emplacement d'apparition Nous devons faire apparaître l'ennemi à cet endroit. Au lieu de créer une valeur statique, par exemple en faisant glisser et en disant transformer et en créant une valeur statique, nous pouvons simplement écrire une valeur ici Nous voulons savoir où se trouve ce point d'apparition. Nous devons faire naître cet ennemi. En fonction de l'endroit où se trouve le point d'apparition, c'est ce que nous allons faire dans la leçon suivante 25. 4.05 Obtenir les valeurs de point de spawn: Ici, j'ai ouvert le projet une fois plus et maintenant, il me dit à nouveau que le Nenite est activé mais ne peut pas être parce que le projet a désactivé Nani dans un I. Et je me souviens que nous avons désactivé Nanite dans les paramètres du projet maintenant au lieu d'écrire anite ici dans la console 2047 parce que nous l' Chaque fois que vous allez fermer le projet et le rouvrir, ce message s'affichera. Ce que je veux plutôt que vous fassiez, c'est que vous alliez dans le dossier de votre projet et que vous puissiez le trouver dans les documents. Et en entrant dans les projets Unreal, c'est ici que vos projets Unreal Engine sont enregistrés Ensuite, en entrant dans le Dungeon Clicker, je veux que vous ouvriez la configuration et que vous ouvriez celle-ci appelée Default Engine I. À l'intérieur, ce que je veux que vous trouviez, c'est que je veux que vous trouviez une ici, Le projet activé est égal à faux ici. Je vais écrire mon code personnalisé ici au lieu de la commande de console. Écrivons-le ici. Nt est égal à zéro. C'est ce que je veux que tu écrives, R est égal à zéro. Sauvegardons-le. Au fait, j'utilise Notepad plus plus Vous pouvez utiliser votre éditeur de texte habituel. Peu importe ce que vous utilisez, il suffit d'écrire R n égal à zéro. Fermons-le. Clôturons également ce projet. Permettez-moi de réessayer d'exécuter mon projet et de voir si le message a disparu. Et il devrait disparaître. Il ne devrait pas y être. Nous y voilà. Le message ne va plus s' afficher. OK, génial. Au lieu d'ici, ce que nous voulons faire maintenant, c'est obtenir la valeur du point d'apparition Parce que souvenez-vous où nous nous sommes arrêtés dans le mode, nous avons créé l'interface Blueprint Nous avons appelé cette fonction ou cet événement d'apparition d' ennemis plutôt que cet événement se trouve à l'intérieur de la manette du joueur Celui-ci. Au permettez-moi d'augmenter à nouveau échelle de mon interface utilisateur, car chaque fois que je ferme le moteur, fait, permettez-moi d'augmenter à nouveau l'échelle de mon interface utilisateur, car chaque fois que je ferme le moteur, je dois l' augmenter ici à 1,25 pour que vous puissiez mieux voir J'espère ne pas oublier. Ouvrons-le à nouveau. Ici, et ici, vous voyez l'ennemi qui apparaît C'est l'événement que nous avons appelé depuis le mode jeu. Maintenant, ce que nous devons faire, c'est lui dire où nous voulons faire apparaître cet ennemi Il s'agit de la transformation du spawn. Comment s'y prend-on ? Nous devons en arriver là où nous en sommes dans le monde. Il y a maintenant une fonction que vous devez utiliser et elle s'appelle actor of class. Actor of class est une fonction qui permet d'obtenir quelque chose qui est déjà apparu dans le monde. Par exemple, il y a ce point de spawpoint ennemi que nous pouvons obtenir. Si vous l'ouvrez, vous pouvez obtenir un acteur de classe, si vous cliquez ici et que vous recherchez un spawn, vous pouvez voir que vous pouvez obtenir des points de spawpoint ennemis de BP Ou vous pouvez obtenir la base BP Spawpoint et ainsi de suite. Vous pouvez donc obtenir ces plans Si vous obtenez un plan qui n'apparaît pas, par exemple, disons que j'appelle BP Night, celui-ci étant le soir que Disons que je conseille de devenir acteur lors d'une soirée de classe et que je joue au jeu. Cela va vous donner une erreur. C'est parce que la nuit est un étang dans le niveau. Ce sont toutes les choses que nous avons à notre niveau. Les joueurs commencent le volume post-traitement, la carte des tuiles et le point de spawpoint ennemi Ce que nous pouvons faire, c'est rechercher le point de spa ennemi. Ce point de spa ennemi. Nous allons avoir cet acteur. Que pouvons-nous faire avec celui-ci ? Mettons-le au début de la partie. Avant de faire tout cela ici, laissez-moi faire glisser le pointeur de cette façon . Je vais placer celui-ci ici comme ça et je vais le connecter. Ce que nous voulons faire ici, c'est simplement cliquer avec le bouton droit la souris pour le transformer en variable. Appelons cela le point d'apparition de l'ennemi. Maintenant, nous l'avons stocké dans une variable, et connectons-le. Nous pouvons maintenant utiliser cette variable ici. Prenons cette variable, faisons-la glisser ici et cliquons sur Obtenir. Vous pouvez également maintenir la touche Ctrl enfoncée, la faire glisser et la déposer. Il l'obtiendra automatiquement. Vous pouvez également maintenir la touche Alt, maintenir Alt enfoncée et faire glisser le pointeur. Et il définira cette variable au lieu de simplement glisser-cliquer sur Obtenir. Et définissez soit maintenez le contrôle enfoncé et faites glisser, soit maintenez la touche Alt enfoncée et faites glisser. Nous avons maintenant ce point de rotation de l'ennemi. Et disons encore une fois, si vous ne savez pas comment s'appelle la fonction, recherchez simplement le mot que je veux pour obtenir la transformation. Vous pouvez soit obtenir l' emplacement de cette variable, soit celui de cet acteur, soit l'emplacement de l'acteur. Vous pouvez l'utiliser, vous pouvez le directement à partir d'ici, vous pouvez voir que vous ne pouvez pas vraiment les connecter. Mais il va le convertir pour vous sur un vrai moteur qui le convertira pour vous. Maintenant, ce n'est pas tout à fait correct comme ça. Vous pouvez directement à partir d' ici et dire « transformer ». Et lorsque vous effectuez une transformation, vous décomposez cette transformation. Parce que si vous ne savez pas ce qu'est une transformation, voici ce qu'est une transformation. Vous pouvez en fait le voir ici dans le panneau des détails. Lorsque vous cliquez sur un élément, vous voyez son emplacement vous voyez son emplacement, sa rotation et son échelle. C'est la transformation. La transformation peut être décomposée en fonction de l'emplacement, de la rotation et de l'échelle. Cette couleur orange est la transformation. Tu peux le décomposer comme ça. Et vous pouvez connecter le site Acta ici. Et ça marchera très bien. Cependant, juste pour le raccourcir, vous pouvez le supprimer. Et vous pouvez faire glisser le pointeur ici et rechercher une transformation, et vous pouvez également obtenir la transformation Acta Maintenant, vous devez parfois faire attention, car cela dépend à la fois de l'emplacement, de la rotation et de l'échelle, et cela affecte l' ennemi avec ces valeurs. Si vous cliquez sur cet objet, il obtient son emplacement, ce qui est très bien. Je veux apparaître ici. Il obtient également la rotation qui est de 000, ce qui est bien. Imaginez si cet acte avait cette rotation, disons qu'il avait cette rotation aléatoire. Cela va être appliqué à votre personnage. Soyez prudent lorsque vous utilisez get actor transform. Parfois, vous avez un tel ensemble de rotation pour cet actif que vous ne souhaitez pas appliquer à votre personnage. Dans ce cas, vous devriez obtenir un emplacement par lui-même. Vous pouvez utiliser la rotation elle-même si vous ne voulez pas la faire directement à partir d'ici et dites «  make transform » et vous pouvez utiliser l'emplacement à la place. Ensuite, vous pouvez simplement laisser la rotation à 000. Mais dans notre cas, l'échelle est bonne. L'échelle des caractères en est également une. La rotation est de 000, ce qui est très bien. Et c'est l' endroit que nous voulons transformer en utilisant le get act qui convient parfaitement, dans ce cas ici. Maintenant, nous l'avons. Compilons simplement et donnons-lui un ennemi, par exemple, l'Orc Voyons si l'Orc apparaît vraiment, c'est par ici, dans le jeu Fc Vous pouvez voir qu'Orc est en train d'apparaître. Génial Cela fonctionne. Nous pouvons maintenant apparaître ici. Choisissons par exemple le skeleton mag. Si je clique sur jouer, je pense qu'au lieu de cliquer sur Play et de toujours minimiser comme ça pour voir si cela fonctionne, j'aime jouer ici. Voyons jouer sous la forme d'une nouvelle fenêtre d'éditeur, elle apparaît pour moi et elle est apparue sur mon deuxième moniteur Mais en gros, c'est là, c'est le squelette, et il fonctionne très bien. OK, le frai fonctionne. Maintenant, qu'est-ce que nous devons définir, quel ennemi voulons-nous faire apparaître ? Maintenant, celui-ci est un peu plus complexe car, comme je l'ai déjà dit, chaque niveau du jeu de clicker a son propre Au niveau 1, par exemple, il y a ce gars ici, au niveau deux, il y en a un. Nous devons définir quel niveau a quel ennemi. Nous ne pouvons pas vraiment simplement spécifier un ennemi spécifique ici. Pour ce faire, nous devons apprendre un certain nombre de choses. Structures, données, tables, bibliothèques. Mais ce sera très amusant et cela pourra également être appliqué à vos futurs jeux. Concentrez-vous sur les deux prochaines leçons. Des choses très, très importantes à venir. Passons à la suivante. 26. 4.06 Introduction aux structures: Très bien, bienvenue. Et maintenant, nous allons avoir une introduction aux structures. Maintenant, si vous savez déjà ce qu'est une structure, vous pouvez passer à la leçon suivante. Et si vous ne savez pas ce qu'est une structure, commençons ici. Passons aux ennemis. maintenant aux ennemis, dirigeons-nous vers la base ennemie. N'oubliez pas que dans la base ennemie, si je crée quelque chose, si je crée une variable et que je dis santé de l'ennemi, par exemple, le type de variable que nous définissons est un float. Parce qu'un float est une valeur numérique avec une décimale si je compile, vous pouvez le voir ici à droite Lorsque je clique sur la variable santé de l'ennemi. Et je peux le régler, par exemple, sur 25,6, quel que soit le montant, soit la santé de l'ennemi Maintenant, je peux aussi en créer un nouveau. Appelons-le par exemple type ennemi. Le type d'ennemi auquel nous devons faire face . Nous pouvons simplement lui donner un nom, peu importe. Nous pouvons avoir de nombreuses variables. Nous pouvons avoir la santé de l'ennemi, le type d'ennemi, le nom de l'ennemi, l'animation inactive de l'ennemi, l'animation de mort de l'ennemi. Vous pouvez voir que nous pouvons avoir de nombreuses variables ici pour définir l'ennemi. Cependant, pour le garder plus propre, nous utilisons des structures. Au lieu de remplir tout cela avec des variables, passons en revue et essayons d' utiliser des structures. Permettez-moi de supprimer celui-ci. Et supprimez également celui-ci. Compilez, laissez-moi minimiser cela. Passons au dossier des plans. Cliquez avec le bouton droit de la souris et créez un nouveau dossier. Appelons celui-ci Structures. Passons ici, cliquez avec le bouton droit de la souris, passez au plan et vous verrez celui-ci appelé structure Allez-y et créez, je vais l' appeler ST ou structure. Appelons ça des informations sur les ennemis. Cette structure contient des données sur cet ennemi. Ouvrons-le. OK, nous voilà à l'intérieur d'une structure. La seule chose que nous faisons est simplement créer des variables à l'intérieur d'ici. Ici, dans les informations sur l'ennemi, nous pouvons spécifier le nom de l'ennemi, la santé de niveau auquel il apparaît, etc. Nous pouvons créer de nombreuses variables qui définissent cet ennemi ici. Au lieu d'avoir toutes les variables ici, nous pouvons les avoir ici à la place. Et c'est bien mieux de l'utiliser comme ça, c'est plus organisé maintenant. s'agit en fait simplement de ce qu'est une variable ou d'une structure et vous pouvez voir les valeurs par défaut ou les variables que vous avez créées. Vous pouvez les voir ici. C'est très simple. C'est toute la structure de données qui contient certaines variables que vous pouvez utiliser. Dans ce cas, nous définissons les données de l'ennemi, les informations sur l'ennemi. Passons à la leçon suivante et complétons les informations sur l'ennemi. 27. 4.07 Infos de niveau et structures d'informations ennemies: Très bien, donc pour les informations sur les ennemis, définissons quelques variables que nous utiliserons pour les ennemis. Le premier est le nom de l'ennemi. Pour celui-ci, je vais le mettre sur une chaîne. Maintenant, si vous ne connaissez pas la différence entre une chaîne et un texte, si vous sélectionnez une chaîne et que vous cliquez sur Enregistrer pour revenir aux valeurs par défaut, vous pouvez voir qu'une chaîne est essentiellement une ligne de texte. Nous pouvons donc écrire le nom de l'ennemi. Mais un texte est aussi une ligne de texte sur laquelle on peut écrire le nom de l'ennemi. Quelle est donc la différence ? La différence est qu'un texte est localisable et vous pouvez également voir que lorsque vous maintenez la souris dessus, il est indiqué qu'il s'agit d'une chaîne de texte localisable La localisation signifie que vous pouvez le traduire différentes langues si vous voulez dans différentes langues si vous voulez que votre jeu soit en allemand ou en chinois, japonais, russe, etc. Vous pouvez traduire votre jeu si vous avez votre dialogue ou le nom de votre personnage créé votre dialogue ou le nom de votre personnage à l'aide d'une variable de texte. Maintenant, si le nom du personnage est créé avec une variable de chaîne, il ne peut pas être traduit. Peut-être diriez-vous, pourquoi ne pas simplement utiliser du texte pour tout, car nous pouvons le traduire et tout ira bien. Cela est dû au fait qu'il utilise plus de mémoire qu'une chaîne. Nous utilisons une chaîne si vous n'avez pas vraiment besoin de localiser ce que vous faites Je n'ai pas besoin de traduire le nom du personnage. Je vais juste le garder sous forme de ficelle. Je ne veux pas non plus traduire mon jeu. Si vous souhaitez le traduire, par exemple, si le nom de votre personnage est Skeleton. Skeleton peut être traduit dans de nombreuses langues. Si vous souhaitez traduire cela, vous devez sélectionner du texte à la place. Gardez cela à l'esprit. Quoi que vous fassiez sous forme de texte, souhaitez-vous le traduire dans une autre langue ou souhaitez-vous conserver dans la même langue que celle dans laquelle vous codez ce jeu ? Je vais juste choisir une ficelle. Je ne veux rien traduire. Ce que nous voulons également ajouter, c'est la classe. La classe ennemie est la base P M. Alors allez-y, recherchez la base PPN M et sélectionnez la référence de classe Maintenant, si vous ne savez pas vraiment ce qu'est une référence de classe, c'est-à-dire si vous ouvrez le mode jeu, encore une fois, nous en avons tiré une référence à une classe d' acteur Vous pouvez le voir si vous passez votre souris dessus. C'est donc la référence de classe, nous en avons besoin pour définir la référence de classe des ennemis et intégrer ces informations ici. La prochaine chose dont nous avons besoin, c'est du type d'ennemi. À quel type d'ennemi avons-nous affaire ? Est-ce un ennemi normal ? Est-ce un boss ? Nous pouvons ajouter un mécanicien de bus au jeu. Au lieu d'avoir tout le monde comme ennemis normaux, nous pouvons aussi avoir un ennemi du bus. Créons un type d'ennemi. Maintenant, pour le type d'ennemi, je dois utiliser ce qu'on appelle un énumérateur, dont nous ne savons pas ce qu'est pour le moment Laissons les choses comme ça pour le moment, et je pourrai vous l'apprendre dans la prochaine leçon. Continuons. Pour l'instant, créons la santé de l'ennemi. Et celui-ci n'est qu'un char. Et encore une fois, un flottant est un nombre avec une décimale. Cliquons à nouveau sur le signe plus. Et nous voulons l'animation inactive. Animation inactive pour ce personnage. Il s'agit simplement d'un flip book. N'oubliez pas qu'un flip book est une version animée de ce personnage, choisit le flip book en papier. Créons-en un nouveau. Encore une fois, nous voulons l'animation à succès. C'est encore une fois un flip book. Ajoutons-en un nouveau. Nous voulons également l'animation de To The Death. Il s'agit d'un flip book. OK, ce sont toutes les données dont nous avons besoin pour l'ennemi. Et en fait, nous en avons terminé ici. Avant de terminer, passons également à l'autre structure appelée information de niveau. Si je vais dans la structure, je clique avec le bouton droit de la souris et je crée une nouvelle structure dans le plan d'une nouvelle structure Appelons cela Level Info. OK, ouvrons les informations de ce niveau. Maintenant, ce que je devais faire dans les informations sur les niveaux, c'est définir quel ennemi apparaît à quel niveau Ici, nous avons besoin d'un niveau qui n'est qu'un chiffre. C'est un entier, maintenant ce n'est pas un flottant, ce n'est pas un nombre décimal. Comme le niveau est le niveau un, le niveau deux, niveau trois, nous n'avons pas vraiment besoin d'une décimale ici Au lieu de cela, vous pouvez utiliser un entier qui est un nombre sans décimale, comme vous pouvez le voir ici Utilisez un entier comme niveau, puis créez-en un nouveau. Et il nous faut le nom de l'ennemi. Le nom de l'ennemi est à nouveau une chaîne. À quel niveau ou quel ennemi apparaît à quel niveau, nous devons écrire le niveau Par exemple, le niveau 1 est le niveau 2 est l'orcam, niveau 3 est le guerrier, et ainsi de suite Nous devrons définir cela plus tard. Nous avons maintenant la structure pour cela. Nous avons la structure des informations sur les niveaux. Nous avons la structure pour les informations sur l'ennemi. Dans la leçon suivante, nous allons apprendre quelque chose sur l' énumération afin de pouvoir en finir avec ce type d'ennemi ici 28. 4.08 Créer l'énum de type ennemi: Très bien, alors jetons un coup d'œil aux énumérations. Parce qu'ici, dans la structure. Donc, si je reviens aux structures et que je dévoile les informations sur l'ennemi, nous avons créé celui-ci appelé le type Enemy. Nous devons définir ce que c'est et créer une énumération Maintenant, nous pouvons simplement cliquer ici pour le type d'ennemi et créer une chaîne. Maintenant, à l'intérieur d'ici, nous pouvons définir si cet ennemi est un ennemi normal ou s'il est un ennemi dans le jeu. Je veux avoir des ennemis normaux et des boss. OK ? Au lieu de créer une chaîne et de l'écrire ici, il vaut mieux créer une énumération. Voyons ce que c'est. Passons aux Blueprints. Cliquez avec le bouton droit, créez un nouveau dossier, appelez-le Oms. Ouvrons-le ici. Cliquez avec le bouton droit sur Blueprints. Et vous avez ce qu'on appelle une énumération. Allez-y et cliquez dessus. Disons que c'est le type d'ennemi. Ouvrons-le. O L'énumération, très simple, est juste une liste de tout ce que vous voulez faire Il peut s'agir d'une liste de produits alimentaires, par exemple des tomates, des tomates, du cola, du ketch up, etc. Il peut s'agir d'une liste de tout ce qui ajoute un élément de liste et vous pouvez écrire n'importe quoi à l'intérieur d'ici. Il peut également s'agir d'une liste d' armes que vous fabriquez dans un jeu de tir à la première personne. Il peut s'agir d'un AK 47, d'un 41, un Deagle et tout ce que vous voulez faire pour une énumération n'est qu' une liste d'éléments Dans ce cas, je veux faire une liste de l'ennemi ou du type d'ennemi de nos ennemis. Nous avons des ennemis normaux Si je clique à nouveau ici et que nous avons des boss ennemis, vous pouvez également créer d'autres types si vous avez un jeu plus important, si vous avez déjà votre idée de jeu. Par exemple, vous pouvez avoir des ennemis légendaires, des boucles, des légendes. Vous pouvez également avoir des ennemis épiques, etc. Vous pouvez donc avoir plus d' ennemis, mais pour moi, je n'ai que des ennemis normaux et boss que nous pouvons sauver. Fermons maintenant cette liste. Maintenant, je peux le rechercher dans le type. Si je clique dessus pour le type d'ennemi, recherche le type d'ennemi, c'est mon énumération et je peux continuer, cliquer dessus et enregistrer. Maintenant, nous avons ce type d'ennemi, et si vous cliquez sur les valeurs par défaut, vous pouvez voir ici que c'est mieux qu'une chaîne car vous avez maintenant une liste dans laquelle vous pouvez sélectionner, ce qui est très cool. C'est beaucoup mieux que de le taper tout le temps. Nous pouvons maintenant le sélectionner dans la liste s'il s'agit d'un boss ou s'il s'agit d'un boss normal. D'accord, nous n'avons pas vraiment besoin de définir quoi que ce soit à l'intérieur, car pour chaque ennemi, ils auront tous leur propre ensemble d'informations. Pour tout cela, nous n'avons pas besoin de nous concentrer sur les valeurs par défaut pour le moment. Allez-y, sauvegardez tout. Et c'était tout pour les énumérations. Passons à la leçon suivante. 29. 4.09 Introduction aux tables de données: Très bien, avant de continuer, je voudrais vous présenter les tableaux de données. Maintenant que nous avons créé nos structures, nous devons également créer des tables de données. Si je vais dans le dossier des plans, je clique avec le bouton droit sur créer un nouveau dossier, et j'appelle celui-ci des tables de données Je clique ici, clic droit. À présent, les tableaux de données ne figurent plus dans les plans. Il se trouve en fait ici dans les articles divers et vous pouvez le trouver ici, dans le tableau de données. Vous cliquez dessus et vous sélectionnez la structure dont vous parlez. Je veux juste en créer un pour les informations sur mon ennemi, nous devons également en créer un pour les informations sur le niveau. Mais faisons-en un pour les informations sur l'ennemi. Pour l'instant, cliquez sur. OK, appelons-le, par exemple, DT my info data table. Mes informations. Et ouvrons-le. OK, alors qu'est-ce qu'une table de données ? Un tableau de données est celui qui définit réellement chaque ennemi. Par exemple, l'animation inactive, l'animation cliquée, etc. Nous avons donc créé une structure, mais chaque ennemi possède ses propres valeurs pour ces variables dans le tableau de données. Je peux cliquer sur D ici dans la rangée. Vous pouvez voir qu'il s'agit de la nouvelle ligne ici. Et vous pouvez même changer le nom de la ligne, par exemple, le nom de la ligne, vous pouvez simplement l'appeler un ou comme vous le souhaitez. Par exemple, pour le premier personnage, si je passe aux personnages actifs, le premier est la nuit. Ce que je peux faire, par exemple, c'est écrire « Sélectionnez le cours du soir » ici. Et je peux choisir le type d'ennemi qu'est la nuit. C'est un ennemi normal. Combien en a-t-il ? Disons qu'il a 100 points de vie. Maintenant, je dois sélectionner l' Edlin Imation pour cela. Je dois sélectionner l'animation Hid pour cela, et je dois également sélectionner l'animation de mort pour cela. Maintenant, j'ai toutes ces informations et je peux à nouveau cliquer sur le signe plus. Pour le prochain, je veux, par exemple, définir mon Or. Je peux écrire que ce type s'appelle Orc. Il s'agit de la classe BP Or. Par exemple, un boss a 500 points de vie et voici toutes les animations correspondantes, etc. Chaque ennemi a donc ses propres valeurs et vous pouvez les utiliser dès maintenant pour accélérer les choses. Au lieu de le faire dans le moteur, nous pouvons le faire dans Google Sheets. À l'intérieur d'une feuille Google, nous pouvons le faire beaucoup plus rapidement. Et des personnes qui ne sont pas développeurs de jeux peuvent également y travailler, par exemple des concepteurs de jeux. Passons à la leçon suivante et voyons comment nous pouvons le faire dans Google Sheets. 30. 4.10 Informations de niveau et tables de données d'informations d'ennemi: Très bien, allons-y et ouvrons Google dans Google, juste à l'intérieur de votre lecteur. Et vous pouvez le trouver ici dans Drive. Il suffit d'accéder à votre lecteur, cliquer avec le bouton droit de la souris n'importe où, de faire de nouveaux plis ou quoi que ce soit d'autre. Mais créez un Google Sheets ici et créez-en un. Je vais juste appeler ça une table éclairée ou autre. Tu peux l'appeler comme tu veux. OK, ici, j'aime cliquer sur Contrôle pour tout sélectionner. Il suffit de faire glisser les colonnes vers le bas pour avoir plus d'espace pour travailler et contrôler a. Sélectionnez tout et faites-en une autre police sur laquelle je peux cliquer ici, ligne horizontale, milieu, celle-ci et celle-ci. J'aimerais juste commencer par ceci sélectionner la partie supérieure et cliquer sur Gras. Je suis maintenant prêt à utiliser mon document. Maintenant, tout cela est facultatif. Tu n'as pas vraiment besoin de faire tout ça. Ce que je dois faire ici d'abord, c'est écrire un identifiant. Nous avons besoin d'un identifiant car dans Unreal Engine, vous devez avoir un identifiant Vous ne pouvez pas vraiment, c' est l'identifiant, le nom de Ron, vous ne pouvez pas vraiment utiliser cette feuille Google. Si tu n'as pas de pièce d'identité. Cela est nécessaire. Nous devons écrire toutes les variables de notre structure. Si je reviens en arrière et que j' ouvre les informations de mon ennemi, c'est ce que je dois écrire. Je dois écrire le nom, type d' ennemi. Revenons ici. Type d'ennemi, tu dois l'écrire spécifiquement comme ça. Tu ne peux pas l'écrire différemment. Vous devez l' écrire exactement comme vous l'avez écrit . À l'intérieur d'ici. Au ralenti, frappez-le. C'est une mauvaise santé inactive et la dernière est la mort. OK. Maintenant, nous l'avons. Nous pouvons maintenant définir les informations ici. La première que j'ai eue, c'est juste ce que j'ai pensé. Le premier que je veux écrire ici est le Or. Le second est le voleur. Maintenant, vous pouvez avoir ces ennemis dans l'ordre que vous voulez. Vous n'êtes pas obligé d'avoir la séquence comme moi, mais je veux qu' ils soient comme ça ou Sam, nous avons le Magicien. Ensuite, nous avons le squelette. Ensuite, nous avons le Skeleton, le Roe, Skeleton Warrior comme celui-ci et le Skeleton Mag. Ensuite, il y a le Roe and the Night. Nous avons 11 personnages qui sont tous ici. Vous n'êtes pas obligé de l'avoir dans le même ordre. Mais j'ai juste pensé que ce serait une séquence, peut-être pour l'identification. Je le copie-colle ici comme ça parce que ce n'est pas vraiment important. L'identifiant est simplement qu'il doit être là pour que cela fonctionne. Nous devons simplement copier-coller le nom de la classe. Nous devons définir ce qu'est la classe. Maintenant, comment obtenir cette classe de base ennemie ? Parce qu'il le faut, tu cliques dessus. Encore une fois, nous devons définir cette classe ici. Ce que vous pouvez faire, c'est utiliser cette table de données d'informations sur les ennemis à l'intérieur d'ici. Créez simplement une nouvelle ligne ici. Et ce que tu peux faire, c'est cliquer, le premier est l'Orc Pour moi, je peux sélectionner l'Orc, écrire, cliquer ici et écrire une copie. Ou cliquez sur Copier. Je peux maintenant ouvrir mon tableau de données et cliquer sur le contrôle V de mon clavier pour le coller. Et nous l'avons ici. Je vais juste l' agrandir un peu pour que vous puissiez voir comme ça. Maintenant, nous l'avons à l'intérieur. Maintenant, ce que tu peux faire, c'est que le suivant est le Or Roe. Je peux sélectionner à nouveau le rôle, cliquer avec le bouton droit sur copier ou ce que vous pouvez faire est raccourcir en maintenant la touche Maj enfoncée et cliquant avec le bouton droit de la souris pour la copier. Alors je peux le coller ici, juste comme ça. Ou ce que vous pouvez faire, c'est que vous pouvez également simplement copier celui-ci. Collez-le ici et modifiez-le. Ou à ou Shaman pour celui-ci, pensez également à changer ici ou Shaman, vous pouvez le faire dans les deux sens Maintenant, c'est beaucoup plus rapide pour moi simplement sélectionner Aria, par exemple, touche Shift enfoncée et de cliquer avec le bouton droit de la souris pour copier le contrôle V à coller ici. Et fais-le aussi pour le magicien, comme ceci et ainsi de suite. Je vais juste le faire pour ceux-là. Vous pouvez faire tout cela vous-même en vous entraînant. Maintenant, pour ce qui est du type d'ennemi, nous avons soit des ennemis normaux, soit des ennemis bus. Celui-ci est normal et je vais juste le copier-coller ici. Et je pense que le magicien peut créer un boss comme celui-ci. Ils peuvent sélectionner ceux qui sont des ennemis normaux et les boss leur donnent de la santé. Pour la santé, j' aimerais simplement écriture d'une formule soit égale, par exemple. Commençons par 100 pour celui-ci. En fait, il suffit d'écrire 100 pour celui-ci. Nous n'avons pas besoin de formule pour le premier, mais pour que le second soit égal à celui-ci , vous pouvez cliquer ici. Multiplié par 1,2 Il va le calculer automatiquement. Et je peux cliquer dessus et le faire glisser jusqu'au dernier. Je peux le sélectionner ici et cliquer sur ce bouton pour supprimer les décimales De cette façon, vous pouvez également augmenter votre santé. Vous pouvez le multiplier par 1,5 par exemple, vous pouvez le faire glisser vers le bas nous avons beaucoup plus de santé, juste comme ça. Par exemple, pour l' animation comme avant, pour la machine Adline, vous pouvez sélectionner la machine à contours ici Ou faisons-le plutôt ici, pour l'Adline Voyons voir, le premier était le, si je le ferme et que je le trouve, vous pouvez cliquer avec le bouton droit de la souris et copier la référence. Cette référence de copie, je reviens en arrière, je clique sur le contrôle V et je la colle ici. Pour ceux-ci, vous pouvez peut-être les agrandir un peu comme ça. C'est ici. Maintenant, pour revenir à l'animation du hit, je peux cliquer avec le bouton droit sur mon hit et copier la référence. Je peux le coller ici pour le décès, je peux cliquer avec le bouton droit de la souris pour copier la référence. Alors je peux le coller ici. Maintenant, je vais vous le montrer également ici. Et je ferai tout ça moi-même. Ici, Rogue, je peux cliquer sur Copier les références. Cliquez avec le bouton droit sur, appuyez sur un, collez-le ici. Et cliquez avec le bouton droit sur le Rogue. Copiez la référence et collez-la sur la dernière. C'est ainsi que vous ajoutez tout cela et encore une fois, ou que la classe passe dans la table de données et copiez la classe. Ou vous pouvez simplement remplacer cette partie par le nom du personnage et définir s' il s' agit d'un ennemi normal ou d'un boss. Très bien, j'ai donc terminé mon tableau de données. Toutes les informations sont ici, en bas. J'aime juste lui donner un nom. Appelons ça DT me info. Créons également un nouveau tableau de données. Je clique sur le signe plus bas sur les feuilles, et je crée un nouveau tableau de données. En fait, supprimons simplement celui-ci. Permettez-moi de le dupliquer pour ne pas avoir à le formater à nouveau avec la police, etc. Cliquez avec le bouton droit, celui-ci est dupliqué et voyons une information sur le niveau DT Pour cela, je vais tout supprimer, contrôler un clic sur Supprimer. Pour celui-ci, nous avons besoin de l'identifiant, nous avons également besoin du niveau. N'oubliez pas que vous pouvez toujours revenir à votre structure et ouvrir les informations du niveau. Nous avons besoin du niveau et du nom de l'ennemi. Nous l'ouvrons ici, il nous faut le niveau et le nom de l'ennemi. Je vais juste le réduire ici, n'ai pas besoin de tout cet espace. Et en le réduisant de cette façon également pour l'identifiant. Maintenant, je vais juste copier-coller les niveaux ici. Niveau 1234, nous avons 11 ennemis. Je vais juste cliquer dessus et le faire glisser vers le bas jusqu'au 11. Je vais juste le copier-coller ici pour le nom de l'ennemi. Nous pouvons essentiellement accéder aux informations sur l'ennemi, copier tout cela et les coller ici également. Nous devons trouver au niveau 1 la durée du niveau 2, le roll spawn Lorsque le E apparaît, nous devons trouver la santé du voleur, le type d'ennemi à abattre, l'animation d'Adle et toutes ces informations Ici, nous l'utilisons pour choisir quel ennemi faire apparaître à un niveau Lorsque l'ennemi apparaît, nous avons des informations sur cet ennemi que nous pouvons utiliser Allez-y, la sauvegarde automatique ne peut pas vraiment enregistrer ici. Allons-y et cliquons sur Télécharger. Et téléchargez-le sous forme de fichier CSV, téléchargez les informations sur les ennemis et accédez également aux informations sur les niveaux. Cliquez sur le fichier, téléchargez-le sous forme de fichier CSV. Maintenant, lorsque vous ouvrez votre dossier de téléchargements, ils sont là. Je vais les renommer, ça s'appelle uniquement T Level Info et renommer celui-ci T Enemy Avant cela, assurez-vous simplement qu'à l'intérieur du moteur, si je reviens en arrière et que je ferme tout cela, assurez-vous que les informations sur l'ennemi figurent dans les tables de données et qu'elles sont vides. Je vais supprimer celui-ci. Cliquez sur Enregistrer. Je dois également en créer un pour les informations sur les niveaux. Clic droit. Accédez au tableau de données diverses, sélectionnez les informations de niveau, cliquez sur OK et appelez-le Informations de niveau T. Je les ai, et ce que vous devez faire est cliquer et de faire glisser les deux ici et de les déposer, et l'importation devrait réussir. Maintenant, si vous avez créé une ère dans l'un des noms, par exemple, si vous avez créé une ère dans le nom de l'ennemi ici, par exemple, supposons que vous avez écrit le nom de l'ennemi sans E. Cela vous indiquera qu'il existe une ère dans votre table de données. Et ne vous inquiétez pas, vous pouvez simplement le corriger ici, le télécharger à nouveau et simplement cliquer et le faire glisser ici. Désormais, lorsque vous ouvrez le tableau des informations sur les ennemis, vous avez toutes les informations sur chaque personnage, son niveau de santé, le type d'ennemi et toutes ses animations. 31. 4.11 Introduction aux bibliothèques: Bien, nous avons maintenant terminé les tableaux de données. Et allons-y et jetons un coup d'œil aux bibliothèques. C'est la dernière étape avant de tout terminer et de faire apparaître l'ennemi Alors regardons maintenant et créons un nouveau dossier. Appelons cela des bibliothèques. Si je peux à nouveau épeler les bibliothèques comme ça, allons maintenant dans ce dossier. Cliquez avec le bouton droit de la souris et accédez à Blueprint. Et vous voyez celle-ci appelée de fonctions de plan et bibliothèque de macros de plan Nous travaillons maintenant avec des fonctions. Créons simplement une bibliothèque de fonctions de plan. Et je vais l'appeler bibliothèque de fonctions BP, parce que je n'en ai généralement qu' une dans mon jeu. Je vais donc simplement l'appeler bibliothèque de fonctions. Maintenant, ouvre-le dans cette bibliothèque. Vous pouvez voir qu'il s'agit essentiellement, comme son nom l'indique, d' une bibliothèque de fonctions. Vous pouvez donc créer de nombreuses fonctions à l'intérieur d'ici. L'avantage d'une bibliothèque de fonctions réside dans les fonctions que vous créez ici. Vous pouvez l'utiliser dans le monde entier sur les plans. Créons-en un pour le fun. Par exemple, appelons, par exemple, fonction get health test. Nous n'allons pas l'utiliser, mais si je clique sur Compiler. Maintenant, si je réduis cela au minimum et que j' ouvre un autre plan, par exemple, ouvrons le mode jeu À l'intérieur, je peux écrire, cliquer et dire Get Health. Ici, vous pouvez voir que cela provient de ma bibliothèque de fonctions. Nous n'avons pas besoin de créer des interfaces de plan ou autre. Nous pouvons simplement écrire, cliquer sur Get Health, nous pouvons utiliser cette fonction. Maintenant, vous pourriez être tenté de créer toutes vos fonctions ici. Parce que vous vous demandez peut-être pourquoi est-ce que je crée des interfaces de plan et que je les appelle Pourquoi ne pas simplement les créer dans une bibliothèque de fonctions ? C'est parce que le jeu va devenir plus lent. Comme je l'ai étudié, votre jeu sera plus lent si votre bibliothèque de fonctions est trop volumineuse Utilisez-le chaque fois que cela a du sens. Ne vous contentez pas d'ajouter des fonctions ici, car si elles sont trop volumineuses, votre jeu sera également un peu plus lent. Il suffit de l'utiliser chaque fois que cela a du sens. Ce que je fais habituellement, je l'utilise chaque fois que je crée des tableaux de données parce que j'ai besoin de l'utiliser dans de nombreux plans Peut-être que tu peux y penser comme ça. Lorsque vous avez une fonction que vous devez utiliser dans presque tous les plans. Par exemple, obtenir les informations sur les ennemis ici. Il est alors préférable de le créer dans une bibliothèque de fonctions afin de pouvoir y accéder facilement dans chaque plan Je l'utilise généralement chaque fois que je crée des structures et des tables de données, et j'ai besoin d'obtenir ces informations, je les crée dans des bibliothèques de fonctions. Allons-y et supprimons-le. Compilons et sauvegardons tout. Nous sommes maintenant prêts à passer à la leçon suivante. 32. 4.12 Créer les fonctions de bibliothèque: Allons-y et créons les bibliothèques de fonctions. Cliquons sur Ad et créons une fonction à l'intérieur d'ici. Le premier que nous allons créer est destiné aux informations sur l'ennemi. Pour celui-ci, je vais dire qu' avant de l'oublier à nouveau, laissez-moi simplement cliquer ici dans le débogage des outils , c'est-à-dire Reflector, make it On voit mieux comme ça à l'intérieur d'ici. Comme je vais l'appeler, je vais l'appeler obtenir des informations sur l'ennemi. Et je vais également en créer une nouvelle, nouvelle fonction appelée get level info. Nous avons besoin de ces deux-là. Commençons par le premier. Ce que nous devons faire, c'est cliquer avec le bouton droit de la souris et dire « obtenir une table ». Tu vois celui-ci en bas. Obtenir la ligne du tableau de données. C'est la fonction que nous essayons d'utiliser. Nous essayons d'obtenir une ligne de table de données à partir d'un nom donné ici afin de pouvoir utiliser les informations. Allons-y, créons-le et il sera beaucoup mieux de le comprendre une fois que nous aurons terminé. Voyons maintenant le tableau de données, nous parlons de celui-ci, dans ce cas, il s'agit des informations sur l'ennemi. Sélectionnons les informations NM pour ce nom de ligne. Maintenant, avant de le brancher ici, j'aime généralement cliquer avec le bouton droit de la souris et dire, ajoutons d'abord une chaîne ici. Ajout d'une entrée et d'une chaîne. Allez-y et faites-le. Ici, nous avons besoin d'une saisie du nom de l'ennemi. Parce que si vous revenez à votre table de données, celle-ci, voici les noms des ennemis. Nous avons besoin d'un nom d'ennemi. À partir de ce nom, il va extraire cette information, cette ligne ici. Repartons d'ici. Ce que j'aime faire avant de le brancher c'est utiliser la fonction de remplacement . Avec une fonction de remplacement, ce qu'elle fait est ici dans le formulaire, vous allez écrire un espace comme celui-ci. Vous avez un petit espace ici, comme vous pouvez le voir dans les deux. Tu ne fais rien. Vous n'avez qu'une place ici et vous n'avez rien ici. signifie qu'il prend ce nom ici si vous avez un espace, car comme vous pouvez le voir dans le nom de la ligne, vous ne pouvez pas avoir d'espace. Le moteur NAL n' acceptera pas que vous disposiez d'un espace dans le nom de la ligne. Et c'est ce que c'est. Il s'agit du nom de la ligne. Vous devez extraire des informations si vous lui donnez un nom d'ennemi et que le nom de l'ennemi comporte un espace plus tard, je vais vous montrer comment faire plus tard. S'il y a un espace, il ne va pas lire, il va se retourner. Ce que j'aime faire, c'est le nom de l'ennemi, j'aimerais supprimer l'espace avant de faire quoi que ce soit. Ensuite, je peux simplement le faire glisser ici et cela convertira cette chaîne en variable de nom. Nous pouvons le connecter, puis le faire glisser ici et dire return car nous avons besoin d' un nœud de retour pour cette fonction. Pour le nœud de retour, il produira ces données d'information sur l'ennemi. Appelons cela une information sur l'ennemi, et compilons. Et maintenant, nous en avons terminé avec celui-ci. Voilà à quoi ça ressemble. Nous obtenons le nom de l'ennemi, puis nous extrayons cette information. Par exemple, supposons que le nom de l'ennemi soit Skeleton Rogue , pour supprimer de l'espace, afin qu'il puisse lire à partir d'ici. Ensuite, il obtiendra toutes ces informations pour vous et les connectera ici pour que vous puissiez les utiliser. Faisons-le également pour les informations sur les niveaux. Maintenant, pour les informations sur les niveaux, vous pouvez le faire vous-même si vous souhaitez vous entraîner. Faisons-le ensemble si vous avez besoin de plus de pratique. OK, ici, faisons un clic droit obtenir une ligne de tableau juste pour les informations sur le niveau. Si vous revenez aux informations de niveau, les informations de niveau sont des chiffres. Nous avons besoin d'un nombre au lieu d'une chaîne. Ici, je vais dire « plus ». Et prenons un entier ici. Pour le nombre entier, disons un niveau. Allons-y et connectons-le. Maintenant, pour celui-ci, nous n'avons pas vraiment besoin de tout remplacer car ce n'est qu'un chiffre. Et nous pouvons simplement le glisser dans le nom. Maintenant, il ne le convertit pas automatiquement pour nous, c'est parce qu'il ne convertit que la chaîne. Faisons deux chaînes et sélectionnons-la. Ensuite, faites-le glisser et il convertira pour vous. Encore une fois, il créera un nœud de retour. Avant de faire quoi que ce soit, vous pouvez voir que c'est gris. C'est parce que nous n'avons rien sélectionné ici. Sélectionnons les informations relatives au niveau, et ajoutons-les ici. Et appelons-le « information de niveau ». Compilons et sauvegardons tout. Maintenant, si nous essayons de les utiliser en mode jeu, par exemple, supprimons get health. C'était un vieux livre pour les informations sur l'ennemi que nous pouvons écrire pour obtenir des informations sur l'ennemi. Et vous pouvez le voir ici. Nous avons maintenant cette fonction que nous pouvons utiliser et nous avons les informations sur l'ennemi. En gros, vous pouvez faire glisser le pointeur à partir d'ici et dire « break ». Vous divisez cette structure en plusieurs épingles, que vous pouvez voir ici. Ce sont toutes les variables que vous avez créées dans votre structure ici. Ce sont toutes les variables que vous avez créées maintenant, vous pouvez maintenant les utiliser. Vous pouvez avoir le nom de l'ennemi, sa classe, son type, état de santé, etc. Ici, en gros, vous obtenez des informations, vous n'avez pas besoin de ces épingles d'exécution. Comme vous pouvez le constater, certaines fonctions sont vertes. Ils ne sont pas bleus. Ils sont verts. C'est parce qu'ils obtiennent essentiellement des informations. Celui-ci est en train de transformer les acteurs. Il suffit de cliquer ici pour trouver l'Acta le plus proche Il ne s'agit pas vraiment de définir des informations, il s'agit simplement d'obtenir des informations pour vous. Lorsque vous obtenez des informations, vous n'avez pas besoin de ces épingles d'exécution. Revenons à la bibliothèque de fonctions. Cliquons sur les informations de l'ennemi, réglons celles-ci sur Pure. Cliquons également sur les informations du niveau, réglons-les sur Pure. Revenons maintenant en arrière, et vous pouvez voir ici que nous l'avons transformée en fonction verte. En fait, nous ne faisons que recueillir des informations. Nous obtenons les informations sur l'ennemi et il faut le nom de l'ennemi. Ensuite, lorsque nous inscrivons le nom de l'ennemi, par exemple, Skeleton Mage, comme vous pouvez le voir, j'écris un espace ici. Je peux juste l'écrire normalement, Skeleton Mage à l'intérieur d'ici. Cela supprimera automatiquement l'espace lorsque nous aurons ajouté un remplacement. Si vous l'écrivez comme ça sans espace, cela n'a pas vraiment d'importance. Il ne trouve aucun espace. Cela va juste continuer. C'est une préférence, mais j'aimerais écrire les noms entièrement comme ça normalement. Ensuite, vous pouvez écrire d'ici, écrire break, et maintenant vous avez les informations sur cet ennemi. C'est ainsi que vous l'utilisez. Il en va de même pour les informations de niveau. Si vous dites obtenir des informations sur le niveau, cela signifie que vous insérez un niveau, par exemple, niveau trois, vous cassez ces informations. Et maintenant, vous savez dès le niveau 3 quel ennemi va apparaître Parce que dans votre tableau de données au niveau 3, vous lui avez indiqué que l' auctoman devait apparaître Vous savez maintenant que l' auctoman doit apparaître. Et vous pouvez simplement le brancher ici, maintenant vous pouvez voir comment vous pouvez les connecter ensemble. Mais pour l'instant, supprimons-le. Compilons et passons à la leçon suivante. 33. 4.13 Ajouter les noms des ennemis: , nous devons maintenant ajouter les noms des ennemis, car nous avons besoin de ces noms pour extraire des informations de la table de données d'informations sur les ennemis contenue dans les bibliothèques que nous venons de créer ici. Mais nous devons inscrire les noms des ennemis, nous devons ajouter les noms de chaque ennemi. Pour ce faire, nous devons retourner chez les ennemis et ici, dans la base ennemie. Ouvrons-le. Ouvrez l' éditeur de plan complet à l'intérieur d'ici. Créons une variable nommée name par exemple, ou vous pouvez l'appeler enemy name. C'est très bien Je vais en faire une ficelle. Allez-y, compilez. Et n'oubliez pas que lorsque vous créez une variable à l'intérieur de la base ennemie, ce sont toutes des enfants de la base ennemie. Lorsque vous créez une variable à l'intérieur d'ici, elles seront également créées pour chacune d'entre elles. Ouvrons le premier. Ouvrez l'éditeur de plan complet et entrez les paramètres par défaut de la classe Voyons ici les valeurs par défaut des classes. Si nous faisons défiler la page vers le bas, vous pouvez voir la variable de nom que nous avons créée. Vous pouvez maintenant donner un nom à ce personnage. Par exemple, disons qu'il s'agit d'un soir. Ouvrons maintenant le suivant. C'est l'Orc. Au lieu d' ouvrir l'éditeur de plan complet, vous pouvez également le faire ici en vous montrant le panneau de détails Celui-ci est l'orc, le suivant est le voleur, le suivant est le chaman, et puis nous avons le guerrier Ensuite, il y a le sort de voyou. Correct. Maintenant, si vous l' orthographiez mal, il ne pourra pas extraire les informations de la table de données. Parfois, lorsque quelque chose ne fonctionne pas, il n'extrait pas d'informations Assurez-vous simplement d'avoir écrit ce nom correctement. Comme ce nom doit correspondre à ce que vous avez écrit ici, il va extraire ces informations d'ici. Encore une fois, comme je vous l'ai déjà dit, nous pouvons créer un espace parce que nous l'avons remplacé Peu importe si vous créez un espace, cela vous en retirera. C'est pourquoi j'ai ajouté le remplacement ici. C'est un mage squelette. Je reviens voir les ennemis et ouvre le suivant , Skeleton Rogue. Ensuite, nous avons le squelette comme celui-ci. Ensuite, il y a le magicien. Maintenant, nous les avons tous et allons cliquer sur Compiler pour chacun d'eux. Alors tu en as terminé ici. Maintenant, ils ont tous un nom. façon dont cela fonctionne maintenant, c' est qu'il va prendre le nom de l'ennemi. Par exemple, cet homme s'appelle un guerrier. C'est un guerrier, il va prendre le nom ici, un guerrier. Et il va prendre ces informations savoir quelles sont les informations dont dispose un guerrier. C'est pourquoi nous avons ajouté le nom. Nous allons l' utiliser. Fermons le tout et passons à la leçon suivante. 34. 4.14 Apparition de l'ennemi: Maintenant, allons-y et faisons apparaître l'ennemi. Revenons au mode de jeu. C'est là que nous nous sommes arrêtés la dernière fois. N'oubliez pas que nous avons obtenu la transformation de l' acteur pour le point d'apparition En gros, nous savons où faire apparaître l'ennemi. Maintenant, allons-y et disons-lui quel ennemi faire apparaître et à quel niveau Nous avons maintenant ces informations parce que nous avons créé les bibliothèques de fonctions à l'intérieur d'ici Cliquez avec le bouton droit de la souris et disons que nous avons besoin du niveau actuel et que nous ne l'avons pas en tant que variable. Je vais le créer en mode jeu parce que c'est le plus logique. N'oubliez pas que le mode de jeu contrôle les règles du jeu. Il connaît le niveau actuel. Créons une nouvelle variable. Il s'agit d'un entier parce que ce n'est qu'un nombre. Appelons cela le niveau actuel. Compilons car nous avons besoin de voir la valeur par défaut. Compilons pour la valeur par défaut. Nous commençons au niveau 1. Je vais passer au niveau 1. Mettons-le ici. OK. Ce avec quoi nous voulons travailler, c'est obtenir des informations sur l'ennemi, car nous avons besoin de la classe ennemie ici. Branchez T et dites « break ». Maintenant, pour le cours, nous pouvons le brancher ici. Si vous ne voulez pas voir toutes ces autres épingles, vous pouvez cliquer dessus et dire masquer les épingles non connectées Maintenant pour le nom de l'ennemi, souvenez-vous que nous avons l'autre fonction appelée get level info. De là, vous pouvez voir quel ennemi doit apparaître à quel niveau À partir de là encore, vous pouvez dire pause. Vous pouvez maintenant utiliser ce nom d'ennemi. Nous devons lui donner le niveau actuel. Maintenant, tout va bien. Nous pouvons cliquer ici, Masquer les épingles non connectées, puis le faire glisser vers le bas. Vous pouvez tous les sélectionner et appuyer sur Q sur votre clavier pour les redresser ainsi OK, mettons ça ici. Et mettez-le ici. Maintenant, ça va marcher. Comme vous pouvez le voir, nous avons le niveau actuel, nous obtenons les informations pour le niveau 1. Il va entrer dans le tableau de données, dans les informations sur les niveaux, regarder le niveau 1, puis il saura que c'est l'Orc qu'il va afficher et le nom de l'ennemi Et cela va être connecté aux informations de l'ennemi qui extraira ensuite des informations à partir des informations de l'ennemi Ou maintenant, nous avons toutes les informations sur l'Orc, y compris le dernier à apparaître Parce que souvenez-vous que dans la feuille Google, nous lui avons indiqué que la classe qu'il devait apparaître avec elle est BP Orc Cela va générer le plan BP Orc. Et nous voilà en train de faire naître l'ennemi. Maintenant, si je double-clique dessus, je vais accéder au contrôleur de joueur où nous avons créé cet événement. Cela va faire apparaître l'Orc, et il va également faire apparaître le Or au point d'apparition que nous avons créé Allons-y, compilons et sauvegardons tout. Cliquons sur Play. Et maintenant, vous pouvez voir que c' est le Ou, nous pouvons le tester. Si je clique sur le niveau actuel, je le change en niveau 3, par exemple. Au niveau trois, il devrait faire apparaître le chaman. Si je compile, que je clique dessus et que je joue, vous voyez que c'est le chaman qui apparaît Cela fonctionne correctement. Maintenant, pour le rendre un peu plus clair, nous pouvons prendre tout cela et je peux cliquer avec le bouton droit de la souris et me réduire à une fonction. Je vais juste en faire une fonction rendre plus propre. Appelons cet ennemi à apparaître ou au niveau actuel. Transformons-en une fonction pure, car n'oubliez pas que nous ne faisons que transmettre des informations à une fonction pure. Renommons, double-cliquons ici. Je vais le déplacer vers le bas comme ça. Maintenant, pour le premier, c'est l'ennemi. Nous cherchons donc quel ennemi faire apparaître. La seconde ici est la transformation du spawn, juste comme ça Compilons et sauvegardons tout. Maintenant, ici, c'est beaucoup plus propre et nous n'avons pas cette ligne ici. Tout se présente bien. OK, c'est comme ça que tu fais apparaître des ennemis. Cliquons sur le niveau actuel et rétablissons le niveau par défaut. Alors maintenant, cela fonctionne. Passons à la leçon suivante. 35. 5.01 Designing de l'interface utilisateur de nom d'ennemi: Maintenant que les ennemis apparaissent correctement sur la carte, passons à l' interface utilisateur Nous n'avons pas encore de dossier. Si je vais dans le dossier de contenu clique avec le bouton droit de la souris et que je crée un nouveau dossier, appelons celui-ci une interface utilisateur à l'intérieur de ce dossier. Cliquez avec le bouton droit de la souris pour accéder à l'interface utilisateur et créer un plan de widget Maintenant, allez-y et sélectionnez le widget utilisateur ici. Appelons cet ennemi un nom unique. Dans cette leçon, nous allons simplement faire du nom de l'ennemi une interface utilisateur très simple. C'est ici. À l'intérieur d'un plan large, vous avez la fenêtre d'affichage sur laquelle vous pouvez cliquer, cliquer droit de la souris, maintenir le bouton droit de la souris enfoncé et utiliser le stylo, presque comme Et ici, vous pouvez voir ce que vous avez ajouté aux éléments de votre interface utilisateur. Voici tous les éléments que vous pouvez ajouter. Encore une fois, vous avez un panneau de détails, comme ici, où vous cliquez sur des éléments, par exemple sur le texte, et il affichera les détails de l'élément contenu dans le plan d'un widget Vous avez le concepteur qui conçoit l'interface utilisateur. Et vous avez le graphique où vous programmez des choses sur l'interface utilisateur. Par exemple, que se passe-t-il lorsque vous appuyez sur le bouton ? Si je reviens au concepteur pour le moment, concevons simplement le texte. C'est juste le nom de l'ennemi, donc c'est juste un texte. Mais avant de concevoir, nous devons ajouter un canevas. Avant de faire quoi que ce soit dans l'interface utilisateur, dans Unreal Engine, vous devez ajouter un panneau de canevas Cliquez ici, glissez-le et déposez-le en haut d'ici Vous avez maintenant ce canevas. Nous pouvons maintenant y ajouter des éléments. Par exemple, dans ce cas, nous n'aurons besoin d' un texte que si vous recherchez simplement du texte. Ou vous pouvez aussi simplement aller ici, vous pouvez le trouver ici. Ce sont là les éléments les plus courants ici. Vous pouvez également simplement cliquer pour voir ce qu'il y a. Si vous le souhaitez, juste pour vous entraîner, vous pouvez toujours cliquer dessus et le faire glisser ici. Vous pouvez voir ce qu'il fait. Vous pouvez essayer de jouer avec certains paramètres, ça ne fait pas de mal. Lorsque vous aurez terminé votre entraînement, vous pouvez simplement cliquer ici et appuyer sur Supprimer sur votre clavier pour le supprimer. Nous avons le panneau en toile, ajoutons du texte dessus. Vous pouvez soit l'ajouter par-dessus ici, soit l' ajouter ici. C'est pareil. Je préfère généralement le glisser-déposer ici, mais cela n'a pas vraiment d' importance pour le moment. Pour ce texte, nous n'avons pas vraiment besoin de tout cet espace. Ce que je vais faire, c'est cliquer sur Remplir l'écran. Et puis j'ai souhaité qu' il ne fasse que remplir ce texte. Maintenant, vous pouvez voir qu'il est décentré. Vous pouvez voir que c'est parce que nous avons quelque chose appelé point d'ancrage ancré à ce coin. Et ce que cela signifie, le point d'ancrage, c'est que disons que c' est votre fenêtre de jeu, que vous jouez au jeu. Maintenant, lorsque vous redimensionnez la fenêtre de jeu, le texte ne restera pas ici. vouliez que le texte reste ici. Lorsque vous redimensionnez la fenêtre, le texte se déplace vers ce point d'ancrage Si vous avez l'intention que le texte reste ici sur votre écran, c'est que vous ne le faites pas correctement car il se déplacera lentement dans cette direction lorsque vous redimensionnerez l'écran Il est très important de définir correctement les points d'ancrage. Maintenant, pour ce point d'ancrage, je voulais juste le centrer sur le texte. Je vais appuyer sur le centre de mon écran. Il s'agit de votre écran. Je vais le centrer sur mon écran et écrire 00 à la position du x et du y. Maintenant, lorsque vous écrivez 00, le point d'ancrage s'enclenche dans le coin supérieur gauche Pour résoudre ce problème, vous pouvez jouer avec l'alignement. Ici, vous pouvez voir que 0,5 est le milieu et l'un est l'autre côté. C'est généralement 0-1 dans l'alignement. va de même pour le Y. 0,5 est au milieu et l'un est de l'autre côté, 0,5 et 0,5. Cela l' ajoutera au capteur Maintenant, vous pouvez voir mon texte, et c'est pour cela que j' aime qu'il soit. OK, cliquez sur Compiler et enregistrez le tout. Maintenant, allons-y et stylisons cela. Mais avant cela, lorsque vous concevez une interface utilisateur dans Neural Engine, vous devez vous assurer que votre apparence est belle sur les ordinateurs portables Elle s'affiche bien sur les moniteurs Noble, moniteurs 24 pouces, les moniteurs 27 pouces. Il doit également, par exemple, bien paraître sur mon écran 4K. Si vous ne le concevez pas bien sur mon moniteur 4K, cela pourrait ressembler à ceci. Et je vais passer un mauvais moment à jouer à ton jeu. Comment s'assurer que l'interface utilisateur reste bonne sur tous les écrans ? Pour ce faire cliquez ici sur la taille de l'écran. Je conçois généralement mes jeux pour un ordinateur portable 14 pouces générique. Allez-y, cliquez dessus, et voici à quoi cela ressemblera. Maintenant, faites attention au zoom vers le haut là où vous n'êtes pas zoomé, plus huit Si je fais un zoom arrière, maintenant tu peux voir que c'est aussi moins dix. Si vous zoomez simplement jusqu'à 11, voici à quoi cela ressemble réellement sur un ordinateur portable. À quoi cela ressemble-t-il sur mes quatre écrans ? Eh bien, si vous cliquez ici sur ce bouton de configuration, vous pouvez voir à quel point il évolue. heure actuelle, nous le concevons pour un ordinateur portable de 14 pouces, mais sur mon écran, sur un moniteur 4K, l' interface utilisateur sera multipliée par 3,8. Il sera multiplié par 3,8. Maintenant c'est trop. Réduisons-le simplement. Et je peux vous montrer que si je clique ici sur l'échelle huit, vous pouvez cliquer dessus et ensuite vous pouvez le réduire ici. Je trouve généralement que c'est bon sur mon écran 4K. Si je le règle sur 2,5, il s' adaptera bien à tous les écrans. Cela n'aura pas une mauvaise apparence sur mon écran, car pour un ordinateur portable ou pour mon moniteur 4K, il sera redimensionné 1,6 fois et il s'affichera bien sur mon écran. C'est ce que j'ai trouvé qui va bien paraître. D'habitude, trois c'est trop gros. D'après mon écran 4K, les États-Unis sont trop grands. 2,5 c'est vraiment bien. OK, maintenant il s'adapte correctement sur tous les écrans. Allons-y, compilons et sauvegardons. Maintenant, cliquons sur le texte ici. Et stylisons-le un peu, non ? La façon dont nous le stylisons est de sélectionner un fonds. Vous pouvez voir pour le moment que nous n'avons pas de fonds, nous avons le fonds normal et nous devons télécharger un fonds personnalisé pour le styliser Allons-y donc pour le moment dans la leçon suivante et stylisons ce texte Nous pouvons télécharger un fonds personnalisé et l'ajouter au véritable moteur. 36. 5.02 Ajout d'une police personnalisée: C'est bon. Donc, si vous allez sur Google et que vous recherchez des fonds Google, vous verrez ce site Web appelé Funds.Google.com et à l'intérieur, vous pouvez télécharger le fonds de votre choix Maintenant, vous pouvez également simplement rechercher des fonds et vous pouvez même télécharger des fonds gratuitement. Il existe également un site Web appelé The Fund, The Fund. Celui-ci est bon également. Il contient de nombreux fonds à partir desquels vous pouvez télécharger. Il existe également des payants. Maintenant, j'adore les fonds Google, ils proposent beaucoup de styles sympas. De là, j'en ai trouvé un appelé Playpen. Recherchez Playpen, et c' est celui que je veux utiliser. Maintenant, tu peux choisir le fonds que tu veux, il n'est pas nécessaire que ce soit le même que moi. Et vous pouvez toujours tester le fonds. Si vous écrivez quelque chose ici, par exemple, nous pouvons dire « Skeleton Mage » pour notre jeu. Et vous pouvez le réduire pour voir à quoi il ressemble s'il était comme ça, s'il était en gras, etc. J'aime donc ce fonds. Je vais cliquer sur Télécharger, et je vais l' ouvrir ici, le voici. Maintenant, pour ce fonds, je dois l'extraire. Je vais juste prendre ce dossier statique et l' extraire dans mon dossier de téléchargements. Et je vais aller dans mon dossier Téléchargements, en double-cliquant dessus. Celui-ci, celui que j'ai extrait ici, j' ai tous les fonds. Maintenant, je n'aurai plus besoin de la plus fine. D'habitude, ils sont trop fins à l'intérieur d' un moteur vulnérable pour les jeux que j'aime bien, passons peut-être aussi aux jeux classiques. Moyen, semi-gras, très gras, gras. C'est ça. Si je reviens à mon moteur, je minimise cela ici, et je le minimise également. Maintenant, minimisons cela. Ouvrons mon dossier. Maintenant, je peux importer tout cela dans le dossier de l'interface utilisateur. Je veux que vous créiez un nouveau dossier je vais l'appeler fonds. Si je peux épeler l'intérieur de ce dossier de fonds, je vais cliquer et faire glisser tout cela ici. N'oubliez pas que vous devez d'abord extraire les fonds. Avant de procéder comme nous l'avons fait, souhaitez-vous créer un nouvel actif de fonds ? Je vais juste dire s'appliquer à toutes les DS. Et nous l'avons ici. Il est très facile d'importer des fonds. Allez-y, sauvegardez tout. Maintenant, si vous revenez au nom de l'ennemi, nous cliquons dessus. Nous pouvons maintenant choisir ce fonds personnalisé pour cela. Maintenant, pour celui-ci, je pense que je vais utiliser celui-ci appelé Extra Bolt Like this ici. Cela me semble bon. Ici. Pour la justification, je vais le centrer. Je vais également cliquer sur ce texte ici. Je vais dire de la taille au contenu. Il va juste être dimensionné , quelle que soit la taille de ce texte. Je n'ai pas à m'inquiéter de la taille du X et Y. S. Vous devez le tester dans votre jeu Mais je pense que pour moi, je vais opter pour 28. Et pour la taille du devant, on peut aussi lui donner une couleur. Si vous cliquez ici dans la couleur et que vous opacifiez, c' est une couleur. Je vais juste lui donner une couleur légèrement rouge, quelque chose comme ça. Et en cliquant sur OK, je vais en donner un aperçu. Si je clique ici dans le plan, je peux en écrire un. Par exemple, vous pouvez voir qu'il y a un plan sur le texte. Je pense que je vais en choisir deux parce que vous ne pouvez presque pas les voir lorsque vous zoomez deux Je vais également changer la couleur pour qu'elle copie simplement la couleur de la première. En fait, ce que vous pouvez faire, maintenir la touche Maj enfoncée et cliquer avec le bouton droit de la souris pour copier la touche Maj et cliquer avec le bouton gauche pour la coller ici. Je vais juste y arriver à Daca et je pense que c'est une bonne chose pour moi. Maintenant, un effet très cool que vous pouvez créer dans Oral Engine se trouve dans le Shadow Offset. Si vous copiez la même couleur, donc je la copie, cliquez sur la couleur de l'ombre et je peux également la coller ici sur la couleur de l'ombre, ici dans le décalage. Je vais écrire zéro dans le X. Écrivons quelque chose comme trois dans le Y. Vous pouvez voir un effet très cool, vous avez le texte, puis vous avez un fond brun froid derrière Nous pouvons toujours le tester en jeu pour voir à quoi il ressemble. Parfois, j' attends de le concevoir avant de l'avoir dans le jeu pour que vous puissiez voir à quoi il ressemble dans le jeu. Mais pour le moment, je pense que c'est vraiment bien. Juste pour être sûr que le texte ne bloque rien dans le jeu. Vous devez descendre et définir la visibilité , pas appuyer sur testable Cela signifie que si vous essayez de cliquer avec votre souris sur quelque chose derrière le texte, cela fonctionnera. Si vous l'avez configuré pour être visible, le texte bloquera les clics de votre souris, et s'il y a quelque chose derrière le texte, vous ne pouvez pas cliquer dessus. Maintenant, nous avons empêché le blocage ici. Allez-y, cliquez sur Fichier et enregistrez tout. Et voici le nom de l'ennemi. Nous sommes maintenant prêts à l' ajouter dans la prochaine leçon. 37. 5.03 Ajout de l'interface utilisateur de nom d'ennemi: Maintenant, il faut ajouter le nom de l'ennemi. Passons aux plans. Et ouvrons les ennemis. Et nous devons l'ajouter dans la base ennemie. N'oubliez pas que la base ennemie est à l'origine de tous ces plans pour enfants Allons vers une base ennemie. Et si nous l'ajoutons ici, il sera ajouté à chacun d'entre eux. Je vais cliquer sur Ajouter aux composants. Et si vous recherchez un widget, le voici. Allez-y et ajoutez le widget à cet ennemi. Nous pouvons simplement l'appeler « ennemi ». Peut-être que je vais en fait l'appeler widgets de noms d' ennemis. Nous le savons donc. Et allons-y et sauvegardons tout. Maintenant, pour ce widget ennemi, allez dans la fenêtre d'affichage Et maintenant, nous devons également baisser légèrement pour qu'il soit inférieur à l'ennemi. Le nom est sous-estimé par l'ennemi. Maintenant, pour le widget ennemi dans le panneau des détails, je vais le configurer à l'écran. Le texte peut être du monde ou de l'écran. Je vais en fait vous montrer un exemple ici, Sophie, il suffit de cliquer sur la classe du widget et de sélectionner le widget que nous venons de créer, qui sera le nom de l'ennemi. C'est ici. Allez-y, compilez. En fait, je vais vous montrer à quoi ça ressemble. Juste pour que vous puissiez voir, si je mets le Roe, j'écris zéro dans le Y. Voici le nom de l'ennemi Vous pouvez voir si je regarde l'ennemi comme ça Nous ne pouvons pas voir le texte parce qu' il est affiché comme ça. Ce qui se passe lorsque vous cliquez sur l'écran, c'est que vous affichez simplement ce texte vers l'écran, comme ceci. Si je clique sur Play now, vous pouvez le voir s'afficher vers l'écran. Cela semble bon maintenant. Ouvrons-le. Cliquons à nouveau dessus. Je vais juste cliquer sur Dessiner la taille souhaitée. Et maintenant, nous sommes prêts avec celui-ci. Cliquons sur Compiler. Et tu peux le pousser encore plus loin comme ça. Vous pouvez toujours cliquer sur Play et voir de quoi il s'agit. Maintenant, je pense que pour le nom de l'ennemi, je vais peut-être le pousser à -22, juste un peu plus. C'est ici. air bien. Permettez-moi de supprimer celui-ci pour éviter que deux ennemis n'apparaissent. Maintenant, c'est le nom de l'ennemi que nous avons affiché, et tout va bien. 38. 5.04 Programmation de l'interface utilisateur d'informations ennemies: Bien, au lieu de n' avoir que le nom de l'ennemi, j'ai décidé d'ajouter également le niveau de l'ennemi. Ça aura l'air un peu plus cool. Ouvrons à nouveau l'ennemi, à l'intérieur d'ici. Passons à l'interface utilisateur, ouvrons le nom de l'ennemi. Je vais juste le renommer en informations sur l'ennemi à la place. Maintenant, à l'intérieur d'ici, si vous cliquez dessus, nous n'avons en fait rien à faire à l'intérieur car nous allons programmer le texte. Nous n'avons rien à changer ici. Mais maintenant, allons à la base ennemie. Au lieu d'utiliser le nom complet de l'ennemi. Je vais juste le renommer Info Widget. Et c'est parce que le nom et le niveau sont affichés. Décidé. OK, nous n'avons pas vraiment besoin de faire grand-chose ici. Mais ce que nous devons faire maintenant pour le programmer, c' est passer au graphique. Supprimons maintenant tous ces événements. Faisons un clic droit pour créer un événement personnalisé. Appelons celui-ci mettre à jour les informations sur l'ennemi I pour celui-ci. Maintenant, lorsque vous faites quelque chose dans le code, vous devez réfléchir à ce que vous essayez de faire. J'essaie de mettre à jour ce texte. Ce texte ici. En cliquant dessus, je dois lui attribuer sa variable, sinon je ne peux pas la voir comme une variable ici et je ne peux rien en faire. Je vais donc simplement appeler cette information de texte sur l'ennemi et la définir comme variable. Et puis passer au graphique. Maintenant je peux le voir, glisse-le dedans. Ce que nous essayons de faire, c'est de définir le texte, de définir le texte. Et vous pouvez sélectionner cette fonction appelée définir le texte. C'est ainsi que vous définissez un texte ici. Maintenant, c'est ce que tu essaies de faire. Nous essayons de définir ce texte comme le nom de l'ennemi. Maintenant, il est évident que nous n'avons pas le nom de l'ennemi ici. N'oubliez pas que nous avons le nom de l'ennemi. Dans la fonction de bibliothèque que nous avons créée, nous avons également besoin du niveau de l'ennemi. Maintenant, en ce qui concerne le niveau, nous l'avons dans le mode de jeu. Si vous allez sur Blueprint pour ouvrir le mode de jeu, n'oubliez pas que nous avons également le niveau actuel La meilleure pratique pour ce faire est mettre à jour le nom de l'ennemi chaque fois que celui-ci apparaît. Je pense qu'ici, dans la base ennemie, chaque fois que l'ennemi apparaît cette partie de début de partie commence. C'est bien d'ajouter ce code ici. Nous devons le faire, au lieu d' écrire le texte ici. Nous avons maintenant besoin de deux entrées. Dans cette fonction, nous avons besoin du nom de l'ennemi, et il s'agit d'une chaîne. Agrandissons-le un peu pour voir que c'est le nom de l'ennemi. Appelons cet ennemi un nom unique. Ensuite, nous avons besoin du niveau de l'ennemi regardant ici, en sélectionnant un entier. Et c'est le niveau de l'ennemi, tout comme le nom et le niveau de cet ennemi. Maintenant, pour le brancher ici, comme vous pouvez le voir, nous n' avons qu'un seul bloc de texte. Pour ajouter deux valeurs dynamiques dans un bloc de texte, vous devez utiliser ce que l' on appelle un format de texte. Cela vous permettra d' ajouter plusieurs entrées, ou plusieurs entrées dans le texte si vous faites glisser le pointeur ici et dites formater du texte comme celui-ci. Maintenant, la façon dont vous l'utilisez est de commencer par un crochet. Tout d'abord, il nous faut le nom de l'ennemi. Disons le nom de l'ennemi. Cela n'a pas besoin d'être précis. Tu peux écrire ce que tu veux ici. Fermons les crochets. Lorsque vous le faites et que vous appuyez sur Entrée, vous pouvez voir que vous avez ici un point d'entrée auquel vous pouvez le brancher comme ceci. Maintenant, nous avons également besoin du niveau de l'ennemi, manière dont nous voulons l'afficher. Par exemple, juste pour le visualiser, disons par exemple, Orc, nous avons une virgule et cela indique niveau 1 ou le niveau 12, quelque chose comme ça Ici, nous devons également le formater. C'est ainsi que nous avons ici le nom de l'ennemi. Ensuite, nous avons A. Ici, je vais aller à droite et niveler. Ensuite, nous avons le niveau. Je vais ouvrir à nouveau le crochet et indiquer le niveau de l'ennemi Et ferme-le à nouveau comme ça. Maintenant, je peux ajouter cette entrée elle s' affichera directement pour moi. Très bien, celui-ci, nous pouvons maintenant l' ajouter à la base ennemie. Si je compile et que je retourne à la base ennemie, supprimons tout cela pour le moment. Et pour ce faire, nous allons prendre le widget d'information sur l'ennemi. Vous devez d'abord écrire un widget, sélectionnez celui-ci appelé get user widget object. Ici, j'en coûte généralement, disons, deux. D'habitude, je n'utilise pas de plan de widget pour l'interface utilisateur parce que je pense que c'est trop cher pour créer un plan de widget pour chaque interface utilisateur, un plan de widget pour chaque interface utilisateur, il suffit de payer pour l'interface utilisateur qui se trouve à l'intérieur d'un ennemi Par exemple, pour l'interface utilisateur du menu principal, vous n'en coûterez pas deux. Le menu qui est indenté ici en tant que composant vous allez coûter pour que l'utilisateur passe deux ans Et nous l'avons appelé Enemy Info. Allez-y, sélectionnez-le ici, et connectons-le. OK, nous l'avons donc ici. Nous pouvons maintenant appeler la mise à jour des informations sur l'ennemi, mettre à jour l'interface utilisateur des informations sur l'ennemi. Maintenant, nous devons inscrire le nom de l'ennemi. Et n'oubliez pas que nous l'avons déjà ici. N'oubliez pas que nous cliquons sur chaque ennemi et que nous avons défini le nom de l'ennemi, tous ici. Et c'est à ce moment que nous l'utilisons. Maintenant, saisissons-le, branchons-le, c'est le nom de l'ennemi. Maintenant, pour le niveau des ennemis, nous l'avons comme niveau actuel dans le mode de jeu. Je ne me souviens pas que dans les interfaces, nous avons créé une interface pour le mode jeu, ce n'est pas le cas. Allons-y et créons l'interface Blueprint. Regardons ici, accédez à Blueprint et sélectionnez l'interface Blueprint Appelons celui-ci BPI. Maintenant, je vais simplement l'appeler mode jeu parce que nous n' avons qu'un dans le jeu. Ouvrons-le. Maintenant, à l'intérieur d'ici, appelons-le obtenir une référence au mode de jeu, car c'est ce que nous essayons de faire. Pour les sorties, vous devez sélectionner dans le type de variable quoi vous essayez de faire référence. Maintenant, j'essaie de faire référence à mon mode de jeu. Je vais chercher le GM Dungeon Clicker. C'est comme ça que je l'ai appelé, c'est mon mode de jeu. Et je vais sélectionner Object reference ici. Je vais juste l' appeler mode jeu. Allez-y, compilez, enregistrez tout. Et maintenant nous en avons fini avec l'intérieur. Fermons ça. Nous devons maintenant ajouter cette interface de plan au mode de jeu. Si je reviens aux plans, ouvre mon mode de jeu ici Passons aux paramètres des clauses dans les interfaces implémentées. Ajoutons l' interface Blueprint, le mode jeu. Lorsque vous effectuez cette opération, cette fonction apparaît. Double-cliquez dessus, rangeons partir d' ici et disons « soi ». Nous sommes en train de définir cette variable. Nous lui disons que cette variable du mode de jeu est self. Cela signifie que quel que soit le plan dans lequel nous nous trouvons actuellement, indiquer au moteur que cette variable du mode de jeu est GM, Dung OK, maintenant c'est fini. Fermons-le. Ouvrons à nouveau l' ennemi. Et poursuivons le travail. Au lieu de le faire d'abord, permettez-moi de tout déplacer ici. Déconnectons-le en maintenant la touche Alt enfoncée et en cliquant, en cliquant le bouton droit de la souris et en disant Obtenir le mode jeu. Maintenant, pour ce mode de jeu, nous avons le mode de jeu général, le mode de jeu par défaut et Unreal Engine Au lieu de dire le coût à GM, au lieu de le faire, nous pouvons maintenant dire, une référence au mode de jeu. Et nous pouvons utiliser la fonction d' interface Blueprint. Et vous le savez parce que cela indique un message à la fin. Vous savez que cela provient d' une interface de plan. Fermons le son. Allons le connecter maintenant. Maintenant, avec cela, nous pouvons cliquer avec le bouton droit de la souris et promouvoir dans notre variable et l'appeler mode jeu. Nous n'avons pas à refaire tout cela . C'est beaucoup plus propre. Maintenant, nous pouvons simplement utiliser la variable du mode de jeu. Connectons-le, assemblons le tout. Allons-y et utilisons-le. Nous pouvons donc maintenant utiliser le niveau actuel. Si vous revenez au mode jeu, si vous ne vous en souvenez pas, nous avons cette variable appelée niveau actuel. C'est ce que nous essayons d' utiliser ici en mode break game. Recherchez le niveau actuel et continuez et obtenez le niveau actuel. Et maintenant, vous pouvez le connecter et tout devrait fonctionner parfaitement. Ce qui se passe actuellement, c'est que nous recevons la mise à jour de l'interface utilisateur des informations sur l'ennemi. Nous saisissons ces informations, le nom et le niveau de l'ennemi Cela va être intégré à l'interface utilisateur ici. Je passe au graphique. Si vous le branchez ici, devriez l'afficher correctement. Si je clique sur Jouer, il est maintenant indiqué Orc niveau 1. C'est exact. Maintenant, si je reviens au mode jeu et que je change le niveau actuel à cinq, par exemple, et que je clique sur Jouer, cela indique Wizard niveau 5. Tout fonctionne parfaitement, d' accord. Tout fonctionne. Allons-y et économisons. Et passons à autre chose. 39. 5.05 Appliquer des dégâts à l'ennemi: Allons-y maintenant et infligeons des dégâts à l'ennemi. Maintenant, si nous cliquons sur Jouer, je veux infliger des dégâts à chaque fois que je clique sur cet orc dégâts à chaque fois que je Et d'ailleurs, n'oubliez pas de passer en mode jeu et de remettre le niveau actuel à un par défaut, car nous l'avons réglé à cinq la dernière fois que nous l'avons remis à un. Maintenant, ce que je veux faire d'abord c'est que vous puissiez voir notre souris disparaître. Chaque fois que je clique dans le jeu, ma souris disparaît. Passons donc à la manette du joueur. Et à l'intérieur d'ici, dans les paramètres par défaut de la classe, cliquons sur Afficher la souris Ursa Compilons ceci. Ouvrons la base ennemie. Avant de faire quoi que ce soit, passons au réflecteur du widget Fuel Debug, make it 1.25. Vous pouvez donc voir ici que ce que je veux que vous fassiez, c'est pour le composant capsule, c'est celui avec lequel nous allons interagir chaque fois que nous cliquons dessus Ce que nous voulons faire, c'est passer au composant de la capsule. Et voici quelques événements que vous pouvez utiliser. Ce que je veux que vous utilisiez, c'est celui-ci appelé clic, parce que nous allons cliquer sur l'ennemi qui n'a pas cliqué Allez-y, sélectionnez-le. Et voici ce que je veux que vous fassiez, faites également glisser et dites « imprimer la chaîne ». La chaîne d'impression est très puissante. Cela imprime simplement une chaîne à l'écran, imprime un message à l'écran. Par exemple, cela peut dire « a fonctionné ». Et ce pour quoi je l'utilise, c'est pour déboguer mon code, je veux voir si mon événement fonctionne réellement Encore une fois, c'est super puissant. C'est ainsi que je débugue mon code. Si j'ai une erreur, par exemple, disons que quelque chose ne fonctionnait pas ici quelque part, je la prendrais et je la collerais ici, par exemple. Je le mettrais ici à côté , ou entre les deux. S'il s'imprime, cela signifie que cette partie fonctionne, alors je l'imprimerais ici pour voir si cette partie fonctionne et ainsi de suite. Continuez à imprimer des messages à l'écran et c'est ainsi que vous pourrez déboguer efficacement En bas, en un clic, voyons si cela fonctionne. Si je clique sur jouer et que je clique sur l'orc, rien ne s' imprime vraiment à l'écran Cela signifie que cet événement ne fonctionne pas vraiment. Quelque chose ne va pas. En effet, dans le composant de la capsule, vérifions les paramètres de collision ici. Nous l'avons réglé sur « Aucune collision ». Bien sûr, ça ne marchera pas chaque fois que je clique dessus car ce type n'a aucune collision. Lorsque la collision est prédéfinie au lieu d'aucune collision, cliquons dessus et disons que l' personnalisée est activée pour la collision Je vais le configurer pour n' interroger que maintenant la physique. Chaque fois qu'un personnage marche sur le sol et qu'il y a de la physique, il ne tombe pas par terre et ainsi de suite. Nous n'avons pas vraiment besoin de requêtes physiques. Par exemple, votre souris interagit avec la requête ennemie activée. Nous n'avons pas besoin de physique. En ce qui concerne les canaux de réponse, ignorez tout. Nous ne voulons pas interagir avec des objets statiques, des pions, des véhicules d'autres mondes , etc. La seule chose que nous voulons conserver , c'est la visibilité. La visibilité, c'est votre souris, c'est avec celle-ci que nous voulons interagir. Maintenant, si vous cliquez sur jouer, nous cliquons ici, vous voyez que rien ne se passe. Quelque chose ne va toujours pas. Maintenant, ouvrons à nouveau la manette de jeu. Et vous pouvez voir ici les événements d'activation des clics. Tu dois le prendre aussi. Compilez, cliquez sur Play, et maintenant vous pouvez cliquer dessus. Vous voyez maintenant que notre message est imprimé sur le. Maintenant, cela fonctionne à nouveau. Vous pouvez tester la boîte de frappe dépend de la taille Notre capsule dépend de la taille de votre sphère de collision. Vous pouvez voir que lorsque je clique ici, cela fonctionne également. Je pense que c'est une bonne zone de frappe, mais si vous voulez corriger votre zone de frappe, vous pouvez toujours vous rendre dans la base ennemie, cliquer sur le composant capsule, et vous pouvez augmenter diminuer la demi-hauteur et le rayon de celle-ci, en fonction de la taille que vous souhaitez donner au cercle. Ce que nous voulons faire, c'est infliger des dégâts. Allons ici et disons « Appliquer les dégâts ». Il existe une fonction permettant de continuer et sélectionner Applied Damage pour l'acte endommagé. Pour nous faire du mal, nous voulons infliger des dégâts à cette base ennemie, quel que soit l'ennemi sur lequel nous nous dirigeons. Quels sont les dégâts que nous voulons infliger ? Nous pouvons simplement ajouter un dommage statique que nous pourrons améliorer plus tard dans la boutique. En ce qui concerne les dégâts, je veux en fait les ajouter au joueur. C'est ce qu'il y a de plus logique. Si je passe aux plans, je vais au joueur ici Ajoutons une nouvelle variable appelée damage. Transformons cela en une compilation flottante. Réglons-le simplement sur 15 par défaut, nous pourrons le modifier plus tard. Compiler. Si je retourne à la base ennemie, nous avons maintenant besoin d'une référence au joueur. Regardez ici, si nous avons une interface, nous n'avons pas d'interface de plan Si vous voulez vous lancer à nouveau des défis avec les interfaces du plan, créez-en une pour le joueur Mais maintenant, faisons-le ensemble. Faisons un clic droit, passons au plan, à l'interface du plan. Appelez cela une couche PPI. Ouvrons-le ici. Disons obtenir une référence de couche. Maintenant, ici, peu importe ce à quoi nous faisons référence, nous essayons de faire référence à BP Player. Cherchons cela. Allez-y, sélectionnez-le. Appelons-le Player. Maintenant compilons. N'oubliez pas de compiler maintenant revenons au lecteur et ajoutons cette interface de plan dans les paramètres du cloud ici, recherchez BPI, ajoutez le lecteur, compilez Ouvrons-le et faisons-en une référence personnelle. Comme précédemment, nous définissons que ce type de variable est ce joueur. Maintenant que c'est fait, retournons à la base ennemie ici. Faisons-le après le mode jeu. Si je frappe ici, permettez-moi de cliquer avec le bouton droit de la souris et de dire « Obtenir le personnage du joueur ». Allez-y, sélectionnez, puis frappons à partir d'ici et disons « get Play Reference ». Sélectionnez cette option, allez-y et connectez-vous. Faisons un clic droit, faisons la promotion de ce jeu et appelons-le Player. Je vais juste l' appeler Play Upon. Connectons-nous ici. Il suffit de le faire glisser. Maintenant que cette référence est prête nous pouvons utiliser la variable s à partir de celle-ci. Allons-y et utilisons les dégâts causés par le curseur ici. Commençons le jeu, recherchons dommages causés par le curseur, sélectionnons-le, puis connectons-le ici. Juste comme ça. Maintenant, nous n'avons rien à faire avec ceux-ci pour voir si cela fonctionne et nous l'utiliserons plus tard. Mais ce que vous pouvez faire, c'est écrire, cliquer et rechercher les dégâts éventuels. Nous allons l'utiliser plus tard. Vous pouvez imprimer une chaîne à partir d'ici. Vous pouvez simplement imprimer le montant des dégâts que nous causons. Allons, cliquons. Et quand je clique, vous pouvez voir que j' inflige 15 dégâts et que tout fonctionne comme prévu. Allons-y et supprimons-le pour le moment. Supprimons cela en fait. Nous pouvons le faire dans une autre leçon. Compilons, sauvegardons tout et passons à autre chose. 40. 5.06 Détermination de la santé: Passons maintenant à l'éventualité d'un dommage quelconque. Si vous cliquez ici avec le bouton droit de la souris dans la base ennemie, vous recherchez des dégâts. Utilisons celui-ci. Cela est utilisé chaque fois que vous infligez des dégâts, que vous allez ici, que vous calculez les dégâts, puis que vous appliquez les dégâts que vous avez causés. Laissez-nous le faire. Créons une nouvelle variable. Nous en avons besoin d'un qui s'appelle Current Health. Maintenant, pour celui-ci, transformons-le en float. Compilons. Maintenant, pour cette santé actuelle, nous avons besoin de santé. Parce que nous ne pouvons pas vraiment commencer par zéro. L'ennemi n'a pas zéro, faut donc le placer quelque part. N'oubliez pas que dans les tableaux de données que nous avons créés dans les informations sur les ennemis, nous avons ajouté de la santé aux ennemis. Allons-y, utilisons-le et définissons-le par défaut chaque fois qu'ils apparaissent La meilleure façon de le faire est d'utiliser le jeu Begin chaque fois que l'ennemi apparaît. Prenons cet état de santé actuel et définissons-le. Maintenez la touche Alt enfoncée et faites glisser le pointeur pour le définir. Réglons-le comme indiqué dans le tableau de données. Faisons un clic droit. N'oubliez pas que nous avons créé une fonction de bibliothèque appelée get Enemy info. Il lui faut maintenant le nom de l'ennemi. Et c'est ce que nous avons. N'oubliez pas que nous sommes à l'intérieur de la base ennemie et que nous avons le nom ici. Faisons-le glisser et branchons-le. Faisons grève d' ici et disons pause. Lorsque nous cassons, nous pouvons voir toutes les variables de cette fonction d'information ennemie. Maintenant, réglons-le simplement sur l'état de santé ici. Nous commençons par la santé que nous avons écrite ici. Retournons à la base ennemie. Cliquez ici, masquez les épingles non connectées pour le rendre plus propre Et laissez-nous le connecter. Maintenant, cela fonctionne ici. Nous avons maintenant correctement défini l' état de santé actuel. Chaque fois que nous faisons des dégâts, je veux que vous preniez la santé actuelle, disons que la santé actuelle est de 100. Pour le premier, nous allons dire 100 moins. Si vous écrivez simplement moins ou soustrayez, soustrayant les dégâts que nous avons causés, cela donnerait 100 -15, ce qui est égal à ce que cela représente Nous devons le reprendre et le remettre ici. Il est mis à jour maintenant, nous disons que 100 -15 font 85. 85 vont être là. Maintenant, juste pour être sûr de ne pas descendre en dessous de zéro. Parce que vous pouvez imaginer que si je continue à infliger des dégâts qu'ils atteignent zéro et que je recommence à infliger des dégâts, cela donnera zéro, -15 soit -15. Au lieu de passer à moins de points de vie, nous utilisons ce que l'on appelle une pince Si vous faites glisser le pointeur et que vous dites clamp, sélectionnez celui appelé clamp float, car nous travaillons avec des flotteurs. Flotteur à pince. Ce qu'est une pince, c'est essentiellement vous bloquez la valeur, sorte qu'elle ne puisse jamais descendre en dessous de zéro et qu'elle ne puisse jamais dépasser une valeur que vous ajoutez ici. Je vais juste y ajouter cette santé actuelle parce que nous ne soignons pas vraiment le joueur. Je vais le trouver entre ce que c'est actuellement et nous ne pouvons pas descendre en dessous de zéro. Je vais le brancher comme ça. Allons-y et connectons-le ici. Maintenant que c'est terminé, vous pouvez double-cliquer dessus pour le rendre plus beau. Allez-y et faites-le. Utilisons à nouveau une chaîne d'impression et voyons si nous le faisons correctement. Si je compile, clique sur jouer et je fais des dégâts. Donc maintenant c'est 85, puis c'est 70, 505-402-0510, puis Et vous pouvez voir que chaque fois que je clique, il ne peut pas être inférieur à zéro. Maintenant, nous le calculons correctement. 41. 5.07 Designing de la barre de santé: Pour concevoir la barre de santé, passons au dossier de l'interface utilisateur. Écrivons. Cliquez maintenant, passons à l'interface utilisateur et créons un widget, un plan Encore une fois, un widget utilisateur. Appelons cela une barre de santé WB. Allons à l'intérieur d'ici. Encore une fois, exactement ce que j'ai déjà dit, la taille de l'écran. Cliquons ici. Réglez-le sur un ordinateur portable générique que nous avons conçu pour tous les écrans. Créons ce panneau en toile. N'oubliez pas que nous devons toujours ajouter un canevas. Maintenant, pour la barre de santé, j'ai inclus quelque chose pour toi. Nous ne l'avons pas encore importé. Passons donc aux matériaux de coûts ici dans les documents de coûts, je veux que vous reveniez à l'interface utilisateur. Vous avez peut-être beaucoup plus d' interface utilisateur que celle que j'ai actuellement. C'est parce que je continue d'y ajouter des éléments chaque fois que je développe ce cours. Prenons maintenant celui-ci et celui-ci. C'est ce dont nous avons besoin jusqu'à présent. Ici, laissez-moi cliquer avec le bouton droit de la souris, créer un nouveau dossier, appelez-le images. Ouvrons-le. Maintenant, ouvrons à nouveau les documents de coûts , faisons-les glisser dans ce dossier. Et maintenant, ils sont téléchargés. Maintenant, c'est trop difficile, donc je ne veux pas que ce soit flou. N'oubliez pas que vous pouvez simplement sélectionner les deux. Cliquez avec le bouton droit de la souris, accédez à Spot Actions et appliquez du papier aux paramètres. Maintenant, ce n'est plus flou, ça a l'air bien. Revenons à la barre de santé. Et à l'intérieur d'ici, cherchons le moment présent. Je veux que le texte soit en haut, puis je veux que la barre de santé soit en dessous. Nous avons besoin d'une boîte verticale pour cela. Prenez une boîte verticale. À l'intérieur de la boîte verticale, j'ai besoin d'un texte. Je vais en fait copier le texte que nous avons créé ici. Je pense que ça a l'air bien. Et nous pouvons simplement changer la couleur. Cliquez sur le champ de texte C pour le copier ici. Cliquez sur la case de contrôle verticale V. Passons maintenant à la barre de santé, il suffit rechercher la barre de progression et voici ce que c'est. Faites-le glisser dans le cadre vertical. Maintenant, pour le cadre vertical, redimensionnons-le afin que nous puissions réellement voir ce qui se passe Maintenant, au lieu de le faire remplir tout l'écran, nous voulons exactement les mêmes informations sur l'ennemi, quelle que soit sa taille. Parce que nous allons juste l'utiliser dans le jeu ici. Nous n'en avons pas besoin pour tout remplir à nouveau. Cliquez sur Remplir l'écran. Ici, comme vous le souhaitez à l'écran. Au lieu que le point d'ancrage se trouve ici, déplacons-le au milieu de l'écran. Modifions l'alignement de la boîte verticale à 0,5 x 0,5 et la position à zéro par zéro. Maintenant, c'est au milieu. OK, ça a l'air bien. Maintenant, pour cette barre de progression, je vais cliquer dessus. Et pour le style, changeons l'image de fond. L'image de fond est cette barre de progression. L'image de fond et l'image de marque sont toutes deux le projet de loi que nous avons, celui-ci et celui-ci Et cliquons sur Compiler. Et on voit que ça n'a pas l' air très beau quand on le regarde. Et c'est parce qu'ici, je crois que c'est le chapiteau J'oublie toujours la taille de l'image de marque en Y. Nous pouvons la modifier. Et maintenant, vous pouvez voir que cela est en train de changer. Nous pouvons modifier la taille que nous voulons. Pour celui-ci, je pense que je vais juste en faire 45. Vous pouvez également le redimensionner ici dans le X et y dans le X. Vous pouvez également le redimensionner. Maintenant, nous ne voyons pas vraiment de différence car cette boîte verticale la bloque. Parce que nous pouvons l'étendre ici. Mais je vais l'adapter ici à la taille au contenu. Je vais cliquer dessus. Je vais redimensionner le cadre vertical en fonction de la taille du contenu. Maintenant, pour cette barre, je vais réduire la taille à environ 250. Nous pourrons toujours l'agrandir plus tard, mais il a l'air bien maintenant. Voyons maintenant si ce remplissage fonctionne. Redescendons et vous verrez ce pourcentage. Vous pouvez cliquer et faire glisser le pointeur pour le renseigner en pourcentage. Mais vous pouvez voir que la couleur n'est pas correcte. Il est en bas dans la couleur de fond. Au lieu d'être bleu, je vais juste le régler pour qu'il soit blanc. Et allez-y, cliquez. OK. Maintenant tu vois que ça a l'air bien. OK, maintenant nous l'avons conçu. Changeons la couleur du nom ici ou pas le nom, il s'agit essentiellement du montant de santé pour le montant de santé. Modifions-le pour peut-être une couleur plus rouge. J'ai choisi cette couleur ici. Je pense que ça a l'air bien. Maintenant, copions-le. En gros, maintenez simplement Shift, cliquez avec le bouton droit de la souris, Shift, cliquez avec le bouton gauche sur celui-ci et celui-ci. Au lieu d'être de cette couleur, faisons-en simplement Daka Je trouve que cette couleur est belle comme contour. Laisse-moi juste le copier. Allez ici et collez-le dans la couleur linéaire hexadécimale Cliquez. OK, je pense que cette couleur est bonne pour la santé. Maintenant que nous en avons terminé, vous pouvez lui donner un peu d'espace. Vous pouvez voir que c'est trop près, peut-être de la barre de santé. Vous pouvez cliquer ici, vous pouvez accéder au rembourrage en haut en bas Nous pouvons lui donner un rembourrage de six. C'est un peu éloigné de la barre de santé, maintenant ça a l'air bien. Encore une fois, je vais cliquer sur la barre de santé et sur le texte, et modifier la visibilité pour qu'elle ne soit pas testable Nous ne pouvons donc pas interagir avec elle, avec la souris. Ils ne bloquent pas la souris dans le jeu. Je vais frapper. OK. Maintenant que c'est terminé, allons-y et passons à la leçon suivante. 42. 5.08 Ajout de la barre de santé: Pour ajouter la barre de santé. Passons à Blueprints et démasquons l'ennemi. Encore une fois, passons au point de vue. Cliquons sur, il suffit de cliquer ici. Accédez à Composants. Recherchez à nouveau Widget, comme nous l'avons fait avec le nom. C'est le même concept. Vous pouvez essayer de le faire vous-même pour vous entraîner. Allons-y et cliquons sur Widgets. Ici, nous pouvons simplement dire Health Bar. Maintenant, cliquez sur, je vais juste dire widget de santé. Peut-être des widgets de santé. Parce que si vous continuez à coder sur le jeu et qu'il devient un jeu très volumineux, il est toujours agréable d'avoir des noms très descriptifs pour ne pas créer trop de confusion. Cliquez sur le widget Health par. Modifions l' espace de l'écran. Il affiche toujours l'interface utilisateur à l'écran. Remplaçons la clause en cochant la barre de santé. Celui-ci s'appelle Draw a Desired Size. Bien, cliquons sur Play et voyons à quoi cela ressemble. Et c'est ici. Supprimons-le sous le nom. Cliquez dessus, Wrike. Retire-le un peu ici. Cliquez sur jouer. Et réduisons-le encore plus. Cliquez sur jouer. C' est peut-être trop. Au lieu de -40, disons moins 37. Cliquez sur jouer. Je pense que ça a l'air bien. Peut-être moins 36, maintenant c'est trop de trouble obsessionnel-compulsif. Cliquez sur jouer. Ça a l' air beaucoup mieux. Peut-être que c'est ce que nous pouvons choisir. Comme vous pouvez le constater, nous devons encore mettre à jour la barre de santé, la fois le texte et la barre de santé ici. C'est ce que nous allons faire dans la prochaine leçon. 43. 5.09 Mise à jour de la barre de santé: Bien, pour mettre à jour la barre de santé, passons d'abord à l'interface utilisateur. Et ouvrons la barre de santé. À l'intérieur d'ici, cliquons d'abord sur le texte. Pour celui-ci, au lieu de texter des informations sur l'ennemi, on parle de santé du texte. La deuxième, la barre de progression, je vais l'appeler barre de progression. Appelons-le aussi make it variable afin que nous puissions le faire. Passons maintenant au graphique. Supprimons tout cela. Écrivons cliquons et créons un nouvel événement personnalisé. Appelons cela une mise à jour. Maintenant, pour ce que nous essayons de faire, encore une fois, chaque fois que vous programmez, pensez simplement à ce que vous essayez de faire en ce moment ? J'essaie de mettre à jour cette barre de santé. OK. Comment mettre à jour cette barre de santé ? La façon dont nous le mettons à jour est que vous essayez de modifier ce pourcentage, vous essayez de le changer. Il y a toujours une bonne action pour simplement analyser ce que vous essayez de faire pour ce pourcentage. Passons au graphique et prenons cette barre de progression. Si vous ne savez pas comment cela s'appelle, essayez simplement de rechercher le pourcentage. Vous pouvez déjà le voir ici, vous pouvez l'utiliser dans la fonction de définition du pourcentage. Allons-y et connectons ce pourcentage défini. Tu dois jeter un œil ici. Le pourcentage n'est pas de 0-100 0-1. Nous devons en fait faire une certaine division ici Parce qu'ici, dans la mise à jour de santé, celui-ci sera appelé dans la base ennemie à tout moment. N'oubliez pas qu'ici, nous calculons l'état de santé après avoir causé des dégâts . À partir de là, nous pouvons appeler cette mise à jour de l'interface utilisateur de santé. Ici, nous pouvons avoir un lien avec l'état de santé actuel. Je vais cliquer ici, créer une nouvelle variable, juste normale ici, pour que nous puissions voir, faire un flottant, l'appeler santé actuelle. Maintenant, comment diviser cela si vous n'êtes pas trop fort en maths ? Par exemple, disons que la santé est égale à 100 divisé par, nous pouvons donc faire ce signe ou diviser à droite. Nous allons le diviser par un nombre qui correspond à la santé maximale. Parce que par exemple, vous pouvez dire, disons que j'inflige des dégâts à cet ennemi et que l' ennemi a 100 points de vie. À l'heure actuelle, les dégâts du curseur sont de 15, il est indiqué de 100 à 15, c'est 85 Ensuite, vous pouvez dire 85/100 et vous obtiendrez le pourcentage. Si vous n'êtes pas très doué en mathématiques, vous pouvez toujours utiliser votre navigateur. Vous pouvez dire, disons que nous avons 85/100 Enter. Et puis vous pouvez voir qu'il s'affiche correctement. OK ? C'est donc ainsi que nous voulons procéder, car le maximum est de 100, soit un. Ce pourcentage va de 0 à 1 Disons que la santé actuelle est divisée par la santé actuelle maximale divisée par la santé maximale. C'est le pourcentage, maintenant ça va être correct. Compilons maintenant. Passons à la base NM et essayons d'utiliser celle-ci. N'oubliez pas que vous devez établir les coûts maintenant, car vous êtes à l'intérieur de la barre de santé. C'est le même concept que celui que nous avons utilisé pour le nom. C'est ce que nous allons faire. Bien entendu, vous pouvez créer une interface de plan pour cela Ce n'est pas une mauvaise idée. Tu peux le faire, c'est bon. Mais je pense à quelque chose que je ne vais coûter qu'une seule fois, comme si je n' utiliserais cette fonction dans tout mon jeu, peut-être deux. Je ne veux pas créer une interface de plan pour chaque interface utilisateur que je crée Allons-y et supprimons ce nœud d'impression. Ce que nous pouvons faire maintenant, c'est créer un nouvel événement personnalisé ici. Créons un événement personnalisé appelé update health. Et celui-ci va appeler la mise à jour de l'interface utilisateur de santé. Faisons glisser ce widget. Trouvons un objet widget comme avant. Disons que le coût de deux est appelé « coût de la santé connecté ». Ici, nous voulons appeler la mise à jour Health Drag Update. Je vais de l'avant et je connecte tout. Nous avons maintenant besoin de connecteurs pour accéder à l'état santé et à l'état de santé actuels, l'état de santé actuel que nous avons déjà ici. Allons-y et connectons-le. Parce que nous l'avons placé ici pour pouvoir le faire pour obtenir le maximum de santé, nous avons besoin de la santé maximale de l'ennemi. Comment s'y prend-on ? N'oubliez pas que nous avons créé une information sur l'ennemi ici, il s'agit essentiellement de celle-ci. Vous pouvez simplement copier ce contrôle C, descendre ici, contrôler V, ou vous pouvez le réécrire si vous voulez vous entraîner Réessayez de l'écrire et voyez comment vous l'avez fait. Allons-y et connectons-le ici. Maintenant, nous mettons à jour l'état de santé. N'oubliez pas que nous devons organiser cet événement avant qu'il ne fonctionne. Je vais juste exécuter cette mise à jour de santé à chaque fois que je fais des dégâts. Ici, nous pouvons appeler Update Health et l'appeler ici. Maintenant, ce que nous faisons, c'est faire des dégâts avec la souris, nous infligeons des dégâts. Et les dégâts que nous infligons, nous les calculons et mettons à jour les points de vie actuels de l'ennemi. Ensuite, nous mettons à jour le I ici. En fait, ici, mettez à jour l'état de santé. Peut-être que nous pouvons avoir celui-ci ici juste pour qu'il soit plus logique en termes de programmation, je vais m'en occuper à partir d'ici. Je vais faire une entrée ici, un flottant appelé état de santé actuel. Je vais plutôt le brancher comme ça. Nous pouvons nous connecter ici. Je pense que c'est plus logique. Nous pouvons le faire dans les deux sens, mais parfois, lorsque vous programmez, vous pouvez faire les choses de plusieurs manières. Mais certaines méthodes sont meilleures que d'autres. Je pense que celui-ci est un peu meilleur parce que nous mettons à jour l' état de santé actuel ici. OK, la mise à jour de l'état est mise à jour ici, puis nous mettons à jour l'interface utilisateur qui met à jour la barre de santé. Au début, ce sera 100, mais si nous cliquons sur Play, vous pouvez voir que la santé est toujours nulle . C'est parce qu'il ne fera que se mettre à jour. Maintenant, chaque fois que vous cliquez sur l'ennemi, comme vous le voyez ici, si vous ne cliquez pas sur l' ennemi, c'est toujours zéro. C'est parce que nous devons exécuter ce code chaque fois que nous faisons apparaître l'ennemi Ici, lorsque nous mettons à jour l'interface utilisateur de l'ennemi et que nous mettons à jour l'état de santé actuel, je tiens également à mettre à jour l'état de santé. Et faites-le au lieu de le faire ici, souvenez-vous que nous l'avons déjà défini dans cet événement. Nous pouvons le supprimer et nous pouvons simplement le brancher ici et le connecter. Compilons et cliquons sur Play. Et maintenant, vous voyez qu'il est plein chaque fois que l'ennemi apparaît. Chaque fois que je clique, il va descendre. Maintenant que cela fonctionne, il ne nous reste plus qu' à mettre à jour le texte. C'est beaucoup plus facile à faire pour ce texte. Faisons-le glisser vers l'extérieur et faisons-le glisser ici et disons définir le texte. Définissons le texte ici. Maintenant, pour le texte, nous devons le définir sur l'état de santé actuel. Faites-le glisser ici. Et faites-le glisser à nouveau vers le bas. Double-cliquez dessus pour le rendre plus beau. Compilez et cliquez sur Play. Maintenant, tu vois, la santé est de 100. Si on clique, ça va descendre. Maintenant, nous pouvons réessayer sur autre chose. Si nous passons aux plans, ouvrons le mode de jeu, du niveau actuel au niveau 3 Chaque fois que je clique sur l'ennemi, sa santé est correctement mise à jour. Encore une fois, maintenant tout fonctionne, et rétablissons le niveau actuel à un, compilons, sauvegardons tout et passons à autre chose. 44. 5.10 Flipbook d'ennemis: Maintenant que les dégâts sont effectifs, lorsque nous cliquons sur l'ennemi, celui-ci est endommagé. Pour améliorer un peu les choses, jouons l'effet de frappe lorsque l' ennemi a été touché. Cela aura l'air bien mieux. N'oubliez pas qu'à l'intérieur du tableau de données que nous avons déjà créé dans les informations sur l'ennemi, nous avons déjà ajouté les flipbooks d'animation à succès ici. Allons-y et utilisons-les. Fermons ça. Revenons-en aux ennemis. Ouvrez la base ennemie. À l'intérieur de la base ennemie. Descendons ici et créons un nouvel événement personnalisé. Appelons cela l'effet « one hit effect ». Faisons-le ici. Nous voulons simplement jouer au flip book. L'ennemi a de nouveau touché le flip book, comme avant que nous puissions prendre le flip book. C'est essentiellement ce sprite ici. Prenez le sprite qui sort des sprites et vous pouvez écrire Tu peux essayer de lire. Ce que tu peux faire avec tout ça. Celui que nous voulons utiliser est ce flip book unique parce que nous voulons le configurer sur le flip book, nous avons déjà le flip book dans les informations sur l'ennemi. En fait, je vais juste le copier ici. Collez-le et masquons ici les épingles non connectées Cliquons ici. Et je vais juste montrer l'animation à succès. Ensuite, je vais le connecter ici. Maintenant, il va jouer l'animation à succès. Maintenant, l'effet hit. Chaque fois que nous cliquons maintenant, vous devez voir où cela a du sens d'appeler cet événement ? Cela prend tout son sens chaque fois que l'ennemi subit des dégâts. Après avoir mis à jour l'état de santé, vous pouvez également jouer à l'événement Hit Effect ici. Et il va le jouer. Je clique sur Play et je clique sur l'ennemi. Vous pouvez voir qu'il y joue. Cependant, pour le moment, c'est pour toujours. Nous devons régler ce problème. Nous devons le remettre dans le flip book normal une fois que l'ennemi a été touché. Ce que je vais faire, c'est ne laisser que ce flip book à succès, jouer une fois, puis je vais revenir au mode normal. La façon dont nous pouvons le faire est prendre ce sprite ici, faire glisser ici et de dire flip book Vous pouvez essayer de lire ce que vous pouvez utiliser ici, celui que vous allez utiliser est celui-ci. Obtenez la longueur du flipbook. Alors je vais retarder de ce laps de temps. Je vais le retarder de la longueur du flip book. Une fois que ce sera terminé, nous pourrons l'emporter ici. Au lieu de copier-coller ceci, je vais simplement utiliser l'animation inactive ici Remettons-le comme ça. Il suffit de le copier, de configurer le flip book ici et vous pourrez le redéfinir ici. Je vais cliquer pour créer un nœud de route arrière et quelque chose comme ça. Cela devrait très bien fonctionner. Nous pouvons essayer de jouer maintenant en cliquant sur l'ennemi, et voilà, je vais augmenter la durée de jeu de cet effet, car il joue trop lentement et semble étrange. Je vais revenir à mes actifs et aborder les personnages. Maintenant, pour ce hit, nous devons augmenter le nombre d'images par seconde pour que le jeu soit beaucoup plus rapide. La façon dont nous pouvons le faire est de simplement cliquer sur Control Z ici. Si je sélectionne simplement tous les onglets, maintenez la touche Ctrl enfoncée. Ce que vous pouvez faire, c'est cliquer à nouveau avec le bouton droit de la souris, des actions sur les actifs, les sélectionner via une matrice de propriétés. Vous pouvez donc tous les modifier en une seule fois. Et puis définissons les images par seconde. Je vais passer à 40 images par seconde. Laisse-moi juste enregistrer toutes les parties et voir à quoi ça ressemble. Voilà à quoi ça ressemble. Il semble bien mieux que l' ennemi soit touché. C'était tout pour l' effet hit. Très, très facile. Maintenant, allons-y et travaillons avec la mort de l'ennemi. 45. 5.11 Mort d'un ennemi: En ce qui concerne la mort de l'ennemi, il est évident que l'ennemi meurt chaque fois que sa santé est nulle. Il est tout à fait logique de le faire ici. Chaque fois que nous infligeons des dégâts à l'ennemi, nous vérifions s'il s'agit bien de sa santé actuelle, mais nous ne vérifions rien. En gros, nous calculons simplement l'état de santé actuel et nous le mettons à jour. Avant même de mettre à jour l'état de santé, je veux vérifier si mon ennemi est mort ou non. Allons-y et faisons-le ici. Chaque fois que la santé est bonne, l'ennemi doit mourir ici. Je vais juste faire glisser le pointeur et dire si l'état de santé est supérieur à zéro et obliger une succursale à le connecter. Chaque fois que l'état de santé est supérieur à zéro, nous voulons simplement continuer ce que nous faisions auparavant. Cependant, si la santé n'est pas supérieure à zéro, cela signifie qu'elle est nulle car nous la fixons à zéro, elle ne peut donc pas être négative. Si c'est zéro, allons-y et faisons mourir l'ennemi. Je vais juste créer une nouvelle variable, un lingot appelé B est mort. J'ajoute généralement un B devant mes variables d'investissement. Et vous pouvez voir que si vous le faites glisser ici, vous ne pouvez pas voir le B. Cela se fait généralement en C plus et il est également beaucoup plus facile rechercher si vous avez un jeu plus volumineux. Ajoutons-le maintenant et définissons-le sur true. Chaque fois que la santé n'est pas supérieure à zéro, cela signifie que l'ennemi est mort. Nous pouvons donc faire en sorte que cela soit vrai. De plus, continuez simplement à mettre à jour l'état de santé, car nous devons également mettre à jour l'état de santé et faire l'effet escompté. Maintenant, pour celui-ci, nous pouvons double-cliquer et créer un nœud de route arrière, ça n'a pas l'air mal, juste comme ça. Maintenant, que pouvons-nous faire avec celui-ci ? Avec celui-ci. Évidemment, dans l'effet de frappe, chaque fois que nous touchons l'ennemi, comme nous le faisions auparavant. Je ne veux pas jouer à l'animation inactive chaque fois que l'ennemi meurt. Emmenons cette brute ici. Après avoir retardé ce délai, la longueur du livre de sprites , nous faisons un report Au lieu de jouer instantanément l'animation inactive, nous devons vérifier si l' ennemi est mort ou non. Frappons ici, fabriquons une branche et demandons si l'ennemi est mort. Oui, l'ennemi est mort. OK, alors nous voulons jouer un événement mortel. Nous n'en avons pas encore vraiment créé un, alors allons-y, cliquez avec le bouton droit de la souris, pour créer un nouvel événement personnalisé appelé mort. Nous pourrons en faire quelque chose plus tard, mais ici, si l' ennemi est mort, je voudrais jouer à l'événement de la mort ici. Si l'ennemi n'est pas mort, je veux jouer à l' animation inactive comme je le faisais avant. Supprimons simplement celui-ci et reconnectons-le ici. Et double-cliquez une fois de plus. OK, ici, dans le cas d'un décès, ce que nous voulons faire, c'est simplement jouer à l'animation de la mort. Encore une fois, comme avant, prenons tout cela ici en tenant compte du délai. Je vais le copier. Je vais le coller ici. Et je vais le connecter comme ça. Au lieu de jouer l'animation à succès, je vais la déconnecter, tout masquer et n' afficher que l'animation de la mort. Allez-y, connectez celui-ci. Au lieu de cela, nous allons le retarder. Une fois que nous l'aurons retardé, je veux détruire Acta. Je souhaite supprimer cet Acta de la carte. Allons-y et cliquons sur Avion. Maintenant, chaque fois que je clique sur l'ennemi, celui-ci meurt. Vous pouvez voir l'ennemi disparaître. Et ça a l'air bien. En gros, vous pouvez voir que l'animation de la mort est également étrange, l'ennemi tombe. Nous devons régler ce problème. Avant cela, nous devons également augmenter le niveau, car lorsque l'ennemi meurt, nous voulons que le prochain ennemi soit là Je peux aussi voir que je viens de voir un dollar. Si vous cliquez trop de fois, vous pouvez continuer à cliquer, ce que je ne veux pas faire. Nous devons également faire une vérification ici dans le champ non cliqué. Nous ne voulons pas cliquer sur l'ennemi chaque fois qu'il est mort. Déplaçons ça et disons si l'ennemi est mort. Et je vais écrire « not bully Cela signifie que si l' ennemi n'est pas mort, si c'est faux, c'est ce que cela signifie ici. Si l'ennemi n'est pas mort, nous pouvons créer une branche ici et demander s'il n'est pas mort. Nous pouvons aller de l'avant et infliger des dégâts. Si l'ennemi est mort, nous ne voulons rien faire. Cliquons sur Planifier maintenant et voyons si ce bogue est corrigé. Et je peux envoyer du spam, vous pouvez voir la boîte là, donc tout fonctionne à nouveau. L'animation du décès est étrange. Nous devons régler ce problème. Mais passons à la leçon suivante et travaillons sur l'incrémentation du niveau 46. 5.12 Incrémentation du niveau: OK, pour augmenter le niveau, je pense qu'il vaut mieux le faire en mode jeu, car c' est là que le niveau actuel est contrôlé Faisons-le ici, ici. Créons un nouvel événement personnalisé. Appelons ce niveau Increment Current ici. C'est très simple. Nous voulons simplement prendre le niveau actuel que nous voulons faire glisser ici et dire plus, car plus plus signifie que vous l'avez incrémenté d' un, puis que vous le définissez C'est la même chose que de faire ceci et de dire plus un, puis de le régler comme suit. C'est la même méthode. C'est beaucoup plus court. Encore une fois, n'oubliez pas que plus signifie que vous en ajoutez un. Si vous devez en ajouter deux à l'avenir, vous ne pouvez pas le faire comme ça, vous devez le faire comme ça. Mais cela n'a pas vraiment de sens. Notre niveau ne fait qu' augmenter d'une unité. Faisons-le de cette façon. Nous avons maintenant incrémenté le niveau d'un, mais nous devons nous assurer de ne pas dépasser le niveau maximum. Je vais créer une nouvelle variable appelée niveau maximum et je vais également la créer sous forme d'entier. Ici, vous pouvez écrire quel est le niveau maximum. Jusqu'à présent, dans le tableau de données, je peux voir que mon niveau maximum est de 11 ici. Je vais écrire 11 comme niveau maximum ici. Je vais faire glisser le pointeur vers le bas et dire que si le niveau actuel est inférieur ou égal à mon niveau maximum, alors nous pouvons continuer et faire apparaître l'ennemi Parce que lorsque vous augmentez le niveau, vous devez également faire apparaître le prochain ennemi Je vais demander ici, mon niveau actuel est inférieur ou égal au niveau maximum, nous n'avons pas dépassé le niveau maximum. Si c'est vrai, je veux faire apparaître le prochain ennemi. N'oubliez pas que pour le spawn enemy, nous l'avons déjà fait dans la manette de jeu Si je passe à la manette de jeu, nous avons cet ennemi réapparu Allons-y et utilisons-le. En fait, nous l'utilisons également ici. Vous pouvez donc le copier. Ou si vous voulez vous rappeler comment vous l'avez fait, vous pouvez prendre la manette du joueur. Et en fait, je vois que nous n'avons pas créé de variable pour celui-ci. Passons juste ici, transformons-le en variable, appelons-le player controller. Et connectez et connectez celui-ci à celui-ci à celui-ci à la place. En fait, déconnectons-nous car maintenant les deux sont connectés. Maintenez la touche Alt enfoncée et cliquez pour déconnecter et connecter uniquement celui-ci. Allez-y et assemblez-les comme ça. Maintenant, en bas, prenons la manette de jeu et disons « spawn enemy connected N'oubliez pas que nous avons créé cette fonction appelée faire apparaître l'ennemi pour le niveau actuel En gros, nous venons d'obtenir le niveau actuel, nous avons obtenu le nom de l'ennemi parce que c'est un nouvel ennemi. Parce que n'oubliez pas que nous avons augmenté le niveau d'un. Le niveau actuel est incrémenté d'une unité. Il va prendre le prochain ennemi dans le tableau de données, si c'était le. Il va maintenant augmenter le niveau d'un. Maintenant, il va falloir le Roe, le voleur va être enfermé ici et réapparaître Allons-y et voilà. Maintenant, cela devrait très bien fonctionner. Incrémentons le niveau. Il faut le faire fonctionner quelque part. Et renversons-le à l'ennemi. Si j'ouvre à nouveau l'ennemi, chaque fois qu'il meurt, juste avant que nous ne détruisions l'Acta Allons-y et augmentons le niveau. Le niveau d'incrémentation est en mode jeu. Nous avons déjà une référence. Supposons, disons incrémenter. Si je peux épeler ici, augmenter le niveau actuel, alors nous détruirons l'acte Cliquons sur Se plaindre. Vous voyez ce qui se passe si je clique sur jouer ? Je tue l'ennemi, l'ennemi meurt. Au prochain intervalle, je peux cliquer à nouveau, l'ennemi meurt. Vous pouvez voir que les animations de mort doivent être corrigées. Et nous pouvons le faire facilement, mais comme vous pouvez le constater, tout fonctionne très bien. Et maintenant, ça ressemble à un jeu. Vous pouvez maintenant cliquer sur le prochain ennemi qui apparaît ensuite et ainsi de suite Génial, maintenant c'est vraiment une bonne progression. Allons-y, sauvegardons tout, et corrigeons les animations de mort dans la prochaine. 47. 5.13 Fixation des animations de mort ennemies: Pour corriger les animations de mort. Passons aux atouts et à notre personnage ici. Nous devons les corriger car il y a un problème avec ces animations de mort si nous cliquons dessus. Au lieu de le faire ici, je crois que nous devons le faire dans le sprite, ouvrir les textures et ouvrir la nuit, par exemple, et c'est la mort Ouvre-le, tu peux voir que le point O est là, par exemple, voyons la nuit, la nuit, disons que la nuit est au niveau 11 ici pour la nuit. Je vais juste régler l' état de santé à un en fait, je vais juste le laisser être là. Je vais régler mes dégâts. C'est beaucoup plus facile si j'ouvre la manette du joueur ou plutôt le joueur. Et l'endommagement du curseur. Je vais juste le régler sur quelque chose de très élevé pour que nous puissions passer au mode de jeu instantané. Passons au mode de jeu ici. Réglons le niveau actuel à 11 parties. Je peux cliquer ici, l'ennemi est écarté. Cela est dû au fait que le point de pivot se trouve au mauvais endroit du point de pivot au lieu du centre du centre. Vous devez changer celui-ci en mode personnalisé. Vous devez maintenant jouer avec le point de pivot ici. Tu peux jouer avec et tu peux voir ce qui se passe. C'est pourquoi nous n'avons pas besoin de jouer avec. Celui que nous voulons jouer, c'est celui-ci. Il en est maintenant à 24 heures. Si je le disais encore une fois à Custom, 24, ce que je veux que vous fassiez que moins huit est généralement un bon chiffre. Moins huit. Vous pouvez voir que c'est le milieu. Essayez maintenant d'incrémenter de huit ou disons moins huit. Habituellement, pour le pilote , cela vaut plus huit. Moins huit, moins huit semblent fonctionner. Nous devons le faire pour chacun d'entre eux. Si j'ouvre à nouveau les actifs, personnages, les textures, maintenant je dois le faire pour tous. Au lieu de cela, permettez-moi de cliquer avec le bouton droit de la souris, accéder à la sélection d'Asset Action It dans matrice de propriétés du sprite Réglons le point de pivot pour qu'il soit personnalisé. Maintenant, je ne peux pas changer, pour une raison quelconque, le point de pivot personnalisé ici. Je dois le faire manuellement. Je ne crois pas que nous puissions le faire. Nous devons le faire manuellement. Mais nous avons défini le point de pivot sur Personnaliser. Maintenant, cliquons sur le premier. Disons moins huit, comme avant, nous devons le faire avec chacun d'entre eux. Le suivant moins huit, le suivant moins huit, suivant moins huit et le dernier moins huit. Voyons maintenant si cela fonctionne. Cliquons sur jouer. Maintenant, si nous tuons cet ennemi, l'animation semble bonne. Je peux également voir un bug. Si vous remarquez que si je clique sur jouer et que l'ennemi meurt, réapparaît et disparaît Ainsi, vous pouvez voir l'ennemi ou une image apparaître avant de disparaître Allons-y également et corrigeons cela ici également, pendant que nous voyons le bogue. Passons à Blueprint. Allons à l'ennemi, à la base ennemie. Cela se produit ici pendant le décès parce que nous le retardons. Ensuite, nous augmentons le niveau , puis nous détruisons l'acteur. Si tu veux, tu peux emporter ce sprite ici, laisse-moi juste déplacer tout ça Nous pouvons dire ici et dire est en boucle, ou plutôt définir une boucle Définissez la boucle, nous pouvons définir la boucle comme fausse. Ensuite, vous pouvez essayer de voir ici quand je tuerai l'ennemi pour ce faire. Mais peut-être que maintenant, cela va également définir la boucle sur fausse pour la suivante Voyons vraiment ce qu'il fait. Ce sera probablement le cas si je passe en mode jeu. Ouvrez maintenant le mode de jeu. Réglez le niveau actuel à quelque chose comme neuf parties. Maintenant, si je tue ce type, suivant, d'accord, c'est bon. Maintenant, tout fonctionne bien. Cela règle le problème. Revenons au niveau 11. Vous pouvez voir que cela fixe le point pivot, l'animation de la mort pour ce type. Ici, vous devez tous les tester pour le niveau 1. Permettez-moi de vous en montrer quelques-unes et je dois le faire à mon temps, sinon la vidéo sera trop longue. Mais je vais juste vous en montrer deux. C'est le suivant, celui-ci ici. Passons aux textures. Trouvons ce qui est en bas, la mort. Je vais tous les sélectionner. Cliquez dessus avec le bouton droit. Sélection dans Property Matrix, ici dans le sprite Passons au point de pivot en point personnalisé. Allons-y, fermons ça. Maintenant, ouvrez chacune d'entre elles ici. Maintenant, pour celui-ci, vous pouvez voir qu'il est là-haut. Peut-être devons-nous corriger le y et le X. Je vais dire moins huit. Ce n'est pas moins huit, c'est plus huit. Plus huit, encore une fois pour revenir à la valeur par défaut. Et plus huit, encore une fois, peut-être que j'en ai besoin. Plus huit encore, comme ça, ça fait 48. Essayons juste de le faire. Plus 16 en gros au total. Plus 16, plus 16. Je dois deviner et voir si c'est exact ici. Plus 16. 16 pour celui-ci également. Cliquons sur Play. Vous pouvez voir que l' animation de la mort est correcte. Pour le moment, la mort est correcte. Nous devons le faire à nouveau pour chacun d'entre eux. De plus, huit moins huit pixels est toujours la meilleure option. Le suivant est le Roe. Essayons le E. Vous pouvez essayer les autres vous-même. Pour mourir, nous cliquons sur la sélection dans la matrice des propriétés. Ici, passons à Sprite. Modifiez le point de pivot ou le mode de pivot en mode personnalisé. Ouvrons-le à nouveau dans le premier , disons plus huit. Je pense que c'est encore plus de huit. Plus 16. Faisons-le pour les autres. Disons plus 16 ici aussi. Plus 16, je crois que c'est le même chiffre. Copions ce numéro et collons-le sur chacun d'eux comme ceci. Fais attention, ce n'est pas toujours le même chiffre dans le X. juste attention maintenant jouons et voyons. Maintenant, le premier décès est correct, le second est correct. OK, allons-y. Je vais le faire moi-même maintenant. En gros, il suffit de les modifier dans la matrice des propriétés pour les personnaliser , puis de dire plus huit ou moins huit jusqu'à ce que le problème soit corrigé. C'est bon, maintenant j'ai terminé. Quand je clique maintenant, vous pouvez voir que chaque fois que je tue les ennemis, ils sont tous corrigés en ce qui concerne l'animation de la mort. Donc, tout va bien. Je vais juste le fermer. Maintenant c'est tout. N'oubliez pas de revenir à la manette du joueur, de contrôler le mode de jeu et de régler le niveau actuel sur un si vous le souhaitez. Configurez également les manettes du joueur pour qu'elles ne jouent pas. Limitez les dégâts du curseur du joueur à 15 points environ. Encore une fois, compilez et maintenant nous en avons fini avec cela et passons à la suivante. 48. 5.14 Cliquer sur Hit VFX: Très bien, ce que nous pouvons faire maintenant, c'est créer un effet de frappe chaque fois que nous touchons l'ennemi. Nous pouvons donc avoir une sorte d'effet qui apparaît. Donc, un effet visuel à chaque fois que nous frappons. Allons-y et faisons-le. Maintenant, pour ce qui est de l'effet hit, je vous ai donné un extrait du matériel pédagogique. Si vous l'ouvrez ici dans les supports de cours, je veux que vous ouvriez l'interface utilisateur. Dans l'interface utilisateur, je vous ai donné un effet de frappe. Mettons-le simplement dans les images. Alors laisse-moi juste le glisser ici. Ajoutez-le maintenant c'est un pixel. Je vais cliquer avec le bouton droit sur les actions et appliquer du papier aux paramètres. C'est ce que nous allons ajouter. Juste un simple effet pour cela. Encore une fois, il s'agit de quelques sprites réunis. Faisons un clic droit comme avant et extrayons les sprites. Allez-y et sélectionnez Grille ici. Pour ce qui est de la grille, il faut deviner de quoi il s'agit. Peut-être 64 par 64. Vous pouvez voir que c'est en fait moins que cela. Mais ce que nous pouvons faire, c'est que vous pouvez voir que c'est deux par deux. Nous pouvons donc réellement diviser cela, nous pouvons dire divisé par deux, ou vous pouvez écrire 32. C'est très bien aussi, divisé par deux et ce sera correct, 32 par 32. Allons-y et extrayons tout cela. Laissez-moi juste écrire, cliquez ici pour ne pas être encombré par tout cela Laissez-moi créer un nouveau dossier, que je vais appeler Textures. Et allez-y, sélectionnez tout cela. Et sélectionnez-le également. Et ajoutez-le ici et ici. Faisons simplement un flip book à partir de celui-ci. Je sélectionne tout cela et je peux écrire Click I can do, quit flip book. Appelons ça un flip book. Effet Hit. Ouvrons-le. Et voici quoi cela ressemble maintenant pour l'effet hit. Je pense que le nombre d'images par seconde sur 15 me convient. Ça a l'air bien. Nous pouvons toujours l' ajuster dans le jeu. Fermons-le pour le moment. Et faites-le glisser dans le dossier des images. Il est là, et nous pouvons l'utiliser maintenant. Vous pouvez le faire de deux manières. La première façon de le faire est dans le plan, comme avant Tout comme les autres sprites, vous pouvez réellement ajouter le sprite ici Chaque fois que vous cliquez sur l'ennemi, vous pouvez jouer le sprite pour qu'il inflige des dégâts Cependant, l'inconvénient est que vous ne pouvez jouer qu' une seule instance de l'effet de dégâts si vous cliquez deux fois l'un après l'autre. Il va annuler le dernier effet et le nouveau sera activé. Je n'aime pas ça. Je veux créer autant d'effets que je le souhaite, en fonction de la rapidité du joueur En cliquant dessus, allons-y et lisons les plans. Et ici, cliquez avec le bouton droit de la souris pour créer une nouvelle classe de plan et créons simplement un acteur contenant ce flip book Acteur crétois. Appelons cela un effet BP hit. Ouvrons-le ici. Ajoutons un flip book. Si vous recherchez un flip book, vous pouvez continuer et l'ajouter. Je vais juste l' appeler Hit Effect. Nous pouvons maintenant ajouter le flip book ici. C'est ce seul flip book. Effet de frappe. Allez-y, sélectionnez-le. Et vous pouvez le voir ici. Maintenant, pour ce qui est de cet effet de frappe, je vais simplement passer à la collision et m' assurer qu'il n' y pas, car je ne veux pas Pour la collision, je vais supprimer celle-ci, générer des événements de chevauchement. Je vais dire non pour les préréglages de collision. Je vais juste dire qu'il n'y a pas de collision, il n'y en a aucune. Je compile et fermons-le. Maintenant, je veux le faire apparaître chaque fois que je clique sur l'ennemi. Et n'oubliez pas que l'apparition se fait toujours dans le contrôle du joueur Donc je vais juste rentrer ici pour ça. Je vais juste créer un nouvel événement personnalisé. Je vais l'appeler effets d'apparition comme avant, faites glisser le pointeur ici et dites spawn Acta from class Maintenant, quelle clause voulons-nous créer ? Nous n'avons pas besoin de le connecter ici car il s'agit simplement d'une valeur statique et c'est l'effet hit, plan que nous voulons créer ici. Je vais dire de toujours générer, d'ignorer les collisions. Maintenant, pour ce qui est de la transformation du spawn, cela dépend de l'endroit où nous appuyons avec la souris pour trouver cette valeur Ce que nous pouvons faire, c'est cliquer avec le bouton droit de la souris et utiliser cette fonction. Si vous recherchez simplement une souris, si vous ne savez pas comment elle s'appelle, c'est ce que je fais. Parfois, vous pouvez y jeter un œil. Ce que nous pouvons utiliser pour cette instance, nous pouvons utiliser celle-ci. Convertissez l'emplacement de la souris en espace mondial. Où que se trouve la souris, nous allons générer l'effet à l' endroit où le joueur a cliqué Allons-y et faisons-le. Laissez-nous le connecter ici comme ceci. Cela va en faire une transformation pour nous et le connecter. Essayons de le faire. Pour l'instant, nous devons créer l'effet hit quelque part. Faisons-le apparaître à l'intérieur de l'ennemi ici. Chaque fois que nous cliquons sur l'ennemi et que celui-ci n'est pas mort, nous lui infligeons les dégâts, mais nous voulons également utiliser l'effet hit. Passons ici à la manette du joueur. Et nous n'avons pas vraiment référence à la manette du joueur. Laissez-nous le faire. Maintenant, laissez-moi simplement faire glisser ce mode de jeu ici. Permettez-moi de dire contrôleur. Et sélectionnez-le. Nous l'avons déjà fait. Nous pouvons faire glisser et dire « obtenir la référence du contrôleur du joueur ». Nous avons déjà cette interface de plan. Nous pouvons à juste titre le promouvoir en une variable appelée player controller. Allons-y et connectons-le ici. Nous l'avons très rapidement. Maintenant, nous pouvons prendre cette manette de jeu ici et nous pouvons dire quel que soit le nom que nous lui donnons. Si j'y retourne, je ne m'en souviens pas, je reviens ici. Nous l'avons appelé spawn hit effect, glissez ici. Et disons Spawn Hit Effect, répond à chaque fois que nous infligons des dégâts à l' avance, que nous compilons et enregistrons Maintenant, si nous cliquons simplement sur l'ennemi, nous verrons que nous le faisons apparaître ici Mais maintenant, vous pouvez voir que c' est en boucle pour toujours. Nous devons également régler ce problème. Vous avez également vu que l'effet se produit essentiellement à l'intérieur de l'ennemi. Je ne veux pas non plus que cela règle le problème, l'effet se faisant sentir à l'intérieur de l'ennemi. En effet, n'oubliez pas que nous travaillons avec deux D et que nous contrôlons essentiellement cette valeur verte. La valeur verte, souvenez-vous que c'est le y, vous déplacez des objets derrière ou devant, au lieu que ce soit zéro à l'emplacement de la souris. Prenons ceci et disons plus, essayons de dire plus un dans le y. Allons-y et reconvertissons-le ici. Play and see plus c' est suivre l'ennemi. Si vous le supprimez simplement et dites moins, moins un, connectez-le à nouveau. Jouez. Maintenant, vous pouvez voir qu'il est devant l'ennemi. OK, maintenant allons-y et nous devons détruire. Parce que souvenez-vous qu'il est très important de détruire l'acte. Parce que si vous continuez à cliquer, souvenez-vous que nous créons des numéros Il suffit de regarder ici le nombre d'acteurs que vous créez. Chaque fois que je clique, je fais apparaître un acteur. Imaginez que si vous continuez à cliquer 2 heures plus tard, vous allez avoir tellement d'acteurs que vous allez faire planter votre propre jeu. Assurez-vous que chaque fois que vous générez quelque chose, vous le supprimez également lorsque vous n'en avez plus besoin. Dans cet effet de frappe au début de la partie, je vais juste prendre cet effet de frappe. Il s'agit essentiellement de ce flip book ici. Maintenant, je vais dire que la boucle est une boucle fausse, je ne veux pas qu'elle se boucle De plus, comme avant d' utiliser cette longueur de flip book, obtenez la longueur du flip book, puis je vais créer un nœud de retard. Une fois que l'effet se sera produit une fois, je détruirai l'acteur. Quel acteur vais-je incarner ? Je vais juste me détruire, ce qui signifie que je vais détruire ce plan ici Et quand je clique sur jouer maintenant, et que je fais également attention aux acteurs ici, je clique ici, je fais apparaître un acteur, mais le nombre revient à 15 et ne joue qu'une seule fois, comme vous pouvez le voir ici Même si je fais du spam ici et que je clique, je fais des dégâts. Ça a l'air sympa. Il reviendra toujours à 15 car cela détruit tous les effets que je crée et qui fonctionnent parfaitement. Passons maintenant à la suivante. 49. 5.15 Designing de l'interface utilisateur de texte flottante: Passons maintenant à la conception de l'interface utilisateur à texte flottant, qui apparaît chaque fois que vous touchez l'ennemi. Et il indiquera l'ampleur des dégâts que vous avez causés. Avant de le faire, permettez-moi d'ajouter HP derrière le nom de santé. Nous savons que c'est une question de santé. Faisons-le très rapidement avant de continuer. Si vous ouvrez le widget de votre barre de santé, plan que nous avons créé précédemment à l'intérieur du graphique, c'est ici que nous avons ajouté l'état de santé Maintenant, n'oubliez pas que si vous voulez du texte statique en plus du texte dynamique, vous devez utiliser le format texte très facilement. Écrivez simplement le texte au format à partir d'ici. Écrivons entre crochets ouverts et je vais simplement appeler cela santé et fermer les crochets bouclés. Maintenant que cela apparaît, nous pouvons écrire l'espace HP. HP est derrière tout cela. Et je vais juste supprimer tout ça. Et nous pouvons simplement le faire glisser d'ici et le brancher, et il utilisera cette variable entière. Maintenant c'est réglé et c'est tout ce que nous avions à faire. Maintenant tu peux voir si je clique sur Play. Si je le réorganise et que je clique sur Play. Maintenant, vous voyez, j' ai aussi HP au final, et je trouve que ça a l'air bien mieux. OK, fermons-le. Cliquez maintenant avec le bouton droit de la souris ici. Accédez à l'interface utilisateur et créez un nouveau widget, plan. Fais-en un nouveau. Appelons cela un texte flottant. Maintenant, pour celui-ci, ouvrons-le une fois de plus. Ajoutons d'abord un canevas. Ajoutons-en ensuite pour le texte. En fait, nous pouvons simplement le copier à partir des informations sur l'ennemi. Nous pouvons utiliser le même ici, contrôler le texte. Accédez ici au panneau du canevas et contrôlez V. Et vous l'avez ici pour l'écran de remplissage. Je vais plutôt le modifier comme je le souhaite à l'écran. Ensuite, la taille de l'écran à nouveau, en la remplaçant par un ordinateur portable générique comme avant. Assurez-vous également que le texte ici existe, c'est déjà parce que nous l'avons copié d'ici. Mais assurez-vous simplement que l'alignement est 0,50 0,5 et que la position est 00 C'est parfaitement censuré ici, et la taille du contenu est cochée OK, voici le texte dont nous avons besoin. Et c'était en fait, je veux dire, qu'il n'y a pas vraiment grand-chose là-dedans parce que nous allons avoir des dégâts ici. Mais vous pouvez simplement écrire un texte de remplissage si vous le souhaitez, par exemple Vous pouvez écrire, par exemple, qu'il s'agit des dégâts infligés par le joueur. De toute évidence, le joueur ne fera pas grand-chose au début. Mais encore une fois, il ne s' agit que d'un produit de remplissage. Fermons-le et continuons. 50. 5.16 Animation de texte flottant: Il est maintenant temps de faire quelques animations de l'interface utilisateur. Si vous ouvrez votre interface utilisateur à texte flottant, vous avez à nouveau l' animation ici. Maintenant, si vous ne l'avez pas ouvert, vous pouvez toujours cliquer ici et sur l'onglet Animation. Ensuite, vous pouvez cliquer sur Duck in Layout. Et il restera allumé tout le temps. Maintenant, pour créer une animation d'interface utilisateur, vous devez d'abord créer l'animation. En cliquant sur le bouton ci-dessous, je vais simplement appeler cela du texte flottant ici. Vous devez d'abord cliquer sur ce que vous voulez pour animer ce texte Par exemple, pour ce texte, je vais en changer le nom. Ce ne sont pas des informations sur l'ennemi, c'est du texte flottant comme celui-ci. Vous devez cliquer sur la piste plus lorsque vous faites cela, et le texte flottant est sélectionné. Vous pouvez voir qu'il apparaît ici. En cliquant sur le texte flottant, cliquez à nouveau ici. Ensuite, nous avons ce qu'on appelle la transformation. Et c'est là que vous modifiez sa position à l'écran, ainsi que la rotation du texte. Si vous ouvrez simplement la transformation et la traduction, c'est ce que nous voulons modifier. Ce que je veux faire ici est très, très simple. Je veux juste faire voler ce texte flottant vers le haut chaque fois que je touche l'ennemi. Commençons donc par zéro, c'est bon, rien ne va se passer. C'est zéro. Maintenant, quand je passe à 0,6 seconde, je pense que je vais faire quelque chose comme -100 et le y, c'est là-haut Vous pouvez maintenant voir que lorsque vous le faites glisser, le texte s' envole vers le haut. Vous devez maintenant le tester dans le jeu savoir à quelle vitesse il vole réellement. Mais si vous cliquez simplement sur l'espace, si je supprime simplement ces lignes ici pour le texte de test flottant, vous pouvez simplement cliquer sur l'espace pour le lire. Cela vous permet de voir à quelle vitesse il joue réellement. Je pense que c'est bon. Nous pouvons toujours ajuster si nous ne sommes pas satisfaits. Maintenant, la prochaine chose que je veux faire est de le faire disparaître à ce stade de l'animation. Puis il apparaît, puis il disparaît une fois de plus là-haut. Cliquons ici. Trouvons l'opacité ici, l'opacité du Rendo. Allons-y et cliquons dessus. Au début, je veux que ce soit zéro. Cela commence sans opacité , puis cela passe peut-être à environ 15 Ici, à 15 ans, je veux que l'opacité soit la même. Encore une fois, cela apparaît. Maintenant, vous pouvez voir apparaître, ou cela apparaît ici pour nous, c'est invisible au début. Alors je pense qu'à 0,45 je veux que ce soit un. Encore une fois, il suffit de cliquer sur ce petit point ici pour ajouter un point d'animation. Alors, à la fin, je veux que ce soit zéro. Encore une fois, vous pouvez le voir apparaître comme ça. Et puis il disparaît à nouveau ici. Cliquez sur l'espace pour voir à quoi ressemble l'animation. Une animation très simple, mais qui a l'air professionnelle. D'une manière ou d'une autre, très rapidement. Vous pouvez passer beaucoup de temps, parfois je passe une demi-heure, une heure ou deux heures à créer quelque chose de très complexe. Vous pouvez toujours faire voler le texte non seulement vers le haut, mais aussi comme ça dans une arche sur le côté comme ceci. Vous pouvez essayer de jouer avec l'animation autant que vous le souhaitez. Ça a toujours l'air professionnel quand un jeu est vraiment bon. Par exemple, animation IP, animation de texte. C'est tout ce que nous avions à faire maintenant que nous avions l'animation. Passons à la suivante. 51. 5.17 Génération du texte flottant: Bien, pour le texte flottant, nous devons le faire apparaître dans le niveau Maintenant, nous ne pouvons pas l'ajouter à l'ennemi. D' habitude, nous allions dans l' ennemi et à l'intérieur nous ajoutons un widget comme la barre de santé, etc. Cependant, en ce qui concerne le texte, étant donné que nous le spammons étant donné que nous le spammons comme nous spammions l'ennemi et que nous cliquons ici, une grande partie du texte apparaîtra sous forme de texte de combat Nous ne pouvons pas l'ajouter à l'ennemi car si nous l'ajoutons à l'ennemi, une seule instance de ce texte apparaîtra à la fois. Cela aurait l'air un peu stupide s' n'y avait qu'un seul texte qui volait ici, tout comme l'effet de frappe ici. Lorsque nous cliquons sur l'ennemi, nous devons faire apparaître le texte comme nous l'avons fait ici Souvenez-vous qu'avec l'effet hit, nous l'avons en fait attaché à un acteur qui apparaît, puis il se supprime tout seul Nous devons suivre la même méthode. Faisons un clic droit ici, pour créer une nouvelle classe de plan Sélectionnez simplement un acteur simple, appelons-le un texte flottant BP. Maintenant, à l'intérieur d'ici, ouvrons celui-ci. Pour le texte flottant , cliquez sur un widget de recherche. Allez-y et sélectionnez le premier widget. Appelons-le simplement texte flottant. Maintenant, en cliquant dessus, changeons l'espace en écran, car nous voulons qu'il soit affiché vers l'écran de la classe de widget. Remplaçons-le en texte flottant. Dessinez la taille souhaitée, alors ça devrait aller. Allez-y et compilez la prochaine chose que nous voulons faire. Maintenant, n'oubliez pas que nous devons le faire apparaître chaque fois que nous cliquons sur l'ennemi Voyons voir ici, les ennemis et la base. Chaque fois que nous cliquons sur l' ennemi et que nous lui infligeons des dégâts, nous voulons faire apparaître cet acteur. Maintenant, souvenez-vous de l'apparition, nous le faisons dans le Player Controller Passons à la manette du joueur, ouvrez-la, nous sommes en train de faire apparaître l'écran à l'intérieur d'ici Allons-y et organisons un nouvel événement pour cela. Faisons un clic droit pour créer un nouvel événement personnalisé pour celui-ci. Appelons cela spawn float text. Encore une fois, nous allons cliquer avec le bouton droit de la souris ici et utiliser celui appelé spawn actor from class Celui-ci, celui que nous voulons faire apparaître comme avant. Nous n'avons pas besoin d'une telle dynamique dans l'événement, car il ne s' agit que d'un cours d'esthétique de classe que nous créons. Tout comme l'effet hit ici. Nous allons sélectionner le texte flottant que nous voulons générer, puis le connecter Maintenant, où voulons-nous le faire apparaître ? Nous avons besoin d'un lieu d'apparition, nous n'avons pas vraiment besoin de la transformation Au lieu de cela, je vais prendre ceci et dire make transform. Lorsque nous faisons cela, nous interrompons la transformation. Souvenez-vous d'une trans : si vous regardez le panneau des détails, si vous sélectionnez quelque chose, cela indique l' emplacement, la rotation et l'échelle de l'élément lorsque nous le décomposons. Et c'est appelé à faire, souvenez-vous que cela s'appelle break si ça se passe dans cette direction, mais ça s'appelle, ça se passe dans cette direction. On peut toujours faire glisser le pointeur d'ici. Disons le vecteur de rupture par exemple. Mais je ne peux pas dire de créer un vecteur de cette façon. Cela n'a aucun sens. Briser par là, créer par là. Nous sommes en train de procéder à la transformation. Nous pouvons donc également voir l'emplacement, la rotation et l'échelle. Maintenant que nous avons l'emplacement, faisons-le glisser ici et voyons ce qui se passe. Nous pouvons toujours le modifier ultérieurement. Pour cela, je vais l' appeler spawn location. Ensuite, nous avons également besoin du texte dont nous avons besoin, quel devrait être le texte ? Modifions-le plus tard. Nous n'avons pas à le faire maintenant, mais maintenant nous faisons au moins apparaître le texte également ici Assurez-vous de sélectionner « toujours générer », d' ignorer les collisions et de continuer à compiler Faisons en sorte qu'il n'y ait pas de collisions. Si je passe au texte flottant et que je clique sur le widget, que je descends sur le caractère du bas, que je passe au point non, que je supprime, que je génère des événements de chevauchement. Et également pour les préréglages de collision, réglez-les sur Aucune collision Nous ne voulons pas de collision de la part de cet acteur. Allez-y, sauvegardez tout. Maintenant, ici, dans la base ennemie, essayons de le faire apparaître ici pour la manette de jeu Nous l'avons déjà ici. Frappons et disons générer du texte flottant. Allez-y et sélectionnez maintenant, nous devons spécifier un emplacement où nous voulons le faire apparaître Maintenant, là où nous voulons apparaître, c'est exactement là où se trouve actuellement cet ennemi Et n'oubliez pas que nous sommes dans l'ennemi. Je vais juste faire glisser le pointeur à partir d' ici et dire « Trouve un lieu ». Ou pour obtenir la position de l'ennemi, je vais juste le faire apparaître. Maintenant, il suffit de cliquer sur Jouer et de voir ce qui se passe si je clique sur l'acte ici ou sur l'ennemi. Vous pouvez voir qu'il est en train de se reproduire, mais nous devons également le supprimer Cela ne semble pas bogué comme ça, mais continuons avec cela dans une autre leçon Au moins maintenant, nous faisons apparaître le texte lorsque nous cliquons sur l'ennemi Comme vous pouvez le voir ici, nous jouons essentiellement à ce spawn float text Ce que je veux faire également ici pour l'effet spawn hit, c'est qu' on y joue essentiellement chaque fois que nous touchons l'ennemi Et nous faisons apparaître le texte flottant parce que nous touchons l'ennemi Ce que nous pouvons faire pour le moment, puisque je n'y vois aucun problème pour le moment, nous pouvons toujours créer l'effet hit à l'intérieur d'ici Chaque fois que nous faisons des dégâts, nous devons jouer ceci et cela. J'aime jouer le moins de fonctions possible afin que vous ne vous trompiez pas dans votre jeu. Plus tard, je vais contrôler X pour le supprimer. Ensuite, je vais connecter ce texte flottant d'apparition. Ce n'est qu'alors que je vais rentrer ici. Ici, nous pouvons créer cet effet de frappe. Nous avons déjà organisé cet événement ici. Il suffit de faire glisser et de dire «   spawn hit effect ». Désormais, nous pouvons toujours générer l'effet hit chaque fois que nous faisons apparaître le texte flottant S'il arrive un cas plus tard dans le jeu où nous devons faire apparaître le texte flottant sans effet de frappe, nous pouvons toujours revenir et l'ajouter ici Mais pour l'instant, nous n'avons pas vraiment besoin d'ajouter deux événements en permanence. Nous pouvons toujours y jouer et tout ira bien. OK, c'était pour le moment. Passons à la suivante. 52. 5.18 Mise à jour de l'affichage de texte flottant: OK, nous allons maintenant mettre à jour correctement le texte flottant. Maintenant, vous pouvez essayer de le faire vous-même, car c'est en fait une tâche simple. Essayez donc de réfléchir à la manière dont je peux mettre à jour correctement ce texte flottant. Lorsque je clique sur l'ennemi, ce texte doit s'afficher correctement. Il est toujours agréable de le faire vous-même si vous ne savez toujours pas comment le faire. Essayons de continuer ensemble maintenant. J'aime parfois commencer à l'envers. Au lieu de partir de la manette du joueur et d'essayer de mettre à jour les choses ici. J'aimerais commencer par la dernière étape, car c'est ce qui aura le plus de sens au final. Passons à l'interface utilisateur. Ouvrons le texte flottant. En gros, l'objectif que nous voulons faire est de mettre à jour ce texte ici. Nous l'avons appelé texte flottant, puis nous l'avons rendu variable ici dans le graphique. Supprimons simplement tout cela. Ce que nous voulons faire, c'est simplement prendre ce texte et utiliser celui appelé texte défini. C'est essentiellement notre objectif. Nous voulons attribuer au texte une valeur similaire aux dégâts que nous infligeons à la souris. Ce que nous pouvons faire, c'est cliquer avec le bouton droit de la souris et créer un événement personnalisé. Ensuite, nous pouvons dire mettre à jour le texte flottant. Nous pouvons simplement utiliser cet événement personnalisé. Allons-y et connectons-le maintenant au texte avec lequel nous voulons le mettre à jour, nous pouvons toujours simplement le connecter à l'événement et nous pouvons le mettre à jour plus tard de manière dynamique. Appelons-le simplement texte, ou vous pouvez également l'appeler texte flottant. Je vais juste appeler ça un texto. En fait, nous n'avons pas besoin de l'appeler texte flottant et de le compiler. Nous devons maintenant utiliser cette mise à jour, le texte flottant. Je vais le mettre à jour par le biais mon acteur parce que c'est ce qui me semble le plus logique. Je vais voir les plans. Passons au texte flottant. Ouvrez-le à l'intérieur d'ici, nous voulons utiliser cette mise à jour, du texte flottant. Moi, je vais l'utiliser chaque fois que nous ferons apparaître l'acteur. Chaque fois que je clique et que nous faisons apparaître cet acteur, je veux qu'il soit mis à jour instantanément Je vais juste utiliser le début. Jouez ici dans l'acteur de texte flottant ici. Utilisons ce texte flottant. Nous avons ajouté le widget, faisons-le glisser ici. Et disons obtenir les données du widget utilisateur. Ou obtenez un objet widget utilisateur plutôt que des données. Maintenant, nous allons dire, encore une fois, que celui-ci en coûte deux. Passons au texte flottant ici. Allez-y, connectez-le. Maintenant, pour celui-ci, nous allons faire glisser et maintenant nous pouvons utiliser le texte flottant de mise à jour, l'interface utilisateur. Disons mettre à jour le texte flottant par glisser-déposer I. Nous devons avoir une valeur à partir de ce texte , car maintenant vous pouvez voir si j' écris simplement bonjour par exemple. Et je compile et je clique sur Play. Et je clique ici, vous pouvez voir maintenant qu'il se met à jour correctement. Cependant, comment puis-je obtenir les dégâts ici ? Parce que nous n'avons pas vraiment de variable de texte et que je n'ai pas vraiment de plug-ins pour cela, comme pour les entrées. Maintenant, ce que vous pouvez faire, c'est créer une nouvelle variable. Si je crée une nouvelle variable ici et que je l'appelle simplement texte, je vais la transformer en chaîne. Ce que nous pouvons faire maintenant, c'est descendre et ouvrir le Player Controller. N'oubliez pas que c'est l'étape suivante si nous revenons en arrière, car dans la manette de jeu, nous faisons apparaître ce texte flottant Puisque vous en avez fait une instance modifiable et exposez au spawn, ce qui va se passer maintenant si vous compilez n' apparaît parfois pas. Vous devez donc cliquer sur Fichier et actualiser tous les nœuds Lorsque vous faites cela, vous pouvez voir ce texte apparaître. Cela se produit parce que vous définissez cette sur une instance modifiable et que vous l'exposez au moment de l'apparition, ce qui la rend ensuite exposée ici lorsque nous faisons apparaître Ce que nous pouvons faire maintenant, c'est prendre ce texte et encore une fois, le brancher ici. Je vais juste le mettre au-dessus cet emplacement d'apparition et nous pouvons simplement le laisser s'appeler texte C'est très bien. Maintenant, si je reviens au texte flottant, permettez-moi de prendre ce texte ici et de le brancher ici. Il va automatiquement transformer mon texte en une chaîne comme celle-ci. OK, maintenant nous l'ajoutons à la manette du joueur, il devrait donc apparaître dans la base ennemie. Allons-y, voyons les ennemis et ouvrons la base ennemie. Et maintenant, nous pouvons voir que nous avons une saisie de texte. Maintenant, pour ce qui est de la saisie de texte, ce que nous voulons simplement afficher c'est l'endommagement de la souris. Et nous l' avons déjà. Nous avons cela dans le pion du joueur, nous avons les dégâts causés par le curseur Vous pouvez toujours contrôler C, contrôler V. Copiez-le ici et connectez-le. Il va maintenant convertir votre float en variable de texte. D'accord, cela devrait fonctionner parfaitement maintenant si nous cliquons simplement sur Play et le testons. Si je clique, mes dégâts sont de 15 avec une souris, et c'est correct, tout fonctionne correctement. Mais comme vous pouvez le constater, c'est toujours coincé ici au milieu car nous devons jouer avec l'animation. C'est ce que nous ferons dans la prochaine leçon. Mais pour passer en revue les choses rapidement, vous pouvez voir comment nous travaillons à l'envers et cela leur donne parfois plus de sens commençant par, voulez-vous vraiment le faire ? Je veux définir mon texte, et c'est là que j'ai commencé. Ensuite, je fais marche arrière et j'essaie de le faire. Et parfois, dans la base animée, il est plus logique de réparer les dégâts causés par le curseur Cela passe par le texte flottant qui apparaît dans la manette de jeu et répond à l'acteur. Et nous insérons ces informations textuelles ici qui apparaissent essentiellement parce que nous avons cliqué sur le texte et l' exposé lors de la génération de ces Maintenant que c'est fait, nous allons le connecter à l' interface utilisateur de mise à jour en texte flottant Et il va mettre à jour l'interface utilisateur comme ceci. OK, c'était tout pour le moment. Passons à la suivante. 53. 5.19 Jouer l'animation de texte flottant: Très bien, allons-y et diffusons l'animation. Revenons à l'interface utilisateur et ouvrons l'interface utilisateur à texte flottant à l'intérieur d'ici. Passons au graphique. Dans le graphique, nous voyons cet anime à texte flottant, nous avons créé plus tôt, comme vous pouvez le voir ici Passons maintenant au graphique pour cette animation . Faisons-le glisser dedans. Partons de cette animation et disons simplement « jouer l'animation ». Nous pouvons maintenant utiliser cette fonction, jouer à l'animation. Allez-y et connectez-le. Maintenant, pour cette animation de jeu, le temps est nul. C'est très bien. Le nombre de fois où il va tourner boucle convient à tout. Voilà, c'est bon. Nous n'avons pas vraiment besoin de changer quoi que ce soit. Maintenant, si je clique sur Play et que je clique dessus, vous pouvez voir que l' animation est en cours de lecture. Tout fonctionne réellement, et c'est ce qui devrait être le cas. Cependant, n'oubliez pas que nous ne détruisons pas l'acteur. Et ce sera un énorme problème pour votre jeu si vous ne le faites pas. Parce que maintenant vous pouvez voir quand je clique, vous pouvez voir le nombre d'acteurs que je crée. Pour le moment, il est 32, je continue de cliquer, il en est maintenant 42 parce que nous supprimons uniquement l'effet hit. N'oubliez pas que nous générons également cet effet de frappe dès maintenant. Et en faisant apparaître et en faisant apparaître des acteurs du texte flottant, nous ne les supprimons jamais Cela va poser problème et votre jeu va faire planter votre jeu si vous cliquez dessus suffisamment de fois. Ouvrons le texte flottant. Comment détruire ce texte flottant ? Moi, nous pouvons vraiment le faire à nouveau à l'intérieur. Retournez aux plans, ouvrez le texte flottant Faisons-le à l'intérieur d'ici. Maintenant que nous avons ce texte flottant, nous pouvons le faire glisser et rechercher le texte flottant, l'anime flottant que nous avons créé précédemment Maintenant, ce que nous pouvons faire ici, c'est glisser et dire « get end time ». Nous pouvons utiliser un délai comme avant. Vous pouvez même ouvrir l' effet hit et voir ce que nous avons fait ici. Nous avons essentiellement fait la même chose. Cependant, il s'agissait d'un flip book. Nous avons obtenu la longueur des flipbooks. maintenant à l'animation, nous arrivons à l'heure de fin. Nous savons quand cela se terminera. ce cas, vous pouvez utiliser un délai une fois l' animation jouée. Une fois, vous pouvez continuer et supprimer cet acteur de texte flottant juste à partir d'ici. Et dites « Destroy Actor ». Et maintenant, il va être détruit. Disons tout. Et cliquez sur Play. Et je vais juste minimiser cela. Encore une fois, je peux voir le nombre d'acteurs que je crée. Maintenant que je clique, clique et clique, je devrais revenir à 15, car je supprime tout mon texte ici, mon texte flottant. Je vais ajuster l'emplacement du texte car je ne veux pas qu'il apparaisse au milieu de l'ennemi Je vais ouvrir le contrôleur du joueur, et c'est là que se trouve le lieu d'apparition Je vais le traîner ici. Au lieu de cela, je vais prendre ceci et dire casser vecteur pour pouvoir le décomposer en X, Y et Z. Il en va de même pour celui-ci Je vais faire glisser et dire que make vector peut également voir les x, y et z. Maintenant, lorsque vous faites cela, vous pouvez toujours regarder ici dans la fenêtre d'affichage et voir l'axe, son emplacement Maintenant, pour le x ici, nous n'avons pas vraiment besoin de le modifier car il est déjà centré sur l'acteur du x. Je vais juste le faire glisser directement vers l'intérieur. Je ne veux pas ajuster cette valeur maintenant pour le y, Y est celui-ci, le vert. Y contrôle la quantité de va-et-vient. Je vais juste en dire un pour le Y, parce que le premier signifie simplement que je vais juste le mettre un peu devant l'ennemi. Le texte n'apparaît pas dans l'ennemi et nous obtenons effet visuel semblable à un bug Au lieu de dix, vous pouvez voir ici qu'il y en a dix. Maintenant, au lieu d'en écrire un dans le Y, je m'assure que ce texte est devant l'ennemi. Pour la valeur actuelle, c' est la plus importante, la valeur Z est celle-ci. Et je voulais apparaître ici, au-dessus de l'ennemi. Ce que je peux faire, c'est peut-être dire quelque chose comme prendre ce Z que nous avons déjà et je vais dire en plus de l'ajouter. Je vais en ajouter 22 , puis je vais le rebrancher. Maintenant, ce que nous faisons, en gros, nous prenons la valeur z, nous l'ajoutons 22, puis nous la branchons Allez-y et jouez. Je peux voir où il enjambe les pattes au-dessus du personnage. Je pense que c'est bien mieux qu'avant. Vous pouvez toujours ajuster l'emplacement en fonction de l'endroit où vous souhaitez placer le texte. OK, c'était tout pour le moment. Allons-y, sauvegardons tout, et continuons maintenant. 54. 6.01 Designing de l'interface utilisateur de minuterie: Très bien, il est temps d'ajouter le chronomètre. Lorsque nous jouons au jeu et que nous essayons d'infliger des dégâts à cet ennemi, je veux qu'il soit chronométré pour que vous n'ayez pas une éternité à remplir cet ennemi. Si le chronomètre est terminé, cet ennemi sera réel. Si vous le faites trop lentement, il se soignera à nouveau et vous devrez peut-être revenir un niveau pour vaincre l'autre ennemi avant de pouvoir continuer. Fermons ça pour le moment. Maintenant, le chronomètre va se trouver dans l'interface utilisateur principale. Ce n'est pas vraiment une interface utilisateur en soi. Allons-y et créons l'interface utilisateur principale. Faisons un clic droit, accédons aux interfaces utilisateur, Blueprint Appelons celui-ci B main. Il s'agit de l' interface utilisateur principale du jeu. Ouvrons-le et entrons-le ici, encore une fois sur un panneau de toile. Maintenant, à l'intérieur de ce panneau de toile, je veux que le chronomètre soit ici à l'horizontale. Je vais juste trouver une boîte horizontale. Je vais l'ajouter ici. Et puis cette boîte horizontale, je vais l'aligner au milieu, ici, en haut au milieu. En cliquant sur les points d'ancrage, tendre, en haut au milieu. Si vous écrivez 00 dans le x et le y, vous pouvez voir que ce n'est pas centré comme d'habitude ici dans le x, je dois écrire 0,5 donc c'est au centre maintenant. OK, c'est terminé maintenant pour l'image, ou pour l'icône, je vais rechercher une image, allez-y et ajoutez-la dans la case horizontale. ce qui concerne les icônes, nous n' avons encore rien importé, et je les ai incluses pour vous ici dans l'interface utilisateur. J'ai une horloge ici, cliquez dessus, créez un nouveau dossier appelé icônes. Allons-y et sortons d'ici, faisons glisser cette icône. Assurez-vous simplement, encore une fois, de double-cliquer dessus, vous assurer que le groupe de textures est défini sur UI et les paramètres de compression sont définis Interface utilisateur 2 D. Allez-y et enregistrez. Retournons à l'intérieur d' ici et cherchons l'horloge, sinon elle est juste là devant nous maintenant. Au lieu de l'étirer ici pour l'alignement vertical, je vais cliquer sur le milieu. Ajoutons ensuite du texte. Maintenant, pour le texte, je vais juste le copier depuis nos autres interfaces utilisateur. Peut-être celui-ci. Je vais prendre le contrôle, reviens ici. Contrôle V sur le boîtier horizontal. Centrez-le verticalement. Nous l'avons ici. Donnons-lui un peu d'espace, cherchons une entretoise Ajoutez-le entre les deux. L'entretoise, peut-être que je vais lui donner quelque chose comme 12 D X. Je trouve qu'elle est belle. Maintenant, le texte, on peut toujours en réduire la taille. ce qui concerne le texte, je ne sais pas si nous devons en réduire la taille ou non, car il s'agit en fait d'un chronomètre important. Je pense que la taille est bonne. Augmentons simplement la taille de cette image ici. Au lieu de 32 sur 32, je vais écrire 40 sur 40, quelque chose comme ça. Vous pouvez également y mettre un bloc-notes en bas ici. Je ne pense pas que ce soit trop centré. Peut-être que si je clique ici et que je le rembourre en bas, quelque chose comme deux Et ça devrait aller. Nous pourrons toujours l'ajuster plus tard. Je ne m' inquiète pas trop pour l'interface utilisateur pour le moment. Vous pouvez également cliquer sur Size to Content ici sur la case horizontale en haut, nous pouvons le pousser. Voyons donc ce que nous pouvons faire dans le Y. J'écris généralement 30, 35, c'est sur les bords ici Voilà à quoi ça ressemble maintenant. Je trouve que ça a l'air bien. Cependant, pour les jeux au clicker, j'aime que l'horloge soit en haut. Parce qu'il est très important que vous voyiez combien de temps il vous reste lorsque vous cliquez. Et tu n'as pas à regarder jusqu' ici plutôt qu'ici. Maintenant, je vais juste l'ajouter ici. Pour l'instant, nous pouvons toujours modifier l'interface utilisateur. Il ne faut pas qu'une fois que vous avez programmé tout ce que vous pouvez imaginer, si vous avez un jeu volumineux, vous puissiez réellement modifier toute l'interface utilisateur. Peut-être qu'en un jour, cela ne prendra pas longtemps, et ce jeu n'a évidemment pas trop d'interface utilisateur. Nous pouvons donc le modifier en une heure. Mais pour l'instant, il ne reste plus qu'à régler l'heure. Et sauvegardons tout. Permettez-moi de cliquer sur le texte, assurez-vous que la visibilité est réglée pour ne pas être testable. Celui-ci également. Nous pouvons simplement le configurer pour qu'il soit également testable, afin que la souris n' interagisse pas avec lui C'était ça. Sauvegardons tout, et passons à la suivante. 55. 6.02 Affichage de l'interface principale: Allons-y maintenant et affichons l'interface utilisateur principale à l'écran. Habituellement, lorsque nous travaillons avec l'interface utilisateur, nous le faisons à l'intérieur du contrôleur du joueur. Ouvrons la manette du joueur et faisons-le à l'intérieur d'ici. Maintenant, nous n'avons rien fait avec interface utilisateur où nous l' avons à l'écran. D'habitude, ce que nous avons fait jusqu'à présent , c' est l'associer à un acteur, mais maintenant nous devons créer une interface utilisateur et l'attacher à l'écran plutôt qu'à l'acteur. Allons-y et faisons-le. Je vais juste les mettre tous ici. Commençons. Maintenant, ce que je fais habituellement, c'est cliquer avec le bouton droit de la souris ici et de créer un événement personnalisé. Et je vais vous montrer une méthode intelligente si vous ne l'avez pas déjà fait. Dans l'un de mes autres cours, je crée généralement un événement appelé show hide ou open close widget. Ouvrez et fermez les widgets, vous pouvez l' appeler comme vous voulez. Afficher masquer le widget, ouvrir le widget fermer. C'est ici. Nous devons maintenant avoir une idée de quel widget parlons-nous ? Et je ne pense pas que nous ayons encore créé une énumération pour cela. Si vous l'appelez Come blueprints, enumerations. Maintenant, à l'intérieur d'ici, je vais faire une liste des interfaces utilisateur que je vais avoir dans mon jeu. Je vais l'appeler widgets de jeu, car plus tard, j'en ai aussi un que l'on pourrait appeler widgets du menu principal. Donc, celui-ci s'appelle des widgets de jeu. Nous devons maintenant spécifier ici une liste des widgets que vous avez dans le jeu. Par exemple, je peux avoir une interface utilisateur principale. Je peux, par exemple, créer une boutique de mise à niveau, etc. Vous pourrez l'avoir plus tard, mais pour instant je n'ai besoin que de l'interface utilisateur principale. Je vais juste l'appeler principal. Maintenant, si vous revenez à la manette de jeu, nous pouvons maintenant rechercher dans l' entrée cette énumération que nous avons appelée widgets de jeu Et nous pouvons sortir et le sélectionner. Je vais juste appeler celui-ci des widgets. Si nous ouvrons et fermons un widget, nous devons spécifier de quel widget il s'agit. Je peux en fait appeler cette fonction ici, ou cet événement, afin que vous puissiez voir à quoi cela ressemble. Voici à quoi cela ressemblera lorsque j'appellerai cette fonction plus tard. Nous pouvons maintenant sélectionner le widget dont nous parlons. Je veux aussi une autre contribution, un taureau. Encore une fois, un lingot est simplement un oui ou un non. Juste un faux ou un vrai. Pour celui-ci, je vais dire ouvert, je vais juste l'appeler émission. D'habitude, j'aime l'appeler show hide. Je ne me confonds pas avec celui-ci. Je vais le renommer en Show Hide Widgets. Nous devons préciser de quel widget nous parlons pour le moment. Nous avons juste l'interface utilisateur principale , puis nous pouvons l'afficher ou la masquer. Si je l'ai décochée, c'est masqué. Et si je l'ai cochée, c'est une émission. C'est comme ça que je le fais habituellement. Celui-ci, on peut créer une branche. Maintenant, s'il est affiché, nous voulons afficher le widget. Parce que c'est vrai. Créons deux fonctions. Permettez-moi d'en créer un appelé show widget et créer un autre. Habituellement, j'ajoute un pour mes fonctions en tant que préfixe. C'est beaucoup plus facile à rechercher car si vous cliquez avec le bouton droit de la souris et que vous effectuez une recherche, vous pourrez accéder à toutes vos fonctions à l'avenir. Pour afficher les widgets, je vais cliquer, j'ai une entrée de widgets de jeu, les sélectionner et les appeler widget. va de même pour le Hyde Widgit, allez-y, cliquez dessus, ajoutez-le et appelez-le widget Ce que nous voulons faire ici maintenant dans le widget d'affichage, nous voulons le faire glisser à partir d'ici et dire « activer l'énumération Ce que nous allons faire ici, c'est essentiellement lui dire si l'énumération, ou si cette valeur est principale, que voulons-nous faire ? Imaginez si nous en avions un autre, par exemple, si nous avions un menu Paramètres et que nous sortions et que nous allions enregistrer. Maintenant, vous pouvez voir ici que cela est ajouté ici. Si la valeur qui passe par ici, qui est essentiellement sélectionnée d'ici, nous sélectionnons quelle doit être la valeur si elle apparaît ici dans le widget d'affichage. Et la valeur est main, par exemple, elle va ignorer le code ici, et elle va uniquement exécuter le code ici. C'est ce qui active l'énumération. Le code ici présent va-t-il s'exécuter ? Et celui-ci ne fonctionnera pas si la valeur est principale ici. Permettez-moi de supprimer ces paramètres pour le moment. Ce que nous voulons faire ici, c'est essentiellement créer le widget et l' ajouter à l'écran. Cliquez avec le bouton droit de la souris et disons créer des widgets que vous avez sélectionné sélectionner le widget que vous souhaitez créer. Je veux créer l'interface utilisateur principale et cliquer avec le bouton droit la souris pour la transformer en variable. Appelons-le essentiellement le widget principal. Ensuite, nous voulons faire glisser le pointeur à partir d'ici et dire Ajouter à la fenêtre d'affichage C'est ainsi que nous ajoutons l'interface utilisateur à l'écran, car il ne suffit pas de la créer, mais vous devez également l'ajouter à la fenêtre d'affichage avant de pouvoir la voir, d'accord Maintenant, nous pouvons le connecter comme ça, et tout va bien. Cependant, ce que j'aime faire c'est juste pour des raisons d'optimisation, nous pouvons prendre cette variable que nous venons de créer, nous pouvons écrire click et la convertir en un get validé. Ce que nous pouvons faire maintenant, c'est simplement le déconnecter en maintenant la touche Alt enfoncée et en cliquant et nous pouvons le connecter. Maintenant, si ce n'est pas valide, cette variable ne l'est pas. Cela signifie que cela n'a pas encore été créé. Nous n'avons pas encore créé l'interface utilisateur. Il indiquera « non valide ». Lorsqu'elle n'est pas valide, nous voulons créer l'interface utilisateur. Cependant, si nous avons déjà créé l'interface utilisateur une fois avant qu'elle ne soit valide, nous n'avons pas besoin de la créer tout le temps et de continuer définir cette variable si nous avons déjà fait une fois auparavant, elle sera valide si nous l'avons fait une fois. Ensuite, je vais simplement l' ajouter au point de vue, nous n'avons pas à le créer tout le temps. OK, compilons maintenant pour le widget Hyde. Revenons ici pareils. Disons activer l'énumération, activer les widgets de jeu Alors voici ce que je veux que vous fassiez, faites simplement glisser cette variable, cliquez à nouveau avec le bouton droit de la souris, convertissez-la un get validé, comme avant. Ensuite, glissons et disons supprimer de la liste des parents. Retirez-le de l'écran. Ceci est retiré aux parents, maintenant nous le supprimons de l'écran. D'accord, comment utilisons-nous les fonctions que nous venons de créer ? Maintenant, si nous revenons au graphique des événements, nous pouvons faire glisser les fonctions, le widget d'affichage et de masquage. Allons-y et connectons-les. Si le harcèlement est vrai, nous voulons montrer le widget, nous allons de l'avant et connectons celui-ci. Si c'est faux, on veut masquer le widget, on connecte l'autre. Maintenant, pour le widget qui s'affiche, il s'agit simplement de ce que nous avons sélectionné ici. Mais nous pouvons simplement faire glisser cette entrée dans ces fonctions, et les données seront transférées dans ces fonctions ici. Maintenant, c'est vraiment terminé. Ce que nous pouvons faire, c'est que nous pouvons appeler cet événement ici chaque fois que nous voulons afficher ou masquer un widget. Je peux donc dire afficher, masquer le widget. Je peux spécifier de quel widget je parle. Je peux également spécifier si nous voulons afficher ou masquer ce widget. Fonction super intelligente que nous pouvons utiliser. En gros, nous n'avons pas à écrire tout ce code ici, il est beaucoup plus facile de simplement utiliser celui-ci. Allons-y et affichons l'interface utilisateur principale. Faisons-le simplement ici dans le Player Controller. Écrivons les événements, commençons à jouer. Que devrait-il se passer lorsque je commencerai à jouer ? Je veux juste montrer masquer ce widget. Je veux donc afficher mon menu principal ou mon interface utilisateur principale. En gros. Ça y est, ici. Si nous compilons et que je clique sur Play, vous pouvez voir que je peux maintenant voir mon chronomètre ici. Parce que maintenant nous montrons le widget. Si vous souhaitez masquer le widget, vous pouvez toujours cliquer ici. Et tu peux cliquer sur jouer. Et vous pouvez voir que le widget a disparu, car maintenant nous le cachons. Afficher le widget principal, et c'est ainsi que cela se fait. Allons-y, fermons tout, et continuons. 56. 6.03 Réglage de la minuterie ronde: Il est maintenant temps d' ajouter le chronomètre. Maintenant, dans les jeux solo, nous ne sommes pas vraiment tenus responsables de l'endroit où nous voulons ajouter le code. Je pourrais ajouter le chronomètre au joueur, je pourrais l'ajouter à la manette du joueur et je pourrais l'ajouter au mode de jeu. En gros, en multijoueur, vous auriez un problème, car il faudrait faire les choses correctement. Mais en mode solo, nous pouvons tout coder, par exemple, à l'intérieur du joueur, même si cela devrait être le cas en mode jeu. Et le jeu fonctionnerait très bien pour rester et suivre de bonnes pratiques de programmation. Faisons le chronomètre dans le mode jeu. N'oubliez pas que le mode de jeu contrôle les règles du jeu. Je pense qu'un chronomètre est quelque sorte une règle dans un jeu. Au lieu d'ici, faisons le chronomètre. Je veux essayer de faire un autre événement personnalisé. Faisons un clic droit et créons un événement personnalisé. Appelons cela un chronomètre à démarrage unique. Nous voulons démarrer le chronomètre. Je veux utiliser ici principalement quelque chose appelé timer by event. Cliquez à l'extrême droite et recherchez le chronomètre par événement, sélectionnez celui-ci. Désormais, le chronomètre par événement est simplement un chronomètre qui tourne en boucle encore et encore. Au lieu d'utiliser le tick d'événement, vous savez peut-être déjà ce qu'est un tick d' événement. Si vous ne le faites pas, celui-ci fonctionne 60 fois par seconde. Si je pouvais juste faire glisser le pointeur ici imprimer une chaîne et dire bonjour. Vous pouvez voir que si je clique sur Play, il s' imprimera 60 fois par seconde. Ici, on dit bonjour. En général, c' est très mauvais à utiliser dans un jeu. Si je regarde un jour votre jeu, je ne veux jamais voir un événement se produire dans votre jeu parce que c'est très mauvais à utiliser, sauf si vous êtes absolument obligé de l'utiliser réellement. Pour Fun Tail, que j'ai développé pendant deux ans, je n'ai jamais utilisé celui-ci. Et je ne pense pas que vous devriez l'utiliser non plus, car il est vraiment optimisé pour exécuter ce code autant de fois. Nous le faisons plutôt en configurant une minuterie. Un minuteur, vous pouvez choisir combien de fois vous souhaitez le boucler une seconde au lieu de le faire 60 fois par seconde Ce que je peux écrire ici, c'est, par exemple, 0,1 Si vous n'êtes pas vraiment bon en mathématiques, vous pouvez simplement dire ce qui est 1/0 0,1 soit dix Cela signifie qu'il fonctionne dix fois par seconde. Et si je le mettais à 0,03 alors vous allez l' exécuter 33 fois par seconde. Maintenant, vous devez parfois le faire plusieurs fois parce que, par exemple, dans un jeu RTS où vous construisez bâtiments, comme dans Les Sims, par exemple, dans les Sims, vous faites glisser un bâtiment ou un objet, vous pouvez le placer autour de vous Maintenant, pour mettre à jour le fantôme du bâtiment que vous êtes en train de traîner, il est très important qu'il soit fluide Vous devez le régler sur quelque chose comme 0,03 par exemple. Mais vous pouvez voir que le lancer 33 fois par seconde est bien mieux que le faire 60 à 1 seconde. Vous le faites fonctionner à peu près deux fois moins vite que celui-ci. Et il va déjà être beaucoup optimisé simplement en utilisant une minuterie et en le faisant ici. Par exemple, pour le chronomètre par événement, nous n'avons pas vraiment besoin de mettre à jour le Tim. Par exemple, 33 fois par seconde. Nous pouvons commencer avec quelque chose comme 0,1. Nous pouvons essentiellement mettre à jour le chronomètre dix fois par seconde. Essayons de le faire. Supprimons cela ici. Connectons celui-ci ici. Pour l'événement ici, nous devons organiser un événement. Je peux faire glisser le pointeur vers le bas, créer un événement personnalisé. D'habitude, je l'appelle boucle à la fin, donc je vais juste l'appeler round timer, loop. Cet événement va essentiellement se dérouler en boucle. Nous allons le mettre en boucle. Ce que je veux faire, c'est essentiellement régler une minuterie. Créons deux variables. Permettez-moi d'en créer un appelé chronomètre initial. Réglons-le sur float, compilons. Maintenant, ce sera notre chronomètre initial. Supposons, par exemple, que nous ayons 5 secondes au départ pour tuer cet ennemi. Créons-en un nouveau appelé Current Round Time. C'est celui qui va être mis à jour. Le chronomètre initial ne changera pas, mais nous allons d'abord modifier notre chronomètre actuel. Avant de commencer cette boucle ici, assurons-nous que le chronomètre actuel est égal au chronomètre initial, sinon il sera nul. Vous ne voulez pas le démarrer en boucle alors le temps est nul Réglons le chronomètre actuel sur le chronomètre initial. Ainsi, nous avons maintenant un peu de temps pour commencer. Le temps est de 5 secondes, parce que nous avons réglé celui-ci à cinq, maintenant celui-ci est de 5 secondes. Ce que nous voulons faire ici, utiliser le chronomètre actuel. Je veux dire moins. En gros, nous voulons le soustraire avec 0,1. Si cela doit être exécuté dix fois par seconde, cela signifie qu'il va essentiellement supprimer 1 seconde par seconde , si cela a du sens Parce que cela va s'exécuter dix fois au lieu d' avoir une valeur statique. Encore une fois, je n'aime pas les valeurs statiques parce que c'est difficile de les changer si le jeu se bloque. Au lieu de cela, vous pouvez cliquer avec le bouton droit de la souris sur cette valeur et la transformer en variable, et vous pouvez l'appeler par exemple « round timer time ». J'espère que cela ne me prêtera pas trop à confusion à l'avenir, car c'est le chronomètre, c'est essentiellement le moment ici Faisons-le simplement glisser ici. Au lieu d'avoir cette valeur statique, compilons cette valeur -0,1 et vérifions-nous que la durée du chronomètre est de 0,1. Également ici Cliquons avec le bouton droit sur ce chronomètre et transformons-le en variable, car plus tard, nous devrons arrêter ce chronomètre si nous ne voulons plus l'utiliser. Et nous le faisons en ayant cette variable. Appelons celui-ci Tim Handle. Si vous maintenez la souris dessus, il s' agit essentiellement d'une poignée de minuterie, d'une poignée de chronomètre. Maintenant, ce que nous pouvons faire, c'est maintenant que nous disons -0,1. Encore une fois, je dois le bloquer parce que je veux m' assurer qu'il ne sera pas inférieur à zéro Maintenant, ce que nous voulons dire, c'est le chronomètre actuel, chronomètre rond -0,1. Si nous bouclons cela, ce montant aussi, sera en gros de moins un par seconde Je vais régler à nouveau le chronomètre actuel, nous disons essentiellement moins un par seconde. Maintenant, allons-y et imprimons une chaîne. Vous pouvez réellement voir ce qui se passe et ajoutons-le ici. Finissons-en avec la fin de la partie. Tim peut simplement le démarrer ici au cas où il commencerait à jouer. Partons d'ici et disons « recommencez » Tim. Compilons et jouons. Maintenant, vous pouvez voir que le chronomètre fonctionne maintenant. Il va passer en dessous de zéro parce que nous ne l'avons pas bloqué Allons-y et faisons-le. Faisons de nouveau grève ici. Faites glisser le pointeur d'ici et dites clamplamp float La valeur minimale est zéro en dessous de zéro » La valeur maximale correspond essentiellement au chronomètre actuel. Maintenant, allons-y et connectons cela. Tout devrait bien se passer si je compile et que je clique sur Play. Et jetez un œil ici maintenant, ça ne devrait pas descendre en dessous de zéro, et tout fonctionne très bien. Il ne nous reste plus qu'à mettre à jour cette interface utilisateur ici pour qu' elle fonctionne correctement. C'est bon, c'est tout pour le moment. Nous avons une minuterie qui fonctionne, et nous pouvons simplement la laisser là, car nous devons démarrer la minuterie, tout fonctionne bien. Et nous devons continuer dans la prochaine leçon. 57. 6.04 Mise à jour de la minuterie d'interface principale: Bien, c'est là que nous nous sommes arrêtés. Revenons en arrière et mettons à jour le chronomètre dans l'interface utilisateur principale. Ce que nous voulons faire, c'est revenir à l'interface utilisateur principale. Nous voulons cliquer sur ce texte. Disons que c'est un peu comme un chronomètre. Minuteur circulaire Revenons au graphique ici. Permettez-moi simplement de supprimer tout cela. Maintenant, pour ce chronomètre, je voudrais, encore une fois, définir le texte, exactement comme nous l' avons fait jusqu'à présent. Créons un événement personnalisé pour cet événement personnalisé. Appelons ça une mise à jour, Tim. Je nous laisse simplement aller de l'avant et le connecter. Maintenant, allons-y et au lieu de simplement le connecter directement, je voulais également indiquer quelques secondes de retard. Je souhaite utiliser un format de texte, comme ce que nous avons fait jusqu'à présent. Pour ce format de texte, je veux une variable. Disons simplement qu'il reste du temps. Fermons les crochets. Et si vous appuyez sur inter, cette entrée apparaît, alors je veux juste écrire sec derrière elle. Nous savons que cela ne prend que quelques secondes. Maintenant, cette variable est un flottant. Je vais juste ajouter ici une entrée de float et l'appeler round timer remaining. Maintenant, nous pouvons aller de l'avant et nous avons pratiquement terminé. Allons-y maintenant et mettons-le à jour. Utilisons cette interface utilisateur du temporisateur de mise à jour. Maintenant, vous pouvez essayer de le faire vous-même juste pour vous entraîner car c'est en fait simple si vous y pensez. Mais si vous rencontrez toujours des difficultés, allons-y et faisons-le ensemble. Si nous revenons aux plans, ouvrez le mode dans lequel nous avons créé le code Maintenant, chaque fois qu' il est en boucle, nous voulons également mettre à jour l'interface utilisateur Après avoir réglé le chronomètre, nous voulons mettre à jour l'interface utilisateur. Maintenant, comment obtenir l'interface utilisateur ? N'oubliez pas que l'interface utilisateur se trouve à l'intérieur du widget principal, ici. C'est l'événement que nous voulons utiliser. Nous devons obtenir une variable ou l'interface utilisateur principale. N'oubliez pas que nous l'avons déjà dans le contrôleur du joueur, car à l'intérieur, nous l'avons créé dans une variable. Allons-y et appelons le contrôleur du joueur. Avons-nous une variable pour la manette de jeu ? Oui, nous le faisons. Nous l'avons déjà fait. Allons-y et glissons la manette du joueur. Faisons glisser WB main pour obtenir le résultat. Ensuite, récupérons les événements de l' interface utilisateur du temporisateur de mise à jour. Nous pouvons appeler ça maintenant, connectons-le. Maintenant, c'est le chronomètre restant, c'est-à-dire celui-ci. En gros, compilons. Et si je clique sur jouer, maintenant vous pouvez voir que cela fonctionne très bien. Maintenant, vous pouvez voir qu' il y a un problème car je ne veux pas supprimer cette décimale chaque fois qu'elle est nulle Comme ça, je voulais dire 0.0 par exemple, ou 1.0 je ne veux pas qu'il le supprime. cette façon, au lieu de brancher directement le float, vous pouvez d'abord le convertir en chaîne et cela ne supprimera pas ce que vous écrivez, vous écrivez simplement deux chaînes Allez-y et sélectionnez deux chaînes flottantes. Maintenant, au lieu d'avoir un float, déconnectons-le. Et branchons la ficelle. Compilons. Cliquons sur Play. Et maintenant, vous pouvez voir qu'il indique zéro à la fin, et qu'il ne va pas le supprimer. Je pense que cela nous semble beaucoup mieux, c'était tout pour mettre à jour l'interface utilisateur. Passons à la leçon suivante. 58. 6.05 Restaurer la santé sur Timer End: L'objectif principal ici est de restaurer la santé de l'ennemi chaque fois que le temps imparti est écoulé. C'est ce que nous allons faire. C'est très simple. Nous avons déjà tout ce dont nous avons besoin dans le chronomètre de départ. Chaque fois qu'on fait une boucle dans le temps, il arrive à zéro. Prenons le chronomètre ici et nous pouvons simplement prendre une nouvelle variable au lieu d'utiliser celle-ci tout le temps. Juste pour le rendre plus propre, nous pouvons utiliser celui-ci. Et maintenant, nous pouvons dire si c'est égal à zéro, donc en gros, le temps est écoulé, créons une branche, allons-y et connectons-la. Chaque fois que c'est le cas, nous voulons rétablir la santé Allons-y et créons l'événement personnalisé pour la restauration de la santé. Et je pense qu'il vaut mieux le faire à l'intérieur de l'ennemi. Passons à l'ennemi, ouvrons la base ennemie à l'intérieur d'ici. Créons-en un appelé Restore Health. Allons ici, créons un nouvel événement personnalisé. Disons que c'est rétablir la santé comme ça. Maintenant, en ce qui concerne la restauration de l'état de santé, ce que nous allons simplement faire, souvenez-vous que nous avions précédemment celui-ci appelé mettre à jour l'état de santé. Nous pouvons simplement utiliser celui que je fais glisser ici et dire « mettre à jour la santé ». Mettez à jour l'état de santé, le voici. Maintenant, quel est l'état de santé actuel ? Nous voulons juste soigner l' ennemi au maximum. Encore une fois, nous avons les informations sur l'ennemi et nous avons déjà la santé. Je vais contrôler C ceci et contrôler V ici. Nous allons juste le brancher ici. Nous rétablissons essentiellement la santé. Encore une fois, cela devrait être le cas. Si je reviens au mode jeu, nous avons maintenant besoin d'une variable indiquant l'ennemi. Je ne me souviens pas si nous avons une variable indiquant l'ennemi à l'intérieur d'ici, nous n'en avons pas. Nous devons trouver comment obtenir la variable correspondant à l'ennemi ? Parce que nous devons appeler cela restaurer la santé. N'oubliez pas que si nous revenons, par exemple, à la manette du joueur, c'est là que nous avons fait apparaître l' ennemi, l'ennemi Et nous en avons fait une variable. Nous savons en fait quel ennemi est apparu actuellement. Si je reviens ici et que je prends la manette du joueur, je peux rechercher la variable ennemie générée, et je peux la prendre Maintenant, nous pouvons dire rétablir la santé. Je vois bien que je ne le trouve pas. Donc, si je reviens à la manette du joueur, c'est parce que j'ai directement promu celle-ci en tant que variable spawn enemy Ce qui n'est pas faux. Je peux passer en mode jeu et dire à la base ennemie. Ici, je peux dire de rétablir la santé et tout ira bien. Mais encore une fois, je n' aime pas utiliser le casting. Et cette partie est également inutile car nous pouvons le faire dans le contrôleur du joueur ici avant de le promouvoir en variable. Revenons-en aux interfaces. Et nous n'en avons pas fait pour l'ennemi. Essaie de le faire toi-même. Nous l'avons déjà fait plusieurs fois. Encore une fois, si vous ne vous en souvenez pas complètement, allons-y et faisons-le ensemble. Encore une fois, je vais passer rapidement en revue cette question. Cliquez avec le bouton droit sur le plan et créez une interface de plan. Appelez ça une base ennemie. Allez-y, ouvrez-le. Disons obtenir une référence à un ennemi. Ensuite, dans le résultat, cherchons la base ennemie de BP laquelle nous essayons de faire référence. Appelons-le Enemy Compiler. Retournons maintenant à la base ennemie. Et à l'intérieur, dans les paramètres de classe, nous voulons ajouter cette interface que nous venons de créer, appelée enemy but compile. Maintenant, nous pouvons voir cette fonction apparaître, double-cliquez dessus. Pour l'ennemi, je vais faire référence à moi-même, car encore une fois, nous sommes à l'intérieur de la base ennemie et nous sommes en train de définir cette variable. Maintenant, ce que nous pouvons faire, c'est dans le contrôleur du joueur . Au lieu de le transformer directement en variable, je vais le supprimer pour le moment. Je peux vous dire d'obtenir une référence à un ennemi. Parce que n'oubliez pas que si vous maintenez la souris dessus, il s'agit que d'une référence à un acteur. Mais si j'en fais une variable, il s'agit d'une référence de base ennemie. Et nous pouvons l'utiliser sans le faire tout le temps dans tous les autres plans Je vais éliminer cet ennemi engendré. Assurons-nous simplement ne pas l'avoir utilisé auparavant. Parce que si je le supprime maintenant, je vais supprimer toutes les références qu'il contient. Ce que je fais habituellement dans mes jeux, c'est de cliquer dessus avec le bouton droit , de trouver des références, aucun résultat dans ce plan Nous devons effectuer des recherches à l'échelle mondiale. Vous pouvez le faire en cliquant sur la petite icône. Il va chercher dans tous les plans. Et vous pouvez voir que vous n'avez jamais utilisé cette variable auparavant. Il est possible de le supprimer en toute sécurité. Je vais le supprimer, oui. Promouvons maintenant celui-ci au rang d'ennemi à apparition variable. Maintenant, nous pouvons utiliser celui-ci. Compilons. Revenons au mode de jeu. Supprimons tout cela. Maintenant, à partir de la traînée ennemie engendrée. Faisons naître un ennemi à partir de celui-ci. Nous pouvons maintenant faire glisser et dire « rétablir la santé ». C'est beaucoup plus facile à faire. Passons maintenant à partir d'ici. Si le chronomètre est égal à zéro, nous voulons rétablir la santé. Nous voulons également réinitialiser le chronomètre car nous devons recommencer. Je vais prendre le chronomètre actuel et le régler à nouveau sur le chronomètre initial. Juste comme ça. Allons-y, jouons et voyons ce qui se passe. Cliquez sur Jouer maintenant. Pour que nous puissions mieux tester, je vais juste nous puissions mieux tester, régler le chronomètre initial à 3 secondes, pour que cela ne prenne pas une éternité. Quand le chronomètre sera terminé, il se réinitialisera, il guérira. Le joueur clique maintenant sur l'ennemi ou le soigne. Nous pouvons plutôt voir que cela soigne l'ennemi chaque fois que c'est zéro Si je tue l'ennemi , je le soigne également. Donc, ce que nous devons essentiellement dire c'est que si je tue l'ennemi, je dois lui dire d'arrêter le chronomètre, car maintenant nous avons tué l'ennemi. Parce que, comme vous pouvez le voir ici, chaque fois que je tue cet ennemi, cela ne s'arrête pas ou ne réinitialise pas le chronomètre. C'est donc la prochaine chose sur laquelle nous voulons travailler. 59. 6.06 Minuterie de réinitialisation sur la mort d'un ennemi: Maintenant, ce que nous voulons faire, c'est réinitialiser ce chronomètre chaque fois que l'ennemi meurt. Allons-y et recommençons, c'est super facile maintenant car nous avons déjà créé cette variable appelée round timer handle. Si je me rends sur la base ennemie et que j' essaie de trouver où l'ennemi est mort, ici que nous avons créé cet événement mortel et nous avons fait tout cela ici. Arrêtons le chronomètre chaque fois que c'est le joueur ou l'ennemi qui a fait tout cela. Si je pouvais simplement tout sélectionner et que nous puissions le faire glisser dessus. Prenons maintenant ce handle qui se trouve dans le mode jeu. Je vois que nous avons déjà une variable de mode de jeu ici, donc nous pouvons dire Tim Handle. Nous pouvons aller de l'avant et obtenir cette gestion du chronomètre. Nous pouvons dire effacer et invalider le chronomètre par descripteur. Celui-ci va arrêter le chronomètre et l' invalider Allez-y, connectez-le. Maintenant, nous arrêtons le chronomètre, puis nous appliquons tous ces événements mortels ou cette logique de décès. Ensuite, après la logique de la mort, nous augmentons le niveau Ensuite, nous détruisons l'Acta. Nous devons recommencer le chronomètre, car maintenant, lorsque nous tuons l'ennemi, le chronomètre s'arrête. Mais il faut recommencer. Je pense que la meilleure façon de recommencer est de le faire à l'intérieur du niveau actuel d' incrémentation Allons-y et faisons-le dans le mode jeu, car chaque fois que nous augmentons un niveau, nous faisons apparaître un ennemi Démarrons simplement le chronomètre ici. C'est ce qu'il y a de plus logique. Ce que nous pouvons faire, c'est essentiellement, comme avant, nous pouvons le faire, démarrer le chronomètre, démarrer le chronomètre. Allez-y et appelez cet événement que nous avons créé. Et ça devrait tout régler. Maintenant, chaque fois que je n'appelle pas l'ennemi, celui-ci guérit, comme vous pouvez le voir ici. Mais si je tue l'ennemi, le chronomètre s'arrêtera, puis il se réinitialisera une fois que j'aurai tué l'ennemi. Donc, si je tue l'ennemi, il reviendra à trois et tout ira bien. OK, alors maintenant nous réinitialisons le chronomètre lorsque l'ennemi meurt. Et nous l'arrêtons également pour qu'il n'y ait pas de compte à rebours. Et passons à la suivante. 60. 7.01 Designing de l'interface utilisateur de devise: Il est maintenant temps de concevoir l'interface utilisateur des devises. Et avant cela, consultez vos supports de cours. Et j'ai inclus certaines choses pour vous. Passons donc au dossier de l'interface utilisateur ici. Je vais créer un dossier appelé boutons à la place de ce dossier. Nous pouvons faire glisser ces boutons ici. Bouton légèrement enfoncé et petit bouton. Allez-y et faites-les glisser dedans. Tout comme avant. N'oubliez pas de cliquer avec le bouton droit de la souris sur les actions des sprites et d'appliquer deux T sur le papier, car ce sont beaucoup de choix De plus, pour les images du dossier d' images vers lequel je vais à nouveau faire glisser le pointeur, je vais cliquer avec le bouton droit de la souris et appliquer du papier aux paramètres. Maintenant, pour ce qui est de l'horloge, je veux aussi la mettre à jour. Cela ressemble probablement à ça pour vous en ce moment. Je vais juste l'ajouter ici. Ou peut-être cliquez avec le bouton droit de la souris et dites « réimporter ». Il sait déjà à quoi cela ressemble si je clique sur jouer, il ressemble maintenant à ça. Voyons si nous avons besoin de quelque chose de plus, cette pièce ici. Nous avons également besoin des icônes, faites-les glisser. Cliquez avec le bouton droit de la souris, appliquez du papier aux paramètres et tout devrait bien se passer. Maintenant, avant de continuer à regarder cette horloge, en cliquant dessus, je vais en fait augmenter la taille à 50, 50. Au lieu de cela, le rembourrage est nul. Je vais le mettre à zéro. Compilez, et si je clique sur Play, je trouve que ça ressemble beaucoup mieux à ça qu'avant. Très bien, maintenant pour l'interface utilisateur actuelle, nous allons la concevoir ici à l'intérieur de l'interface utilisateur principale Et je pense que je vais le concevoir jusqu'au sommet. Commençons par cela. Tout d'abord, nous avons besoin d'une superposition. Ajoutons la superposition dans le panneau de canevas ici, pour qu'elle apparaisse ici Maintenant, pour cette superposition, je veux une image, je veux l' image d'arrière-plan de cette interface utilisateur Je vais l'aligner horizontalement et verticalement, jusqu'au bout. Nous devons maintenant sélectionner à quoi doit ressembler l'image pour l'image. Nous allons passer aux images, et je vais sélectionner ce cadre d'éléments. Allez-y, déposez-le . Et voilà maintenant pour le rendre à nouveau non flou, comme avant, en le transformant en boîte, changeant la marge en 0,5, maintenant c'est beaucoup plus beau Désormais, lorsque vous modifiez la taille de la superposition, elle correspond à la taille Maintenant, ici en bas, je veux aussi un menu de mise à niveau. Ou ce n'est pas un menu de mise à niveau, c'est plutôt une boutique. Faisons-le également. Ici, nous avons besoin d' une boîte verticale. Je vais l'ajouter. Je vais ajouter une superposition. N'oubliez pas que la boîte verticale ne doit pas être à l'intérieur de cette boîte horizontale, elle se trouve juste à l'extérieur de cette superposition Je vais le faire glisser dans la case verticale ici. Il suffit de le redimensionner. Encore une fois, encore une fois, la superposition, je vais cliquer sur facture pour le moment Je ne sais pas si je vais le remplir. En fait, je ne pense pas que je le ferai. Mais configurons-le simplement pour qu'il soit rempli pour le moment. Ajoutons maintenant l'autre. Encore une fois, je vais simplement dupliquer ceci, Overlay control D. Maintenant, voici le menu de mise à niveau, ou la boutique ici, la boutique En cliquant sur l' image, je vais la remplacer par ce cadre en papier. Allez-y et glissez-le ici. Tout devrait bien se passer. Maintenant, pour ce cadre vertical, je voulais remplir tout l'écran sur le côté. En cliquant sur le point d'ancrage , remplacez-le par celui-ci. Quand vous faites cela, le décalage en bas, je vais écrire 00. Et le décalage entre le bas et le haut remplira tout le côté de l'écran. Maintenant, je vais lui laisser un peu d'espace entre les bords de l'écran dans la position du X. Je vais également écrire 30 offset, 30 en haut, 30 en bas également. Maintenant, il n'est plus sur le bord de l'écran. Maintenant, la taille des deux. Je vais cliquer sur la superposition de la devise et je vais la régler sur automatique Au lieu de cela, je vais plutôt ici sur les images et j'augmente la taille en Y. Maintenant, pour la taille en Y, je pense qu'environ 105 devrait suffire Quelque chose comme ça, et nous pouvons écrire combien de pièces vous avez. Ajoutons également un espaceur. Recherchez un espaceur. Ajoutez-le entre ces deux superpositions pour l'espace. Je pense que je vais écrire quelque chose comme 20 dans le Y. Et vous pouvez cliquer sur ces traits pour les supprimer Et maintenant, voici à quoi ça ressemble. Vous pouvez cliquer sur Play et également le regarder. Ici, vous pouvez voir qu'il s'agit d' un écran pour ordinateur portable, mais il convient parfaitement à mon moniteur à quatre K, car encore une fois, nous l' avons conçu pour être installé sur plusieurs moniteurs. Maintenant, pour ce qui est de la taille, nous en déciderons plus tard en fonction du contenu de ce menu. Mais pour l'instant, faisons en sorte qu'il soit de la taille de celui-ci ici. Passons à la monnaie. Pour le moment, nous pouvons travailler avec le magasin. Ici, avec la devise, nous avons besoin d'une case horizontale parce que nous avons besoin d'une image puis du texte. Ajoutons-le dans la superposition à l'intérieur de cette boîte horizontale. Je vais ajouter une image, puis je vais ajouter du texte. Maintenant, pour ce qui est du texte, je vais juste le copier ici. Control C Control à l'intérieur de ce boîtier horizontal. Control V ici. Maintenant, pour cette boîte horizontale, je vais l'aligner virtuellement horizontalement au milieu de cette image Transformons-la en cette icône représentant une pièce de monnaie. Nous nous sommes de nouveau déplacés, en alignement horizontal et en alignement vertical au milieu. Les deux. Maintenant, pour ce qui est de la pièce, cliquons sur la pièce et faisons la taille 50 x 50 pour l'image. Maintenant, pour ce texte, je vais l'agrandir un peu parce que c'est très important. Je pense à quelque chose comme 34 et peut-être un peu moins, peut-être 30. Nous pourrons toujours en décider plus tard. Maintenant, pour ce qui est de la couleur de la façade, je vais également la changer en jaune. Il affiche des pièces, en change la couleur et l'opacité. Je vais essayer de choisir une couleur jaune. Je pense que je vais opter pour quelque chose comme ça. Maintenant, je dois également modifier le plan. Je pense que je vais juste copier celui-ci ici. Collez-le ici. Je vais juste le changer pour une couleur plus foncée. Je vais utiliser celui-ci. En cliquant sur OK, je vais le copier. Collez-le ici. Si je fais un zoom arrière, voici à quoi cela ressemble. Ça a l'air vraiment sympa. Maintenant, je vais vous donner un peu de marge entre la pièce et ce texte Assurez-vous simplement qu'il n'y a pas de rembourrage ici pour cette pièce. Je vais lui donner un rembourrage ici à droite de quatre. Nous avons donc un certain espacement par rapport au texte. Si je clique ici, et que je vais juste écrire zéro pour le texte, pour le moment c'est 30. Si j'écris 28, je pense que c'est trop petit. Essayons 32. C'est peut-être trop grand. Allons-y en fait avec 34. Maintenant, 30 était un bon chiffre. Compilons maintenant. Maintenant, nous avons tout conçu ici. Maintenant, pour ce qui est du texte, je vais le transformer en texte composé de pièces. Pour cette icône, nous n'avons pas vraiment besoin de faire quoi que ce soit ici. Compilons et sauvegardons tout. Nous sommes maintenant prêts à continuer. 61. 7.02 Animation d'interface utilisateur de devise: Je pense que ce serait cool d'ajouter de l'animation à ce texte pour rendre le jeu un peu plus unique et meilleur. Et c'est toujours agréable d'ajouter des animations à votre jeu pour qu'il n'ait pas l'air plat. Ce sont toujours ces petits détails qui donnent à votre jeu une bien meilleure apparence que les autres. Alors allons-y et cliquons sur celui-ci. Nous allons créer une nouvelle animation. Nous allons simplement l' appeler des pièces de monnaie. Cliquez dessus, cliquez sur Suivre, ajoutez le montant textuel des pièces et cliquez sur ce plus. Et sélectionnons la transformation. Parce que je veux changer l'échelle de ce texte. Je vais monter sur la balance d'ici. Ce que je veux faire ici, c'est qu'au bout de 0,2 seconde, je veux passer à 1,5. Même chose pour le Y, 1,5. Maintenant, c'est énorme. Ensuite, 0,4, je vais le remettre à 1,1 sur l'échelle. Maintenant, vous pouvez voir que lorsque je joue l'animation, elle ne l'a pas vraiment définie. Ça y est, je reviens à une, je joue l'animation. Vous pouvez maintenant voir à quoi cela ressemble si vous cliquez simplement sur l'espace. Voici à quoi cela ressemblera lorsque j'ajouterai pièces à cette variable ou à cette interface utilisateur ici. Cela semble bien que vous ayez une animation d'interface utilisateur. Mais compilez, sauvegardez tout, et laissez-nous continuer. 62. 7.03 Variable de quantité de pièces: Maintenant, pour ce qui est du montant de pièces, nous devons l'ajouter au joueur. Revenons aux plans. Et maintenant, ouvrons le lecteur, car nous devons maintenant stocker le nombre de pièces que le joueur possède dans une variable. Faisons simplement cette variable ici et faisons-en le nombre de pièces, appelons-le ainsi. Le nombre de pièces ne peut pas avoir de décimales, nous allons donc simplement choisir un entier Maintenant, si vous savez que votre jeu va être plein de chiffres ici, vous devez sélectionner un entier 64. En fait, je pense que je vais sélectionner un entier 64 car un entier ou un entier 64 peut avoir une valeur beaucoup plus grande qu'un entier. Cependant, encore une fois, un entier 64 sera plus lourd en termes d'optimisation que l'utilisation d'un simple entier. Mais nous en avons vraiment besoin, car encore une fois, nous créons un jeu de clicker. Et on sait dans un jeu de clicker que le montant des pièces peut atteindre une valeur intense Allez-y et sélectionnez plutôt le nombre entier 64. Faisons en sorte que ça se passe comme ça. Maintenant, je vais supprimer tout cela et créer une nouvelle variable personnalisée ou des événements personnalisés. Appelons cela une mise à jour du nombre de pièces. Nous allons mettre à jour le nombre de pièces que nous avons ici. Je vais le faire glisser dans le menu Set it here, le montant actualisé des pièces. Nous pouvons lui donner deux variables. Nous pouvons lui donner le nombre de pièces que nous voulons mettre à jour avec le nombre de pièces. Celui-ci peut être un entier car il s'agit simplement d'un nombre que nous devons augmenter ou diminuer avec notre variable. Ce n'est pas si énorme. L'autre chose est d'ajouter autre variable et un lingot, appelons-le toujours un I , en écrivant B au début. Ce que nous voulons faire ici, c'est savoir si nous voulons ajouter des pièces ou en soustraire ? C'est le but de cet événement. Frappons celui-ci et créons une branche. Alors, voulez-vous ajouter des pièces ou voulez-vous supprimer des pièces ? Voici donc les chutes. Lorsque vous souhaitez supprimer des pièces, définissons cette variable. Si nous voulons ajouter des pièces, nous pouvons les prendre. Nous pouvons dire perdre ce montant, perdre cet entier, je peux le faire glisser maintenant, nous pouvons le prendre et le mettre ici. Le montant qui entre ici perd le montant que nous avons déjà dans la variable. Nous les additionnons et nous les plaçons dans cette variable. Maintenant, s'il s'agit de moins, reprenez ceci et dites moins, soustrayez-le, nous allons le soustraire d'ici. Tout comme avant. Nous allons définir cette variable. Vous pouvez maintenant rendre ce code un peu plus propre en le supprimant. Et tu peux le faire d'une autre manière. Maintenant, je vais juste vous montrer un autre moyen. N'oubliez pas que nous avons déjà travaillé avec Select, nous pouvons donc réellement utiliser Select. Maintenant, chaque fois que vous voyez un copier-coller de code comme celui-ci, vous essayez toujours de vous demander puis-je utiliser un nœud de sélection ici pour nettoyer mon code ? Vous pouvez réellement le faire ici si je fais glisser le pointeur ici et que je dis Sélectionner et que je peux sélectionner celui-ci, ce nœud selon que cette intimidation est vraie ou fausse Et je peux juste le supprimer pour le moment. Si c'est vrai, cela signifie que je veux ajouter des pièces. Vous pouvez voir ici, si c'est vrai, cela signifie que je veux ajouter le nombre de pièces. Donc celui-ci est vrai, je veux ajouter des pièces. Nous pouvons le brancher ici. Celui-ci, s'il est faux, je veux soustraire des pièces. Et puis il entre ici. Nous pouvons le supprimer. Maintenant tu peux voir à quel point ça s'est amélioré. Il sait maintenant à partir du lingot si nous voulons soustraire ou ajouter des pièces à notre variable Très bien, compilons et sauvegardons tout. Et c'est tout. Nous avons maintenant cette fonction simple où nous pouvons mettre à jour le nombre de pièces. Et poursuivons. 63. 7.04 Ajouter une baisse de pièces aux ennemis: Maintenant, évidemment, ce que nous essayons de faire, c'est que lorsque je clique sur cet ennemi et que celui-ci meurt, j'ai besoin de pièces pour le kill que j'ai tué ici. Ce que nous devons faire, c'est ajouter combien de pièces cet ennemi devrait-il lâcher lorsque je l'ai tué. Pour ce faire, souvenez-vous que nous avons une structure ici, dans les structures des plans Nous avons déjà créé celui-ci intitulé Enemy Info. Ajoutons-y simplement quelque chose, à celui-ci. Je vais créer une nouvelle variable et l'appeler « of coins to drop ». C'est très, très explicite et c'est juste un entier. Et faites-le glisser, donc je vais juste faire glisser sous le point de santé. Allez-y, économisez, sauvegardez tout. Maintenant, je veux que vous reveniez à la fiche technique de Google que nous avons créée plus tôt ici. Maintenant, après l'état de santé, je vais écrire « Cliquez sur Créer une nouvelle colonne » à droite ici. Encore une fois, vous devez l'appeler du même nom que le nombre variable de pièces à déposer. Nous pouvons le faire glisser un peu comme ça. Nous devons spécifier le nombre de pièces que l'ennemi doit lâcher. Par exemple, je peux simplement écrire des nombres aléatoires. Pour l'instant, honnêtement, nous ne nous en soucions pas vraiment pour le moment. Nous pouvons cliquer dessus pour créer des formules. Vous pouvez toujours écrire égal. Cliquez dessus et fois 1.5 Ensuite, je peux cliquer ici et le faire glisser vers le bas et il devrait se remplir automatiquement. Cela devrait me convenir en ce moment. Je vais cliquer sur Télécharger le fichier et télécharger le fichier CSV. Maintenant, avec ce fichier CSV téléchargé, je vais le renommer une fois de plus en DT enemy info ici Dans le cadre de ce projet, je vais juste le minimiser un peu pour pouvoir les voir tous les deux. Je vais passer aux tableaux de données. Encore une fois, les informations sur l'ennemi, il suffit de cliquer et de les faire glisser ici. Et il devrait automatiquement mettre à jour toutes ces informations pour vous. Nous avons maintenant ajouté le nombre de pièces chaque ennemi doit lâcher lorsque nous le tuons. 64. 7.05 Mettre à jour l'affichage des pièces: Nous sommes maintenant prêts à terminer cette exposition de pièces. Revenons-en aux ennemis. Maintenant, ce que je veux faire ici, dans les ennemis, se rappeler que nous voulons ajouter cela à la mort de l'ennemi. Si je passe à ce code ici, chaque fois que vous ajoutez des entrées supplémentaires à votre structure, elles apparaîtront. Je vais donc simplement cliquer ici et masquer les épingles non connectées Encore une fois, quand je tue l'ennemi. Je tiens à me souvenir qu' en concerne le joueur, ce qui concerne le joueur, nous avons mis à jour le nombre de pièces à l'intérieur lorsque je tue l'ennemi. Avant de procéder à ce délai, je vais simplement déplacer ce délai. Je veux appeler cela une mise à jour du nombre de pièces provenant du joueur. Et j'ai déjà la variable player. Je vais faire glisser et dire mettre à jour le nombre de pièces. Allez-y, connectez-le ici et ici. Maintenant, le nombre de pièces avec lesquelles vous souhaitez le mettre à jour se trouve dans les informations sur l'ennemi. Parce que nous l'avons fait à l'intérieur de la bibliothèque. Nous devons maintenant spécifier les informations ou le nom de l'ennemi. Nous l'avons déjà obtenu grâce à cette variable. Alors allez-y et connectez-le. Prenez ceci, divisez-le en variables afin que nous puissions les voir. À partir de là, je vais y faire glisser le montant des pièces. Allez-y, cachez-le, et maintenant c'est terminé. N'oubliez pas de cliquer sur Annonce. Parce que nous voulons ajouter des pièces et non les supprimer. Tout devrait bien se passer. Allez-y, compilez. Accédez au joueur maintenant. Maintenant, ces informations vont entrer ici et elles vont être configurées correctement. Ce qui nous manque en ce moment, c'est que vous pouvez voir si je tue l'ennemi, rien ne se passera. Parce que n'oubliez pas que nous n'avons pas mis à jour l'interface utilisateur, nous devons donc le faire. Revenons à l'interface utilisateur, ouvrons l'interface utilisateur principale. Allez-y et cliquez sur ce texte. Pour ce texte, nous voulons simplement le définir. Je vais voir le graphique ici. Faisons un nouvel événement. Créons un nouvel événement personnalisé. Et disons que c'est le montant des mises à jour I. Maintenant, pour cet événement, cliquons dessus. Et créons une nouvelle variable pour celle-ci, encore une fois, entier 64, car nous allons insérer ces informations ici afin de mettre à jour l'interface utilisateur. Et disons que c'est le nombre de points un. Maintenant, le but ici est de définir ce texte, le nombre de pièces qui en découlent et de dire texte défini. C'est essentiellement ce que nous essayons de faire. Nous essayons de mettre à jour le texte puis de cliquer et de le faire glisser ici. Et il devrait automatiquement convertir votre entier en texte et le compiler ou le brancher. Maintenant, n'oubliez pas que nous avons également une animation. Faisons glisser cette animation de pièces. Et disons jouer à l'animation. Allez-y, branchez-le également. Tout devrait bien se passer. Revenons maintenant au joueur ou utilisons celui-ci. Mettez à jour le montant des pièces. Je vais de l'avant et nous avons juste besoin modifier. Ici, c'est à l'intérieur du WB principal, qui se trouve à l'intérieur de la manette du joueur Et comme je peux le voir ici, nous n' avons pas de variable pour le contrôleur du joueur. Venons-y dès le début. Jouez à nouveau. Procurez-vous une manette de joueur et procurez-vous celle-ci. Ensuite, nous pouvons faire glisser le pointeur à partir d' ici et dire « get player controller reference comme nous l'avons fait depuis l'interface Blueprint Et cliquez avec le bouton droit de la souris pour promouvoir cette variable et appelez-la player controller. Maintenant, nous l'avons. Prenons cette variable. Il suffit d'appeler WB main car l' événement s'y trouve Moins il faut faire glisser et rechercher WB main, nous avons déjà cette valeur N'oubliez pas que nous pouvons faire glisser le pointeur ici, exemple mettre à jour le montant des points. Je le sélectionne et bloque ces informations ici. Et tout devrait bien fonctionner. Maintenant, je vais juste augmenter le temps imparti dans le mode jeu, je vais juste augmenter le chronomètre initial, car il est parfois difficile de tuer l'ennemi en 3 secondes. Je vais juste l' augmenter à 5 secondes, en fait. Oui, 5 secondes. Bien, d'accord, et jouez. Maintenant tu peux tuer cet ennemi. Comme vous pouvez le voir, la plaque d'animation. Et ça nous a donné 15 pièces. Laisse-moi juste réessayer. Ici, je vais tuer cet ennemi. Il nous a donné les pièces. L'animation a été jouée et tout fonctionne correctement. 65. 8.01 Ajouter la boîte de défilement de boutique: Il est maintenant temps de travailler avec la boutique d'articles. Si vous cliquez sur Play, vous vous souvenez qu'ici dans l'interface utilisateur, après avoir créé la devise ou avant, nous avons créé cet article ici, ce sera notre boutique d'articles. J'essaie juste de mélanger Cookie Clicker et Clicker Heroes. Comme vous pouvez le voir ici, par exemple, juste une image de ce que nous faisons , c'est simplement ajouter cette partie ici, cette boutique où vous pouvez acheter des objets et où ils apparaissent sur la carte, etc. C'est donc ce que nous essayons de faire ici. Fermons-le pour le moment. Passons à l'interface utilisateur et ouvrons le Maui. Et à l'intérieur d'ici, c'est là que nous voulons que les objets soient exposés. Maintenant, pour les afficher, nous avons besoin d'une boîte de défilement. Cherchons une boîte de défilement ici. Cliquez et faites-le glisser dans l' incrustation dans laquelle il se trouve ici. Assurez-vous également qu'il est aligné horizontalement et verticalement à l'intérieur de la boîte de défilement. Avant d'ajouter les éléments, nous en avons besoin à l'intérieur d'une boîte verticale. Parce qu'ils vont tomber comme ça. Je vais juste prendre une boîte verticale, ajouter dans la boîte de défilement. Pour cette case verticale , cliquez sur Remplir. Sinon, ce sera là-haut. Mais nous voulons le remplir jusqu'au bout. Maintenant, celui-ci est prêt. Maintenant, vous pouvez voir ici que chaque fois que j'ajoute un article, maintenant ce sera un, en haut ici. Et nous devons lui donner un peu d' espacement sur les bords Maintenant, nous ne pouvons pas vraiment le faire parce que je peux simplement entrer ici et écrire 100 et je peux lui donner un peu d' espacement par rapport aux bords, mais je ne peux pas vraiment le visualiser sans mes pièces découpées Je vais le faire plus tard. Je vais juste écrire zéro pour le moment. C'était tout pour le moment. Maintenant, cette boîte verticale est là, je vais juste la renommer parce que nous l'utiliserons plus tard Je vais appeler le VB pour boîte verticale et appelons-le quelque chose comme une liste d'articles Définissons-le comme variable car nous devons ajouter quelque chose ou nous devons ajouter les éléments ultérieurement à cette liste d'éléments. C'était ça. Clôturons-le et passons au suivant. 66. 8.02 Designing de la carte d'article de boutique: Très bien, il est maintenant temps de concevoir les fiches articles. Maintenant, nous n'allons pas ajouter les fiches articles dans cette interface utilisateur principale, car les articles que vous pouvez imaginer informations uniques sur chaque fiche article. Je ne vais donc pas entrer ici pour ajouter un texte, puis ajouter le texte ici et ainsi de suite, car cela demandera beaucoup de travail de copier-coller et cela n'a aucun sens En gros, ce que nous faisons pour les boutiques en matière de programmation, c'est que vous prenez la fiche article, vous en concevez une instance, puis vous modifiez dynamiquement toutes les informations et le code de l'article par le code, et vous dupliquez simplement ce code d'article et vous y modifiez les informations. Essayons de le faire pour mieux comprendre. Fermons ça ici. Faisons à nouveau un clic droit pour créer de nouveaux plans Git Appelons ce shop it code ici. Ouvrons-le. Maintenant, là encore, ajoutons un canevas. Au fait, ce que nous concevons est quelque chose comme ça. Mais c'est essentiellement ce que nous essayons de concevoir. C'est toujours agréable de voir avant de commencer, c'est ce que nous essayons de concevoir. Tu peux essayer de le faire toi-même si tu le souhaites. Nous faisons ce qui est souhaité à l'écran. Essayez de le faire vous-même si vous le souhaitez. Ou nous pouvons le faire ensemble ici, en ajoutant d'abord un canevas, puis en ajoutant une superposition, car nous avons besoin d'un arrière-plan pour ajouter la superposition En cliquant ici, ajoutons également une image. Ce sera notre historique. Maintenant, pour cette image, voyons voir ici. Passons aux images. Je vais utiliser celui-ci. Faites-le glisser à nouveau comme avant. Changez-le pour dessiner une boîte directement dans la marge 0,5 Maintenant, cette superposition est là, je vais l'aligner au milieu, le point d'ancrage Et en écrivant 0,5 dans l' alignement comme avant. Parce que nous voulons le centrer, souvenez-vous que nous voulons écrire 00 dans les x et y. Je vais juste cliquer ici. Ou la taille en fonction du contenu ici, donc c'est exactement au milieu . Maintenant, pour ce qui est de la taille de l'écran, nous allons à nouveau sélectionner À l'écran souhaité, cela correspond à l'écran que nous avons sélectionné. La différence est que si vous sélectionnez ce que vous souhaitez, vous pouvez le voir ici. Cependant, si je passe à la taille de l'écran comme avant pour l'adapter à mon ordinateur portable, en cliquant ici, vous pouvez le voir changer automatiquement à la taille souhaitée à l'écran. C'est ici. Il est super, super petit. Nous devons augmenter la taille de cette image. Maintenant, il se peut que je ne change pas l' image elle-même car elle est dimensionnée en fonction du contenu ici Je vais juste y ajouter du contenu et voir s'il sera beau. Pour commencer, nous avons besoin d' une boîte horizontale. Faisons-le glisser dans l'Overallay. Ensuite, dans la case horizontale, nous avons besoin de texte. Maintenant, pour le texte, je vais simplement copier-coller quelque chose que nous avons déjà fait pour ne pas avoir à le refaire Je vais juste entrer dans le texte flottant et je vais copier ce texte ici. Je vais le coller dans le cadre horizontal. Pour cette image, je peux voir qu'elle n'est pas correctement mise à l'échelle dans l'alignement horizontal et dans l'alignement vertical. Allez-y, remplissez-le. Passons maintenant à la taille de ce texte. Je vais opter pour un peu plus petit, peut-être 26 à la place. Et je vais également changer la couleur du contour en brun foncé, quelque chose avec cette couleur ici. En cliquant sur OK. Je vais également copier cette couleur de contour dans les couleurs des ombres. Nous donnons cet effet ici. Ensuite, je vais lui lancer une recherche d'espaceur pour l'entretoise ajoutée dans la case horizontale Pour cette entretoise, je vais écrire 15 dans le X. Ensuite, ajoutons une boîte verticale, car nous devons maintenant ajouter la boîte verticale dans la boîte horizontale ici Ajoutons maintenant le nom. Copiez-collez à nouveau ce texte, collez-le dans la case verticale pour celui-ci, voici le nom, par exemple, nous pouvons dire que nous aurons quelques éléments plus tard, mais écrivons quelque chose comme Whizz Tower Juste quelque chose d' aléatoire. Cela n'a pas importance pour le moment pour ce texte. C'est le nombre d'articles que nous avons achetés jusqu' à présent à partir de cet article. Je vais juste écrire 999. C'est peut-être le nombre maximum d'objets que vous pouvez acheter dans le jeu. Maintenant, sous le nom de cet article, nous avons besoin du prix. Je vais créer une boîte horizontale, car nous avons besoin de l'icône de la pièce et du prix. En ajoutant le cadre horizontal dans le cadre vertical à l'intérieur d'ici, nous avons besoin d'une image, puis d'un peu de texte. Maintenant, pour le texte, je vais simplement le copier-coller ici dans la case horizontale. Pour le prix, nous pouvons écrire quelque chose comme 9457 ou quelque chose comme ça au hasard Vous pouvez même ajouter un chiffre supplémentaire. J'aimerais ajouter un chiffre élevé parce que je veux juste m' assurer que ma carte d'objets ne sera pas jetée chaque fois que nous aurons de gros numéros pour le jeu Vous pouvez même écrire un autre chiffre si vous le souhaitez. Pour m'assurer que la carte correspond bien à cette icône, je vais aller dans mon dossier d'icônes et y ajouter cette pièce. Faites-le glisser maintenant pour l'image. Je ne vais pas le dessiner sous forme de boîte, car la boîte est juste au moment où nous voulons l'interface utilisateur soit redimensionnée chaque fois que nous la faisons glisser. Mais pour l'image, je vais juste ici, aligner horizontalement et verticalement au milieu parce que vous pouvez voir ici, si vous le faites comme ça, vous pouvez voir qu'elle s'étire légèrement. Cela se remarque également. Chaque fois que l'interface utilisateur s'étire davantage, l'image ne sera pas redimensionnée correctement. Il suffit de l'aligner au milieu ici. Je vais le rembourrer à droite, afin qu' il y ait un espace entre le texte et le rembourrage des icônes à Donnez-lui quelque chose comme trois. Nous avons un peu d'espacement. Maintenant, nous devons également donner un peu d'espacement à la boîte horizontale ici, car elle se trouve sur les bords Je vais juste cliquer ici pour le rembourrage. Maintenant, pour la gauche, je vais essayer de lui donner quelque chose comme 25. Et à droite, donnons-lui 25 également, quelque chose comme ça. Maintenant, pour le début, essayons quelque chose comme 15 par 15. Nous pouvons en donner un peu plus. Je pense que si je clique à nouveau sur la case horizontale, donnons-lui 16. Je pense que je vais en donner plus au bas des 16 ou 20. Ça a l'air bien. Maintenant, pour cette texture également, alignez-la verticalement au milieu. Ça a l'air super. OK, laissez-nous continuer. Maintenant, pour ce qui est de l'ombre, je pense que je vais plutôt écrire à, parce que l'ombre est bien trop forte, écrivant deux au lieu de trois pour celle-ci. Enfin, ajoutons le bouton Par. Cherchons le bouton. En fait, nous avons d'abord besoin d'une superposition car nous devons ajouter du texte par-dessus Si j'ajoute le bouton, voyons où nous l'ajouterons. Ici, nous avons fabriqué cette boîte horizontale. C'est ici que nous voulons l'ajouter. Faites-le glisser ici, puis recherchez le bouton. Allez-y, ajoutez-le. Maintenant, pour ce bouton, je vais simplement l'aligner verticalement et horizontalement, comme ceci pour le style. Passons aux boutons et faisons glisser celui-ci. Faites-le glisser ici. Maintenant, pour ce qui est de la teinte que je vais élargir afin qu'elle n'affecte pas notre bouton pour les tirages, je vais la dessiner sous forme de boîte, comme avant. Marge 0,5 Maintenant, pour ce bouton, donnons-lui une taille ici dans le x. Allons-y et donnons-lui un peu d'espacement Vous pouvez choisir la taille de votre bouton , mais pour l'instant, faisons-le comme ça , car ajoutons d'abord du texte. Si je me contente de le copier, de le copier et de le coller dans la superposition de ce texte, alignons-le au centre du bouton Écrivons quelque chose comme y. Voici ce qu'il dira. Maintenant, je vais le rembourrer en bas parce que je pense que c'est trop près du bas Le rembourrage inférieur est d' environ quatre. Maintenant que nous l'avons fait, ça a l'air vraiment bien. Ce que je veux que tu fasses ici, que tu changes la couleur des pièces. Nous pouvons simplement utiliser le même qu'avant. Si nous revenons au menu principal ou à l' interface utilisateur principale et que nous pouvons prendre cette couleur ici, nous pouvons la copier-coller dans la fiche des articles de la boutique ici qui est d'une couleur différente. De plus, pour le bouton Par, je veux que vous le changiez en une autre couleur, peut-être quelque chose comme le vert. Vous pouvez essayer de choisir la couleur verte que vous souhaitez. Je vais juste opter pour cette couleur verte. Allez-y et appuyez sur OK. Voilà à quoi ça ressemble maintenant. Ce que vous devez faire maintenant, c'est simplement essayer styliser autant que possible, de le concevoir Ici, vous pouvez augmenter le Y du bouton si vous le souhaitez. Vous pouvez voir que celui-ci ne s'aligne pas au milieu. Je vais cliquer sur cette case verticale et l'aligner au milieu. Au lieu de cela, cela semble plus correct. Maintenant, pour ce bouton, je ne vais pas en faire trop. Je lui donne juste un peu d'espace. Donc ça a l'air bien. Je pense qu'environ 150 x 75, et voici à quoi cela ressemble. Maintenant, vous pouvez lui donner un peu plus d' espacement si vous le souhaitez ici, mais je pense que tout va bien maintenant C'est notre carte et nous pouvons toujours l'ajuster. Ce n'est pas comme si nous le concevions maintenant. Ensuite, nous pourrons le toucher plus tard. Nous ajustons toujours l'IA plus tard, car le jeu change toutes les heures pendant lesquelles nous le développons, peut-être en deux jours. Je pense que cela ne semble pas bon. Je peux le modifier si je le souhaite. Je peux même en changer la couleur et ainsi de suite. Concevez-le simplement du mieux que vous pouvez pour le moment. Maintenant, pour ce texte, je veux juste tester quelque chose. Vous pouvez voir ici, si j'écris ici, cela va redimensionner l'ensemble de cette interface utilisateur. Et je n'ai pas vraiment envie de le faire. La façon d'éviter cela est de lui donner une largeur minimale. Si je peux juste le trouver ici, largeur minimale souhaitée, vous pouvez continuer et l'augmenter. Comme vous pouvez le voir, cela augmente cette largeur ici. Pour ce texte, je vais l'aligner ici à gauche et également en bas à gauche. Dans la justification, il reste à gauche pour cette largeur minimale souhaitée, je pense que je vais écrire quelque chose comme 50. Chaque fois que nous changeons le numéro dans le code, vous pouvez voir si j'écris zéro. J'écris, par exemple, 51. Cela ne changera pas toute cette mise en page. Je pense que ça a l'air bien mieux. Peut-être que je pourrais même diminuer la taille de celui-ci en écrivant 20 au lieu de celui-ci. Si j'écris 999 à nouveau, je peux réduire la largeur minimale souhaitée à 45. Juste comme ça. Il en va de même pour le nom de l'article. J'écris donc quelque chose comme Tower or Make it. Ici, vous pouvez voir que cela change la mise en page et je n'ai pas vraiment envie de le refaire. Je vais lui donner une largeur de dessin minimale ici. Augmentez-le jusqu'à ce que vous soyez satisfait. Maintenant, pour ce texte, je vais l'aligner à nouveau horizontalement vers la gauche et la justification vers la gauche également. Pour la largeur minimale du dessin, je vais faire quelque chose comme 150. En fait, nous allons lui donner un nom beaucoup plus long, nous pouvons le tester. Par exemple, si nous avons un élément dont le nom est long, par exemple Wizard Tower Defender ou quoi que ce soit d'autre que nous voulons écrire ici, nous pouvons lui donner une largeur nominale minimale, 200,235 serait le Nous pouvons simplement l'enlever avec une tour. Encore une fois, pour ce texte ici, cela n'aura pas vraiment d' incidence parce qu'il ne durera pas aussi longtemps qu'il ne l'est ici. Je vais juste laisser celui-ci être là pour le moment. Mais encore une fois, vous pouvez simplement lui donner un design minimum si vous le souhaitez. Mais pour l'instant, je ne vais tout simplement pas le faire parce que je ne pense pas que cela durera aussi longtemps. Le prix, tout va bien maintenant. Très bien, c'était donc tout pour la carte des articles de la boutique. Allons-y et changeons les noms, car nous devons ajuster le slater Maintenant, pour ce texte, je vais dire le texte du nom de l'article. Celui-ci sera appelé texte Prix de l'article par bouton ici. Nous allons également le changer plus tard car je veux changer la couleur et le rendre rouge si nous ne pouvons pas acheter l'article. Je vais vous envoyer un texto pour celui-ci. Celui-ci est un texte. Nombre de places d'objets, nous n'avons pas vraiment besoin d' en faire plus ici. Si vous compilez et regardez le graphique, voici les variables que nous avons actuellement pour le texte de cette interface utilisateur, je pense que tout semble bien. Nous pouvons toujours ajuster les choses plus tard si nous voulons changer quelque chose. Pour l'instant, sauvegardons tout pour cela par bouton Je vais m'assurer que la visibilité est réglée sur testable, afin de ne pas bloquer le bouton correspondant à ce bouton également Je vais copier-coller sur le Hoverdm pressé pour l'état pressé Je pense que nous avons un état enfoncé dans les boutons. Je vais cliquer sur celui-ci et le faire glisser ici. Pour l'état Hoverd, nous n'avons pas de bouton. Je vais juste en changer la teinte pour qu'elle soit légèrement différente chaque fois que nous cliquons sur le bouton, OK, allez-y, compilez et enregistrez le tout. Maintenant, si vous souhaitez tester cela, vous pouvez toujours revenir à l'essentiel et c'est parti. Vous pouvez rechercher la fiche d' articles de la boutique WB que nous avons créée. Et vous pouvez le faire glisser dans la liste d'objets que nous avons créée, voir à quoi cela ressemble si je contrôle simplement D et que je le duplique plusieurs fois. Voici à quoi cela ressemble si je les supprime simplement ici. Maintenant, ce que vous pouvez faire, c'est lui donner de l'espace. Maintenant, dans la zone de défilement, continuez et laissez de l' espace pour le rembourrage Je peux écrire 25, je peux écrire quelque chose comme 50. Je pense que 50 est peut-être un bon chiffre. Maintenant, vous pouvez voir qu'il coupe sur le côté. Ce que vous pouvez faire, c'est augmenter la taille de celui-ci. N'oubliez pas qu'il s'agit de toute la boîte verticale ici. Vous pouvez continuer et augmenter légèrement la taille. Tu peux tout voir. Ce que vous pouvez également faire , c'est cliquer sur la case de défilement. Je vais simplement cliquer ici sur Toujours afficher la barre de défilement. C'est comme ça. Consommez également la molette de la souris. Je vais passer à always afin que nous puissions toujours faire défiler la page vers le bas. Concevons maintenant également cette poignée pour la barre de défilement. Je veux que vous reveniez à vos supports de cours ici. Et je vous ai donné cette poignée coulissante. Laissez-nous l'importer. Si je le place juste ici, faites glisser ce curseur dans les images Je vais juste le faire à l'intérieur d'ici. Faites-le glisser ici, assurez-vous d'ajouter les paramètres des pixels. Faisons un clic droit sur les actions, appliquons du papier aux paramètres. Revenons maintenant à l'interface utilisateur, ouvrons l'interface utilisateur principale et, à l'intérieur, cliquez sur la case de défilement. Et descendez et vous trouverez celui-ci appelé bar style. En cliquant dessus, nous avons eu cette image engourdie normale ici. Vous pouvez le remplacer par la poignée du curseur. Maintenant, vous pouvez voir que cela change. Encore une fois pour la marge de la boîte, je vais écrire 0,5 au lieu de l'épaisseur de la barre de défilement. Vous pouvez savoir quelle doit être sa largeur. Je pense que je vais lui donner environ 18 ans. Vous pouvez également lui donner un peu de rembourrage, un peu d'espacement entre ces articles Et dans ce pseudo, je vais juste écrire zéro dans chacun d'entre eux pour le moment. Sur la gauche, je vais lui donner environ dix, pour qu'il y en ait un peu en haut. Voyons si je pense que cela devrait rester le même. En fait, zéro en haut, à droite c'est zéro. Le bas est également égal à zéro. Essayons comme ça. Je vais juste le doubler plusieurs fois. Je peux aussi voir l'ombre ici, à quoi elle ressemble. OK, tout va très bien. Maintenant, cliquons sur cette case verticale et augmentons sa taille. Donc ce n'est pas le cas, je pense que ça a l'air très bien jusqu'à présent. Voilà à quoi ça ressemble. Vous pouvez toujours réduire la taille de cet article si vous le souhaitez, si le nom est trop long. Ou vous pouvez le nom pour avoir de l'espace moteur. Mais encore une fois, nous pouvons l'ajuster ultérieurement si nous le souhaitons. Mais pour l'instant, revenons à l'article de la boutique, Cod. Ce que je veux faire ici, c'est lui donner un peu d' espacement, car vous pouvez voir qu'il n'y a pas d'espacement entre ces éléments à l'intérieur des codes des articles de la boutique Je vais cliquer sur l'image ici. Je vais juste le rembourrer en haut et en bas Peut-être six en haut et six en bas également. Essayons de voir à quoi cela ressemble. Ça a l'air bien mieux. Donnons-lui en fait cinq au lieu de 65 par cinq. Encore une fois, si vous le souhaitez, vous pouvez toujours augmenter la taille du bouton. Ce n'est pas ça pour le X, pour le Y, en fait, je vais l'augmenter encore, légèrement, environ 80 à la place. N'oubliez pas de copier également cette taille d'image sur le survol et sur la presse Composez, compilez, sauvegardez tout. Voici à quoi cela ressemble. Ça a l'air vraiment bien. Je ne pense pas que nous changerons davantage de choses si je les maximise. Voilà à quoi ça ressemble. Pour moi Je pourrais agrandir un peu le texte. En fait, laisse-moi le faire. C'est un peu trop petit. Sur mon écran, je peux faire 20 pour le texte ci-dessus, le prix également, et 22 ou 24 pour les articles compilés ici. J'espère que nous n'aurons pas besoin d'ajuster la largeur minimale souhaitée, mais nous pourrons le faire plus tard s'il le faut. Je pense que ça a l'air bien mieux. OK, voici les articles que nous avons. Tout se présente bien. De plus, pour le bouton d'achat, je vais également le changer à 20. Nous avons maintenant terminé. Sauvegardons tout et fermons tout. Maintenant, nous sommes prêts à continuer. 67. 8.03 Structure et table de données d'information d'article: Avant de pouvoir continuer, nous avons évidemment besoin de certains éléments avec lesquels travailler. Je veux que vous consultiez à nouveau vos documents de dépenses, et je veux que vous alliez dans le dossier des objets. À l'intérieur, je vous ai donné quelques icônes vous pouvez utiliser comme objets dans le jeu. Alors allez-y et importons-les. Passons aux ressources à l'intérieur d'ici, je vais cliquer avec le bouton droit de la souris et créer un nouveau dossier, appelons-le objets. Allez-y, importez-les tous ici. Encore une fois, je vais cliquer sur chacun d'entre eux. Cliquez avec le bouton droit de la souris et appliquez à nouveau du papier sur les paramètres. Maintenant, nous les avons. Maintenant, pour les utiliser de manière intuitive, n'oubliez pas que nous devons les transformer en sprites Nous ne pouvons pas simplement faire glisser des textures comme celle-ci, alors sélectionnons-les toutes. Cliquez avec le bouton droit de la souris et continuez et dites Create Sprite. Maintenant, nous n'avons pas besoin d'extraire, car n'oubliez pas que extraction ne se fait que lorsque nous avons plusieurs sprites dans une image Pour le moment, il n'y a qu'un seul sprite dans une image. Nous pouvons donc simplement cliquer sur Create Sprite. Ici, nous avons les sprites. Je vais cliquer avec le bouton droit de la souris et créer un nouveau dossier appelé Textures, car nous n'avons pratiquement plus besoin de tout cela. Je vais cliquer sur toutes ces textures et les faire glisser dans ce dossier. Maintenant, nous ne pouvons voir que les sprites. Allez-y, sauvegardez tout. Passons ensuite aux plans. Et allons-y et créons notre structure. Ouvrons le dossier des structures. Créez une nouvelle structure de plan, des informations sur l'article, des informations sur l'article ST Allez-y, ouvrez-le. Nous pouvons maintenant ajouter des variables à ce que nous voulons pour les informations de cet article. Maintenant, pour les informations sur l'article, j'ai évidemment besoin du nom de l'article. Il suffit de cliquer sur le bon nom, de continuer et de sélectionner la chaîne Enregistrer. Créons une nouvelle variable. Appelons cela un cours. Et celui-ci sera la classe de base de l'article. Je vois ici que nous n'avons pas encore créé de base d'articles. Allons-y et faisons-le dans les plans. Ici, nous n' avons pas de dossier pour cela Je vais écrire cliquez sur créer un nouveau dossier appelé Items. À l'intérieur de ce dossier d'articles. Écrivons créer une nouvelle classe de plan pour celle-ci Maintenant, pour ce qui est des objets, je veux juste que ce soient sprites normaux que je veux faire apparaître dans le monde En fait, je vais rechercher un sprite et sélectionner l'acteur du sprite en papier Allez-y et sélectionnez celui-ci. Je vais l'appeler BP Item Base. Maintenant, vous pouvez imaginer quand vous êtes déjà en train de créer un jeu. Vous devez maintenant décider du contenu de votre article. Parce que vous pouvez voir ici si je décide plus tard que mes articles sont des flipbooks animés en papier. Et je dois créer un plan ici, recherchant plutôt un flip book et en sélectionnant celui-ci à la place Créez votre base d'objets à l'aide d'un mauvais plan. Cela va être pénible pour vous, car vous devez tout recréer une car vous devez tout recréer fois de plus, juste au moment où vous créez déjà un jeu à partir de celui-ci Maintenant, décidez si vos objets sont animés ? Si tel est le cas, vous devez sélectionner un flipbook en papier, évidemment, car les flipbooks sont animés Toutefois, si vous n'avez aucune animation pour les objets, sachez que vous pouvez sélectionner un sprite à la place Assurez-vous simplement de connaître tout cela avant de créer le plan Je sais que mes articles ici ne sont pas animés, ce ne sont que des images. Sprites, je crée des sprites en papier à la place. Nous avons maintenant cette base d'articles. Maintenant, nous n'avons plus vraiment besoin d' en faire quoi que ce soit. Revenons donc aux informations sur l'article. Je voulais juste le créer ici dans ma classe. Je peux rechercher une base d'articles, je peux continuer et la sélectionner comme référence de classe. La raison pour laquelle j'ai sélectionné comme référence de classe est c'est généralement ce que vous faites lorsque vous souhaitez générer des éléments N'oubliez pas qu'à l'intérieur du plan, j'ouvre le contrôleur du joueur, nous utilisons cette classe, c'est une classe d'acteur de référence Et nous nous en servons pour créer des choses. Je veux faire apparaître l'objet plus tard, donc je vais l'ajouter Ensuite, nous voulons écrire des sprites parce que je veux savoir de quel sprite il s'agit Je vais rechercher des sprites et sélectionner la référence de l' objet Papa Sprites La dernière chose que je veux ajouter est combien coûte cet article ? Les pièces coûtent. Allez-y et recherchez, sélectionnons simplement un entier. Juste un entier. Maintenant, nous avons terminé, les informations sur l'article. Allons-y maintenant et ajoutons-y une table de données. Ouvrez le tableau de données. Cliquez avec le bouton droit sur la table Micellaneouselta. Je dois sélectionner les informations relatives à la structure, le Coke. Appelez ça « T item info ». Maintenant, je vais le parcourir un peu plus vite qu' avant parce que nous l'avons déjà fait deux fois auparavant. Maintenant que cet article contient des informations, nous avons besoin d'un tableau de données dans Google Sheets. Je veux ouvrir à nouveau Google Sheets ici. Permettez-moi de dupliquer ceci, informations sur le niveau TT, non ? Dupliquez-le. Appelons celui-ci d'ici. Nous allons changer le nom en DT item base. Maintenant, à l'intérieur d'ici, je vais tout supprimer. Supprimez à nouveau tout cela. Maintenant, pour ce qui est des articles, je dois écrire le nom de chacun d'entre eux. Par exemple, je peux prendre la première et vous pouvez toujours copier-coller la méthode. Encore une fois, vous devez écrire les mêmes noms de variables que ceux que vous avez utilisés dans la structure ci-dessus pour écrire le nom. Ensuite, nous devons écrire des sprites, puis nous avons le coût des pièces, vous devez les écrire exactement comme nous les avons écrits ici, sinon ça ne marchera pas Ensuite, vous devez noter les informations. Maintenant, si je retourne à ma table pour l'identifiant, vous devez écrire le nom de l'article. Si je retourne aux objets, je trouve l'un d'entre eux. Supposons, par exemple, que le premier élément soit cette plume. Je peux l'appeler comme je veux. Par exemple, je veux l' appeler Light Father. Je peux le copier-coller dans le nom de la classe. Nous ne l'avons pas encore créé. Je passe aux objets du cours. Je dois cliquer ici avec le bouton droit de la souris. Créez une classe de plans pour enfants. Maintenant, je dois créer tous les objets. Le premier s'appelle BP Light. Vous pouvez essayer de les ajuster dans l'ordre que vous souhaitez. Par exemple, la plume légère est le pire objet du jeu Par exemple, cet appel ou cet arc-en-ciel pourraient être le meilleur objet du jeu. Vous pouvez simplement les ajuster dans l'ordre que vous souhaitez, mais il vous suffit de les créer tous. Par exemple, je peux les créer dans un ordre aléatoire. Pour l'instant, par exemple, cette couronne du mal. Maintenant, je peux accéder aux éléments, cliquer avec le bouton droit de la souris sur la base d'articles, créer un plan pour enfant Appelez-le BP Brown of Evil. Revenons-en aux objets, je vais copier le chapeau du Grand Magicien. Et faites la même chose pour tous les articles. Et je reviendrai avec vous une fois que je les aurai tous créés. Très bien, maintenant je suis de retour. J'ai créé tous les articles ici étant enfant. Donc, en gros, je clique avec le bouton droit de la souris et je crée un plan en verre pour enfants Il suffit de lui donner le nom des articles que j'ai ici, ceux que nous avons importés ici. Maintenant, je les ai tous. Allons-y et sauvegardons tout. Maintenant, ce que vous pouvez faire, c'est revenir au tableau de données pour obtenir ces informations ici. Pour obtenir les informations de classe, je vais généralement la table de données A, j'ajoute une ligne et je la sélectionne ici, par exemple. Je peux sélectionner le Lucky ou le Light Feather par exemple Ensuite, je peux maintenir la touche Maj , cliquer avec le bouton droit pour copier, puis ouvrir ma table de données, contrôler V pour la coller. C'est essentiellement ainsi que vous le faites. Maintenant, vous pouvez voir que vous avez collé cette plume légère. Encore une fois, vous devez écrire tous les éléments ici. Maintenant, c'est très important, ce sera la séquence de vos articles, leur qualité. Assurez-vous simplement d' écrire d' abord les pires éléments , puis les écrire de mieux en mieux dans l' ordre que vous souhaitez. Je vais juste le faire ici aussi. Maintenant, je les ai tous écrits dans l' ordre que vous souhaitez. Je viens d'écrire une séquence aléatoire ici pour tous les articles. Maintenant, pour chacune de ces classes, encore une fois, vous devez aller ici, ouvrir le tableau de données pour les informations sur l'élément, sélectionner , par exemple, la suivante, c'est-à-dire sélectionner juste en séquence. Par exemple, Crown of Evil. Retournez au tableau de données, collez-le ici pour la Couronne du Mal. Maintenant, revenez en arrière, sélectionnez les têtes des grands sorciers. Collez-le dans les têtes de magicien ici. Fais-le pour tous. Maintenant, pour le sprite, c'est beaucoup plus facile car vous pouvez simplement le minimiser Accédez à votre sprite ici dans les objets. Pour chaque sprite, cliquez avec le bouton droit sur la référence, puis vous pouvez revenir ici coller pour la Couronne du mal Maintenant, par exemple, la référence suivante, la tête de l'assistant avec le bouton droit de la souris. Retournez au tableau de données, collez-le ici, et ainsi de suite. Faites-le également pour le sprite. Maintenant, pour le coût des pièces, vous pouvez le faire au hasard. Vous pouvez maintenant écrire quelque chose comme si le premier article coûtait 15 pièces Je vais juste écrire égal en cliquant sur ce nombre, nous fois 1,5. Ensuite, je vais simplement cliquer et faire glisser ceci dans tout ce champ. Il ajoute donc automatiquement le numéro pour moi. Peu importe le prix pour le moment. Vous pourrez toujours l'ajuster ultérieurement. Nous allons juste programmer pour le moment. Je vais juste remplir tout ça maintenant. Bien, maintenant j'ai rempli toutes les informations. Allez-y, cliquez sur Fichier et téléchargez. Téléchargez-le sous forme de fichier CSV. Maintenant, allez-y et renommez-le en DT base. Revenons au tableau de données. En fait, DT base l'appelait info. C'est mon erreur. Informations sur l'article Vous devez également corriger cela dans le tableau de données ici. Appelez-le plutôt info, comme ça. Nous pouvons maintenant le faire glisser ici et importer automatiquement toutes les informations pour nous. Maintenant, nous avons tout ce dont nous avons besoin. Maintenant, dernière étape que nous devons faire, juste avant de terminer, nous pouvons toujours accéder aux bibliothèques. Maintenant, dans les bibliothèques précédentes, ajoutons une nouvelle fonction appelée get item info, car nous en aurons besoin plus tard. Ajoutons ici une entrée, appelons-la T name, c'est-à-dire une chaîne. Passons maintenant à l'élément. Faisons-le glisser à nouveau. Comme avant, nous pouvons entrer ici. Et c'est en gros tout ça. Vous pouvez même copier-coller tout cela ici. Nous remplaçons tous les espaces comme vous pouvez le voir ici. Nous voulons ici les informations sur l'élément DT et nous pouvons créer un nœud de retour, retourner, il renvoie les informations pour cet élément ici, je peux simplement écrire les informations sur l'article, compiler, m'assurer que pour ces informations d'article vous avez sélectionnées pures. Parce que nous voulons simplement obtenir les informations, tout enregistrer. C'était ça. Nous avons maintenant tout ce dont nous avons besoin pour les informations sur l'article. Si vous voulez juste le tester, vous pouvez toujours accéder au lecteur, par exemple, dire à juste titre obtenir des informations sur l'objet Ici, vous voyez que vous avez le nom de l'article que vous pouvez connecter et ajoutons le nom de l'article avant de terminer, juste un peu de contenu supplémentaire ici, nous pouvons terminer la base d'articles. Ouvrons-le ici pour les variables que je souhaite ajouter. Nous pouvons même l'appeler nom ou nom. Appelons-le nom de l'article. Donnons-lui une variable de chaîne. Compilez maintenant, puisque je l'ai ajoutée au modèle parent, tous les enfants du plan hériteront cette variable si j'ouvre la couronne du mal par exemple Vous pouvez voir ici qu'elle porte le nom de l'objet et vous devez écrire ce nom correctement Maintenant, parce que c'est le nom de l'élément qui va extraire les informations de cette table de données. Si vous appelez celui-ci, par exemple, Crown of Evil, Crown of Evil sera trouvé ici. Plus tard, il va prendre toutes ces informations. Il sait quelle classe il possède, quel sprite, ce que cela coûte, etc. Vous devez donc l'écrire correctement et nous pourrons l'utiliser plus tard. Encore une fois, cliquez sur chacun d'entre eux. Écrivez-en le nom pour Grand Magicien. Ajoutez à cela une base d'objets en une seule composition, nous n'avons rien. King's Crown, non ? King's Round. Je vais juste le faire pour chacun d'entre eux. Très bien, c'est le dernier flambeau. Allons-y, compilons et sauvegardons tout. Nous avons maintenant tout ce dont nous avons besoin. Allez-y, sauvegardez tout, et passons à la leçon suivante. 68. 8.04 Créer les cartes d'articles de boutique: Très bien, maintenant allons-y et créons l'article de la boutique. Eh bien, passons maintenant aux plans. Ouvrez la loi de contrôle des joueurs, car n'oubliez pas que c'est ici que se trouve l'interface utilisateur. Quelle que soit l'interface utilisateur que tu dois faire. J'ai l'habitude de le faire dans le contrôle du joueur. Au lieu d'ici, je vais créer un nouvel événement, événement personnalisé. Appelons celui-ci créer des articles de boutique. Parce que maintenant nous devons les créer dynamiquement par le biais du code. N'oubliez pas qu'en ce qui concerne la fiche des articles de la boutique, nous avons essentiellement conçu une carte statique , toutes les informations étant statiques. Mais maintenant, nous devons modifier tout ce texte ici pour qu' il soit dynamique grâce au code. C'est pourquoi nous devons d'abord créer la carte, puis l'afficher en haut du menu où se trouve cette case de défilement dans le contrôle de jeu. Faisons-le. Créez des fiches d'articles de boutique. Ce que nous voulons faire gros, c'est utiliser celui-ci appelé créer un widget ici. Créez des widgets. Et nous voulons créer la fiche des articles de la boutique. C'est notre objectif principal. Nous devons maintenant le créer pour le nombre d'articles dont nous disposons. N'oubliez pas que ces informations sont disponibles dans le tableau de données que nous avons créé ici. Nous savons déjà combien d' éléments nous avons à partir d'ici, nous savons en fait combien de ces widgets nous devons créer. Vous pouvez essentiellement le faire en cliquant avec le bouton droit de la souris et en disant «  obtenir les noms des lignes des tables de données ». Souvenez-vous de celui-ci que nous avons utilisé dans la bibliothèque de fonctions, mais maintenant nous devons utiliser celui-ci. Obtenez les noms des lignes des tables de données. Nous obtenons donc tous les noms dans cette table de données. Nous avons maintenant tous les noms des articles ici. Nous allons le connecter. Ce que nous pouvons faire maintenant, c'est maintenant , au lieu de le connecter ici, car nous devons créer un widget pour chacun de ces éléments, nous pouvons le faire glisser ici et dire quatre par boucle. Maintenant, nous allons faire une boucle. Maintenant, pour chacun de ces éléments, créez un widget. Ensuite, lorsque vous créez le widget, je souhaite l'ajouter dans un tableau. Si je crée une nouvelle variable ici, et que je l'appelle, je peux changer le type de ce widget que nous avons créé. Carte des articles de la boutique. Si je recherche simplement un article de la boutique et celui-ci ici, sélectionnez-le. Je veux changer celui-ci en tableau. Vous pouvez cliquer ici, ou bien en haut. Et vous pouvez sélectionner un tableau, ou vous pouvez simplement cliquer avec le bouton droit sur cette icône pour le transformer en tableau. Maintenant, en ce qui concerne cette fiche d'articles de boutique, ce qu'est un tableau, si vous ne savez pas déjà que vous avez des variables uniques ici et que vous avez un tableau, une seule variable est l'endroit où , comme avant de l'utiliser, nous stockerons une seule information dans cette variable afin de pouvoir l'utiliser plus tard. Maintenant, pour un tableau, il s'agit de stocker plusieurs informations. Nous pouvons stocker tous les widgets que nous créons. Nous pouvons les stocker ici pour obtenir ces informations. Vous pouvez faire glisser et obtenir, et vous obtenez l'index d' informations dans lequel il se trouve. Si je clique sur ce tableau ici, vous pouvez voir cliquer sur le signe plus. Et je peux sélectionner un élément et je peux cliquer à nouveau sur le signe plus, sélectionner un autre élément et vous pouvez continuer. Vous pouvez voir qu'il enregistre plusieurs informations. Cependant, pour une seule information, vous pouvez voir que vous ne pouvez enregistrer qu' une seule information . Mais pour un tableau, vous pouvez en enregistrer plusieurs. Nous allons simplement tous les supprimer. Vous pouvez voir ici que lorsque vous avez tous les widgets, vous pouvez également écrire pour chaque boucle. Vous pouvez maintenant faire quelque chose avec chacun de ces éléments que vous avez enregistrés ici. Nous allons enregistrer ce widget ici. Pour chacun des éléments, nous créons un widget. Chacun de ces widgets, je vais le dessiner ici et dire « Ajouter », nous allons l'ajouter à la boutique. Des cartes d'objets comme celle-ci. La raison pour laquelle nous avons dû le changer dans le widget Shop It ici, tapez. Parce que n'oubliez pas que si vous maintenez la souris dessus, s'agit également d'une référence à un objet shop it. Maintenant, si vous essayez de créer autre chose, par exemple, si je recherche simplement une base de joueurs par joueur , que je sélectionne ce joueur PP et que je le transforme en tableau, j'essaie de l'ajouter ici. Cela va dire que la référence à l'objet de la boutique n' est pas compatible avec la référence à l'objet du joueur car il s'agit pas du même type de variable. Vous ne pouvez pas le faire, elles doivent être du même type de variable. Avant de pouvoir les ajouter ici, permettez-moi de supprimer celui-ci. Nous créons maintenant un widget pour chacun de ces éléments et nous le stockons dans cette variable de tableau. Maintenant, je veux aussi m'assurer que ce tableau ne contient rien. Avant de le faire ici, avant de faire quoi que ce soit, permettez-moi de le copier, coller et de dire clairement. Parce que je veux effacer ce tableau avant de commencer à y ajouter des éléments. Maintenant, nous avons pratiquement fini de les créer. C'était tout pour le moment. Allons-y, compilons et passons à la suivante. 69. 8.05 Affichage des cartes d'articles de boutique: Très bien, nous sommes maintenant prêts à afficher les fiches des articles. Maintenant, avant de le faire, je vais tous les supprimer. Sélectionnez donc les fiches articles que nous avons ajoutées précédemment à la liste et supprimez la compilation. Maintenant, ce que nous pouvons faire à l'intérieur de la manette du joueur, encore une fois, créons à juste titre un nouvel événement personnalisé. Appelons cela des cartes Display Shop It. Nous allons maintenant afficher les cartes que nous avons créées précédemment. Avant de le faire, encore une fois, je dois effacer ce que j'ai à l'intérieur de cette boîte de défilement. N'oubliez pas que nous avons cette liste d'articles VB. Revenons à la manette du joueur. Prenez cette base de données principale, car telle ou telle liste d'éléments de liste VB se trouve à l'intérieur de la base de données Je peux faire glisser le pointeur d'ici et dire « liste d'objets VB », disons « enfants clairs Parce que je veux effacer tous les objets qu'elle contient avant d'ajouter ma carte. Il n'affiche pas de choses aléatoires. De plus, si vous créez les cartes des articles de la boutique ultérieurement pour une raison quelconque liée à votre jeu, vous devez vous assurer de supprimer les anciennes avant d'en ajouter de nouvelles. Passons maintenant aux fiches d' articles de boutique que nous avons. Nous pouvons maintenant dire pour chaque boucle connectée. Maintenant, pour chacune de ces fiches d'articles, nous voulons l'ajouter à cette liste. Je peux le copier, le coller et dire en ajouter deux. Ajoutez un enfant à la boîte verticale, sélectionnez celui-ci et ajoutez-le maintenant à l'intérieur d'ici. Pour chacune des fiches d'articles que je reçois ici , ajoutez-la à la liste. C'est essentiellement ça si je compile maintenant. Parce qu'ici, si je clique sur Play, rien ne se passe vraiment. Parce que souvenez-vous que nous n'avons jamais appelé ces événements. Faisons-le au début du jeu ou au début du jeu ici. Parce que d'habitude, dans votre jeu, vous devez simplement dans votre jeu, vous devez vous demander quand et où voulez-vous les appeler ? Vous voulez les appeler depuis le lecteur, depuis la manette du joueur. Maintenant, ils sont affichés dans mon interface utilisateur principale, je peux donc le faire dans le Begin Play. Cependant, si cela s'affichait à l'intérieur de mon écran, par exemple, un bouton sur lequel je devais appuyer sur un bouton pour ouvrir la boutique, je ne l'afficherais pas dans le Begin Play. Je le créerais. Si je peux monter ici dans le Begin Play et dire « Create, shoppez des cartes » et appelez cet événement que nous avons créé. Maintenant, nous appelons cet événement ici. C'est exact. Maintenant, s'il se trouvait à l'intérieur d'un bouton, si je devais appuyer sur un bouton pour l'ouvrir, je n'écrirais pas cet affichage au début de la partie. Je l'écrivais chaque fois que je cliquais sur le bouton. Ensuite, vous souhaitez afficher les fiches des articles de la boutique. Mais pour le moment, nous l'avons dans l'essentiel, nous voulons en fait l'afficher tout de suite. Je peux en fait l'écrire ici chaque fois que je crée les fiches d'articles de la boutique que tout est ajouté et que tout est terminé. Ici, dans la version terminée, je veux dire « présentez les cartes d'articles de la boutique ». Il le fait donc correctement. Compilons et cliquons sur Se plaindre maintenant. Et je vois que rien ne se passe. Et c'est parce que j'ai en fait oublié de sélectionner les informations sur l'article DT ici. Si je compile les plaintes maintenant, vous pouvez maintenant voir tous mes articles. informations ne sont pas correctes car n'oubliez nous ne lui avons pas encore indiqué où devrait se trouver le titre, quel devrait être le prix. Nous devons le mettre à jour, mais vous pouvez compter ici que vous avez 1-234-567-8910 C'est exact car à l'intérieur du tableau de données, nous avons également dix éléments. Maintenant, il affiche en fait le bon nombre d' articles dans notre liste. C'est ce que nous voulons. Je peux voir qu'il y a un bogue avec cette barre de défilement. En fait, je vais le corriger suite. Si je clique simplement sur cette case de défilement, le pouce normal, je vais simplement le coller. Pour le survol, pour le Dr. And survolé, vous pouvez même modifier légèrement la teinte. Cela a également un certain effet sur le drag. Je vais le modifier légèrement. OK, cliquez sur jouer maintenant. Tout devrait être bon. OK, maintenant tout s' affiche correctement. Passons à la suivante. 70. 8.06 Donner à chaque carte d'article les bonnes informations: Nous devons maintenant réfléchir à la manière fournir les informations correctes à chaque fiche article. Nous pouvons donc en changer le nom , le prix, etc. Passons donc à l'intérieur du graphique. À l'intérieur d'ici, je veux créer une nouvelle variable. Appelons cela une information sur un article. Modifions-en également le type en informations sur l'article. Et nous pouvons sélectionner la structure que nous avons créée. OK, allez-y, compilez. Et je peux voir pour la structure que vous avez maintenant toutes ces informations, mais pour le moment, elles sont vides. Alors, comment obtenir les informations correctes sur l'article ? Toutes ces informations se trouvent ici. Comment faire figurer cela sur la carte des articles de la boutique ? Nous pouvons donc définir correctement le texte du titre, le texte du prix, etc. Pour ce faire, vous pouvez accéder au graphique de la fiche des articles de la boutique, cliquer sur les informations de cet article et les configurer pour qu'elles soient modifiables par instance et exposées au moment de l'apparition Vous compilez et revenez au contrôleur du lecteur maintenant, puis vous cliquez sur Fichier, Actualiser toutes les notes. Vous pouvez le voir ici, vous vous rendez compte que les informations de cet article sont apparues. Et encore une fois, c'est parce que nous avons appuyé l'instance Editable et Expose on spawn Il sera exposé chaque fois que nous créerons le widget. Ah ah. Maintenant, nous pouvons prendre ceci et dire « obtenir des informations ». Et en fait, nous ne pouvons pas le faire directement parce que c'est une chaîne. Tally peut dire « obtenir des informations sur l'objet ». N'oubliez pas qu'il s'agit de la fonction que nous avons créée dans la bibliothèque de fonctions. Maintenant, nous pouvons le faire glisser ici, et il va convertir votre chaîne de nom ou votre variable de nom en une variable de chaîne. Nous pouvons maintenant enregistrer les informations de cet article ici. Maintenant, pour chacun de ces éléments, il obtient essentiellement ces éléments pour chaque nom d'article ou pour chaque nom d'élément. Si je passe aux informations sur l'article, n'oubliez pas que nous avons un nom. Il va utiliser ces informations pour leur faire parvenir informations ici. Donc, en gros, il va lire, par exemple, avec une plume légère, il va obtenir ces informations pour la torche, il va obtenir ces informations et ainsi suite pour chacune d'elles. Il va le brancher sur la carte correspondante que nous avons créée. Alors maintenant, ces informations sont réellement stockées ici. Nous pouvons maintenant passer aux leçons suivantes où nous pouvons réellement ajouter ou mettre à jour les informations de cette carte. 71. 8.07 Affichage des informations correctes de carte d'article: Maintenant que cette variable contient les informations correctes sur les articles, mettons-les à jour. Je vais juste supprimer tout ça pour le moment. Commençons par la construction de l' événement. La structure de l'événement sera jouée chaque fois que vous créerez le widget ici. N'oubliez pas que nous avons créé les cartes d'articles de la boutique. Chaque fois que vous créez le widget, cette structure de début de jeu ou même construction sera jouée immédiatement Nous allons mettre à jour les informations contenues ici. Ce que nous voulons faire, c'est commencer par le nom de cet article, en cliquant dessus. N'oubliez pas que nous en avons déjà changé le nom et que nous l'avons défini comme variable. Et c'est ce que nous avons fait pour chacun d'entre eux. En cliquant sur le premier , le nom de l'élément, faisant glisser vers l'extérieur, en le faisant glisser et en disant le texte défini C'est essentiellement ce que nous voulons faire. Nous voulons définir le texte correctement. Nous voulons maintenant prendre les informations de cet élément , faites-les glisser et dites « break ». Nous pouvons donc voir toutes les variables. Nous pouvons simplement faire glisser le nom des éléments à l'intérieur d'ici et il sera mis à jour. Allez-y, connectez-le. Et vous pouvez déjà voir que cela fonctionne si vous cliquez sur Jouer maintenant. Et maintenant, vous voyez que vous avez le nom correct pour chacun d'entre eux. Le casque de nuit Protector, King's Crown, etc. La mise à jour est correcte. Ainsi, vous savez que les informations affichées sont correctes . OK, c'était le nom de l'article. La deuxième chose que je souhaite mettre à jour est le prix. Cliquez sur celui-ci. Faisons-le glisser et disons Définir le texte. Maintenant pour le prix, cliquons sur celui-ci. Je vais indiquer le coût des pièces. Je vais le connecter ici. Décomposez-le. Maintenant, si vous cliquez sur Play, vous pouvez voir que cela s' affiche également correctement. ce qui concerne le nombre d' articles que nous avons achetés, chaque fois que vous cliquez pour acheter un article, vous devez le stocker dans une variable, car plus tard, vous devez savoir combien de ces articles vous avez achetés. Maintenant, en ce qui concerne le nombre d'objets que nous avons achetés, je pense que je vais stocker ces informations dans le lecteur. Si j'ouvre le lecteur et que je l'insère ici, créons une nouvelle variable. Appelons cela des pots à un seul article. Transformons-le maintenant en chaîne car nous devons savoir de quel élément nous parlons. Je vais maintenant le transformer en carte. Je dois vous expliquer ce qu'est une carte. Si vous le faites simplement glisser ici, nous pouvons voir qu'une carte est une connexion entre deux variables, au lieu d'être une seule variable. Maintenant, nous avons deux variables en une ici, je compile ici, je clique sur plus, vous pouvez voir qu'il y a un champ dans lequel je peux écrire. Il s'agit essentiellement de la variable de chaîne ici. Je peux définir un nombre ici, et c'est la variable entière. Vous pouvez voir que nous avons une chaîne et un entier, et en gros, vous pouvez en avoir autant que nous le voulons. Ce pour quoi je veux l'utiliser, c'est que nous voulons avoir l'objet, par exemple, la couronne du roi. Et puis combien de couronnes royales avons-nous achetées jusqu'à présent ? C'est ainsi que nous allons utiliser cette variable. Mais une carte, vous pouvez en gros la transformer en n'importe quoi. Par exemple, vous pouvez le transformer en entier ici. Vous pouvez également le transformer en transformation. Par exemple, ici, vous pouvez maintenant voir que vous pouvez l'utiliser comme ceci, où vous avez un nombre qui est essentiellement un entier. Ensuite, vous avez la transformation. Si vous cliquez ici, vous pouvez voir la transformation. En gros, vous pouvez stocker le nombre de transformations que vous avez sur la carte ou quoi que ce soit d'autre, quelque chose de aléatoire. Mais comme vous pouvez le constater, une carte est un lien entre deux variables. Mais permettez-moi de le changer en chaîne pour le moment et de changer le second en entier car je veux essentiellement quel article parlons-nous savoir de quel article parlons-nous et combien de cet article avons-nous réellement achetés. C'est pour cela que vous utilisez une carte. Je n'ai pas compilé pour le moment pour ces articles achetés. Permettez-moi maintenant de revenir à la fiche des articles de la boutique. Et j'ai besoin d'une référence à mon joueur car je dois utiliser cette variable dans la construction de l'événement. Permettez-moi simplement d'utiliser mon interface de plan. Jouez d' abord au personnage, jouez. Ensuite, à partir de là, nous pouvons faire glisser notre référence et dire « get play ». N'oubliez pas qu'il s'agit de l' interface de plan que nous avons créée. Cliquez avec le bouton droit de la souris, promouvez-la en variable et appelez-la pion joueur par exemple Et allez-y, connectez-le. Maintenant que nous avons la variable, nous pouvons prendre ce pion de jeu et nous pouvons l'utiliser en disant qu'il trouve des points et nous pouvons obtenir notre variable Ce que nous voulons faire, en gros, si je reviens en arrière, c'est l'endroit où se trouve l'élément. Si je le fais simplement glisser, nous voulons simplement définir le texte comme avant d'écrire le texte défini, continuer et le connecter. C'est essentiellement ce que nous voulons faire. Nous devons savoir combien de ces articles nous avons achetés et de quel article parlons-nous. Nous pouvons faire glisser le pointeur ici et dire, par exemple, si vous ne savez pas ce que vous pouvez faire avec une carte, vous pouvez toujours rechercher une carte. Vous pouvez maintenant voir toutes les fonctions que vous pouvez utiliser pour une carte. Par exemple, vous pouvez rechercher, trouver parce que nous voulons trouver l'objet ici lorsque nous trouvons l'article spécifique, par exemple, la couronne du roi. À partir de là, si je peux l' épeler King's Crown, nous saurons combien de cet article nous avons achetés et nous pourrons réellement l'exposer. Au lieu d'écrire ici, vous pouvez faire en sorte que nous sachions déjà quel article il s'agit, car nous avons les informations sur l'article. Nous pouvons donc le faire glisser et le casser ici. Et puis nous avons le nom de l'élément auquel nous pouvons connecter une variable. Maintenant, il va prendre le nom de l'élément dans lequel nous nous trouvons et il va le brancher. Et à partir de là, il trouvera l'article, puis il découvrira combien de ces articles avez-vous réellement achetés ? Mais pour le moment, nous n'avons rien stocké à l'intérieur de ces articles achetés. Il est donc vide pour le moment, mais il contiendra certaines informations plus tard lorsque nous achèterons réellement des articles. Je vais juste le brancher ici et il va me l' afficher, une compilation en cours de jeu. Et maintenant, vous pouvez voir qu'il affiche zéro parce que nous n'avons aucune information à ce sujet jusqu'à présent. 72. 8.08 Modification de la couleur de texte d'achat: Ce que je veux faire maintenant, c'est mettre à jour cela par couleur de bouton, car si nous n'avons aucune pièce, je veux afficher cette couleur ou la couleur du texte en rouge au lieu du vert. Et il devient vert chaque fois que nous avons assez de pièces pour acheter cet article. Allons-y et faisons-le. Laisse-moi juste fermer ça. Encore une fois, en travaillant avec l'interface utilisateur, je veux le faire dans le contrôle du joueur. À l'intérieur, je vais créer une nouvelle fonction. Appelons celui-ci. Appelons cela des mises à jour, stockons-le, ou mettez-le à jour, achetez-le. Et c'est un bouton par ou par couleur de texte, quelque chose comme ça. Mise à jour très explicative de la fiche des articles de la boutique en fonction de la couleur du texte. Nous avons maintenant besoin d'une référence à toutes ces fiches d' articles de boutique que nous avons à l'intérieur. N'oubliez pas que nous l' avons déjà dans la liste d'articles de la boutique que nous avons créée. Je vais dire pour chaque boucle, et nous allons toutes les parcourir en boucle. Pour chacun d'entre eux, je veux prendre ce texte. Donc, si je reviens en arrière et que je me souviens de ce que nous avons appelé, c'est du texte par et nous l'avons rendu variable. Revenons à la manette de jeu. Faisons-le glisser et disons que nous pouvons utiliser ce texte. Ce que nous voulons simplement faire, c'est si vous glissez et dites la couleur, si vous ne savez pas comment elle s'appelle, vous pouvez voir qu'il existe ce que vous pouvez voir qu'il existe on appelle définir la couleur et l'opacité Choisissons celui-ci. Faisons-le glisser ici. Vous pouvez maintenant faire glisser le pointeur et dire «  make slate color » parce que nous voulons voir ce que nous pouvons en faire. Nous pouvons maintenant définir une couleur spécifique à l'intérieur d'ici. Maintenant, je veux définir la couleur selon que nous avons réellement des pièces ou non. Maintenant, nous devons travailler avec les pièces. N'oubliez pas que c'est à l'intérieur. À l'intérieur du joueur, nous avons ce qu'on appelle la quantité de pièces que nous avons utilisée plus tôt. Nous avons également le coût de l'article qui figure sur la fiche d'article de la boutique, car nous avons ces informations sur l'article, ce qui nous permet de connaître le coût de l'article. Utilisons ceux qui se trouvent à l'intérieur de la manette du joueur. Vous pouvez essayer de le faire vous-même si vous souhaitez vous entraîner, sinon laissez-nous le faire ensemble. Maintenant, pour cet article, je vais dire informations sur l'article. Je vais donc obtenir cette variable et je vais la casser. Je peux donc voir le coût de l'article, vais le traîner ici. Maintenant, je peux voir le coût de l'article ici. Je vais juste masquer les épingles non connectées et n'afficher que le coût de l'article Maintenant, je veux aussi le nombre de pièces des joueurs. J'ai besoin d'une variable pour le joueur. Je vois bien que je ne l'ai pas. Si je reviens simplement à la manette du joueur et encore une fois , nous pouvons simplement revenir à l'article de la boutique. Nous pouvons simplement copier-coller tout ce que nous venons de créer dans la leçon précédente. Et je vais juste créer une variable pour le jeu, et c'est beaucoup plus rapide Maintenant, revenons en arrière. Maintenant que le jeu est joué, allons-y. Disons, le nombre de pièces. Obtenez le nombre de pièces. Maintenant, ce que nous allons nous demander, c' est si la pièce coûte. Est-il plus grand ? supérieur au nombre de pièces que nous avons ? Ensuite, vous pouvez faire glisser le pointeur à partir d'ici et dire « sélectionner, sélectionner la couleur ». Maintenant, la différence entre une couleur sélectionnée et une couleur sélectionnée. Maintenant, si vous les faites simplement glisser vers l' extérieur pour que nous puissions les voir, sélectionnez la couleur ici, puis sélectionnez ici. La différence n'est pas vraiment trop grande. La différence, c'est que si vous sélectionnez la couleur, vous pouvez voir qu'elle choisit automatiquement qu'il s'agit d'un lingot que vous devez y brancher Pour la sélection, vous pouvez choisir ce que vous voulez. Vous pouvez insérer une énumération comme nous l'avons fait auparavant, mais vous pouvez également insérer celle-ci et elle indiquera vrai ou faux Ensuite, tu peux en faire ce que tu veux. En gros, vous pouvez utiliser les deux. Je vais juste utiliser Select color pour le moment. Sélectionnez la couleur. Allez-y, branchez-le. Ce qu'il va faire, c'est indiquer si le coût des pièces pour cet article est supérieur au nombre de pièces que vous avez ? Si c'est le cas, il est écrit « pick a ». Si cette variable d'investissement est vraie, elle va choisir un, cela signifie des pièces Si le montant de pièces que vous avez coûté à cet article, vous n'en avez pas assez pour l'acheter, allez sélectionner A. Nous avons besoin d'une couleur rouge pour le A et d' une couleur verte pour le bœuf, car c'est là que vous pouvez l'acheter. Pour ce qui est de la couleur verte, je vais juste la copier depuis le designer par bouton car je l'ai déjà créée. Je vais copier la couleur linéaire hexadécimale. Je vais revenir à la manette de jeu. Collez-le pour le, collez-le ici, cliquez pour celui-ci. Je vais d'abord sélectionner une couleur rouge ici pour voir à quoi elle ressemble. Quelque chose comme ça. Et je peux copier la couleur linéaire. Cliquez simplement sur Annuler car je ne veux pas le modifier ici. Revenons-en à la couleur rouge. Et maintenant, nous l'avons. Cela va dire si les articles coûtent plus cher que ce que vous avez en pièces ? Si c'est vrai, choisissez-en une, choisissant la couleur rouge Si vous avez assez de pièces, elle choisira la couleur verte. Il va le brancher ici, définir la couleur du texte et le compiler. Nous devons maintenant appeler cette fonction, car nous ne l'avons pas encore fait, et nous voulons l'appeler chaque fois que je clique sur Play Je veux déjà que tout cela soit mis à jour. La meilleure façon de le faire est créer les fiches articles ici. Nous les créons toutes. Avant de les afficher, je souhaite mettre à jour les couleurs. Je vais les ajouter ici comme ça. Mettre à jour la compilation. Si vous cliquez sur jouer, vous pouvez maintenant voir qu'ils sont tous rouges parce que je n'ai pas assez de pièces. Cependant, si je modifie ici le nombre de pièces du joueur, disons que j'ai maintenant 60 pièces et que je clique sur Compile Play. Maintenant, je peux voir que pour les 60 pièces, j'en ai assez pour toutes , donc elles seront vertes. Je vois que ce texte ne s'affiche pas correctement. C'est parce que nous devons tuer un ennemi avant qu'il n' apparaisse réellement. Réparons réellement à ce problème. Peut-être que vous voulez un montant initial de pièces. La raison en est que nous n'exécutons ce code que lorsque nous tuons réellement l'ennemi. Si j'ouvre la base ennemie, nous aurons cette quantité de pièces. Si je me contente de le copier, vous pouvez copier chaque fois que vous ouvrez le jeu. Et cela vient du joueur. Si vous ouvrez le joueur et au lieu d'être ici dans la base de joueurs, vous pouvez voir que nous avons mis à jour le nombre de pièces. Il suffit de lancer celui-ci, mettre à jour l'interface utilisateur car le nombre de pièces est correct. Et vous pouvez également le voir si vous prenez le nombre de pièces et que vous imprimez une chaîne, que vous l' imprimez simplement à l'écran et que vous cliquez sur Play. Vous pouvez voir qu' il est écrit 60 ici. Si tu l'as vu. En haut à gauche, il est écrit 60. En fait, il s'affiche correctement, ou le numéro est correct, mais il ne s'affiche pas correctement. Copions cette interface utilisateur. Il suffit de mettre à jour l'interface utilisateur, et nous introduisons le nombre de pièces connectées de cette manière. Désormais, chaque fois que nous cliquons sur Play, le nombre de pièces est également mis à jour. Si je clique sur Play, il s'affichera correctement. Maintenant, tout est correct et cela s' affiche correctement lorsque nous tuons l'ennemi. Cela ajoutera également le bon nombre de pièces chaque fois que nous en aurons de plus en plus. Nous pouvons maintenant voir qu'il ne l'affiche pas correctement car nous devons le mettre à jour lorsque nous tuons l'ennemi. Réparons également à cela. Si je le ferme, je passe aux ennemis, ouvre la base ennemie. Et nous devons l'ajouter ici chaque fois que l'ennemi meurt. Et nous mettons à jour le nombre de pièces. Faisons-le. Après avoir mis à jour le nombre de pièces , utilisons la manette de jeu. Et nous avons déjà la manette de jeu ici. Faites-le glisser et dites « Mettre à jour la carte des articles de la boutique par couleur de texte ». Allez-y, connectez-le connecté ici. Et maintenant, cela devrait fonctionner. Maintenant, si tu cliques sur Play and I kill, tu peux voir maintenant que si j'obtiens 76 ou plus, ça va vraiment le rendre vert. Si je tue cet ennemi, nous pouvons voir maintenant qu'il devient vert. Si je continue à tuer, vous pouvez voir que maintenant cela devient vert parce que maintenant j' ai assez de pièces, cela fonctionne correctement, et maintenant nous pouvons passer à autre chose. 73. 8.09 Vérification si le joueur a suffisamment de pièces: Maintenant, avant que le joueur puisse appuyer sur le bouton Par, nous devons également vérifier s'il a suffisamment de pièces, sinon il peut appuyer sur le bouton By et acheter des objets sans avoir assez de pièces. Essayons de travailler avec celui-ci. Si j'ouvre la manette du joueur, encore une fois pour la manette du joueur, faisons quelque chose également ici dans la couleur de mise à jour. Ce que nous pouvons faire à l'intérieur d' ici, nous pouvons le faire glisser. Maintenant, prenons le bouton. Je vais dans l'interface utilisateur, j' ouvre l'article de la boutique et je clique sur ce bouton. Et je vais juste l'appeler button et en faire une compilation de variables. Maintenant, si je reviens à la manette de jeu, je fais glisser le pointeur d'ici et je dis bouton. Et je prends ce bouton, ce que vous pouvez faire, c'est le faire glisser ici et dire « activer ». Vous pouvez maintenant voir que quelque chose appelé Set est activé. Allez-y et sélectionnez-le, connecté ici. Vous pouvez désormais choisir à quel moment un bouton doit être activé ou non. signifie que si le joueur peut appuyer dessus ou non, chaque fois que celui-ci est rouge, cela signifie que celui-ci est vrai, cela signifie que le joueur ne peut pas acheter cet objet, cela signifie qu'il n'a pas assez de pièces. Nous pouvons en fait le glisser et le brancher ici. En fait, nous ne pouvons pas, parce que cela va être vrai et celui-ci va être vrai, ce qui signifie qu'il est activé, alors nous voulons en fait le contraire. Je vais encore une fois faire glisser et dire select pour l'inverser. Allez-y, sélectionnez ce nœud Select et branchez-le ici. Cela peut être un peu confus maintenant, nous n'avons pas assez de pièces chaque fois que le coût de l'article est supérieur au nombre de pièces que nous avons. Cela signifie que cela sera vrai chaque fois que ce sera vrai. Je souhaite désactiver cette option car nous ne voulons pas acheter si nous n'avons pas assez de pièces. Cependant, chaque fois que c'est faux, ce qui signifie que nous avons suffisamment de pièces ici, je veux le configurer pour qu'il soit activé. Je veux prendre ceci et dire que le bouton est activé. Tu peux aller de l'avant et acheter. C'est ainsi que nous l'inversons, alors allez-y, compilez et cliquez sur Play. Maintenant, nous pouvons voir que le bouton est désactivé. Vous pouvez voir qu'il est un peu estompé. Vérifiez également si le joueur dispose d'un nombre suffisant de pièces. Fermons-le. Ouvrons la fiche de l'article. Cliquons dessus, en bas de page. Cliquons sur ce qui n'est pas cliqué. Maintenant, chaque fois que nous cliquons sur ce bouton ou que nous achetons l'objet, nous voulons vérifier si le joueur dispose de suffisamment de pièces. Faisons-le à l'intérieur du joueur, car nous avons déjà effectué le montant des pièces et le calcul des pièces comme à l'intérieur du joueur. Permettez-moi de créer une fonction simple, appelons-la celle-ci. Le joueur dispose-t-il de suffisamment de pièces ? La chose la plus simple que nous voulons faire ici est de vérifier si le joueur dispose de suffisamment de pièces. faisant glisser ce nombre de pièces, laissez-moi également entrer un entier, laissez-moi ajouter un entier et laissez-moi dire que le coût de l'article est le nombre de pièces dont dispose le joueur est supérieur ou égal Nous devons avoir l'équivalent, car il peut être égal au coût de l'article, ce qui signifie que vous avez suffisamment de pièces. Est-il supérieur ou égal au coût de l'article ? Ensuite, nous pouvons simplement faire une note de retour ici. Si j'écris simplement return le nœud de retour et que je le branche ici, cela crée une variable pour nous. Celui-ci a en gros assez de points. Quand il va vérifier cela, nous allons insérer l'article et cliquer sur cette fonction. Je vais le mettre au pur. Parce que n'oubliez pas que chaque fois que vous avez une fonction qui ne reçoit que des informations, elle ne définit rien, vous pouvez la définir sur pure. Cela devient alors comme cette fonction verte ici, car elle ne fait que recevoir des informations. Maintenant, ce que nous pouvons faire, c'est prendre ce joueur et dire qu' il en a assez, ou nous l'appelons ainsi : le joueur a-t-il assez de pièces ? Il peut donc le faire glisser et dire qu'il a assez de pièces. Et vous pouvez voir que c'est une fonction verte parce que nous l'avons définie sur pure. Maintenant, nous pouvons ajouter le coût, puis nous pouvons aller ici et voir si nous avons réellement assez de pièces ou non. Laissez-nous le faire. les informations sur l'article, nous pouvons les déchiffrer. Nous pouvons prendre le coût de l'article et le brancher ici. Masquez les épingles non connectées. Maintenant, nous pouvons faire glisser le pointeur d'ici, créer une branche et connecter cette branche. Maintenant que nous le faisons, nous vérifions si le joueur dispose suffisamment de pièces avant de pouvoir acheter l'objet. 74. 8.10 Achat de l'article: Maintenant que nous avons vérifié que le joueur dispose de suffisamment de pièces, allons-y et achetons l'objet maintenant. Maintenant, pour ce qui est de l'achat des objets, je pense que je veux le faire à l'intérieur du joueur. Chaque fois que vous achetez ici et que vous avez suffisamment de pièces, vous achetez les articles. Créons un nouvel événement dans le joueur. Créons un nouvel événement personnalisé appelé achat d'un article comme celui-ci. Maintenant, pour cet article d'achat, nous avons évidemment besoin de l'article en premier. Si vous ne voulez pas le faire maintenant, revenons en arrière et prenons le joueur, nous avons déjà la variable player. Partons d'ici et disons «  acheter un article » et appelons cet événement que nous venons d'organiser. S'il est vrai que nous avons assez de pièces, allons-y et achetons l'article. De toute évidence, nous devons savoir de quel article nous parlons , car nous avons besoin de certaines informations ici. Je vais juste créer une entrée et appelons-la, ou appelons-la structure d'information de l' article. Nous avons cet article, je vais juste l'appeler item compile. Maintenant, nous pouvons revenir à la fiche des articles de la boutique. L'article est évidemment celui dans lequel nous nous trouvons en ce moment et nous en avons déjà la structure. Je vais juste le prendre et le brancher ici. Les informations relatives à cet objet seront transmises au joueur. À partir de là, nous pouvons désormais en faire des choses. Ce que nous voulons faire, c'est évidemment soustraire le montant de pièces dont soustraire le montant de pièces dispose le joueur. Essayons de le faire. Maintenant, vous pouvez le faire vous-même pour vous entraîner, car je pense que vous pouvez le faire vous-même. Maintenant, si vous ne savez pas comment faire, faisons-le ensemble. Vous pouvez donc prendre le montant de pièces que vous avez en ce moment , puis dire moins pour le soustraire. Ensuite, nous avons le coût de l'article ici si vous faites glisser le pointeur d'ici et que vous dites « casser les informations sur l'article ». Nous avons maintenant le coût de l'article. Nous pouvons dire le nombre de points que vous avez moins le coût. Nous pouvons prendre ce nombre de pièces et le fixer à nouveau à ce nouveau prix ou à ce nouveau montant de pièces que nous avons. Nous allons simplement cliquer ici. Masquez les épingles non connectées. Allez-y et rendez-le plus structuré comme ça. Vous pouvez également imprimer une chaîne. En fait, n' imprimons pas de chaîne. Nous pouvons simplement mettre à jour l'interface utilisateur instantanément. Faisons-le comme ça ici. Je vais juste le copier. Mettez à jour les pièces, le montant I. Je vais me connecter comme ça. Laissez-nous compiler. Voyons ce qui se passe si je clique sur jouer. J'en ai 60. Si j'achète quelque chose pour 23, il m'en reste 37. J'achète à nouveau pour 34, il m'en reste trois. Et si je clique ici, vous verrez que je ne peux pas continuer à acheter. Parce que n'oubliez pas, nous avons déjà vérifié ici si le joueur a assez de pièces ou non. Nous ne pouvons pas acheter l'article si nous n' avons pas assez de pièces. Cela fonctionne vraiment bien. Maintenant, le problème, c'est que lorsque j'achète, vous pouvez voir que les boutons ne sont pas lus. Il semble que j'ai encore assez de pièces pour celui-ci, mais ce n'est pas le cas. Mettons également à jour les boutons. Si je passe à la manette du joueur. Ouvrons la manette du joueur. Et n'oubliez pas qu'à l'intérieur d'ici, nous avons créé cette fonction appelée mettre à jour l'article de la boutique par couleur de texte. Appelons celui-ci. Revenons-en au joueur. Prenons la manette collée ici. Appelons la fiche des tâches de mise à jour par couleur de texte. Laissez-nous le brancher ici. Il devrait le mettre à jour chaque fois que nous achetons. Maintenant, si je clique sur Play et que j'achète quelque chose, vous pouvez voir qu'ils deviennent rouges. Et je ne peux pas vraiment les acheter. Et ils sont handicapés. Si j'achète celui-ci, ils deviennent tous rouges parce que je n'ai pas assez de points maintenant que la logique fonctionne vraiment bien. 75. 8.11 Mise à jour de la quantité d'articles achetés: Il est maintenant temps de mettre à jour le nombre d'articles que nous avons achetés. Parce que n'oubliez pas que nous avons créé celui-ci intitulé Items Bought. Et nous devons enregistrer le nombre d'objets que vous avez achetés pendant le jeu. Ici aussi, lorsque nous cliquons sur jouer et acheter quelque chose, cela ne vous montre pas vraiment que vous avez acheté quelque chose car le prix est toujours nul ici. Pour ce faire, nous devons mettre à jour ces informations. Je ne me souviens pas où nous avons utilisé celui-ci. Si vous voulez simplement essayer de vous rappeler où vous avez utilisé quelque chose, vous pouvez toujours écrire, cliquer et trouver des références. Et nous pouvons voir qu'il est indiqué qu' aucun résultat n'a été trouvé. Et c'est parce qu'il ne fait que chercher à l'intérieur de ce plan Mais si vous cliquez sur cette petite icône, elle effectuera une recherche dans tous les plans Double-cliquez sur celui-ci. Vous pouvez voir que nous l'avons utilisé ici à l'intérieur de la fiche des articles de la boutique pour mettre à jour le texte indiquant le nombre d'articles que nous avons achetés. Nous l'avons utilisé ici pour mettre à jour le nombre d'articles que nous avons achetés. Revenons simplement au joueur et à chaque fois que nous achetons et mettons à jour le bouton. Avant de mettre à jour le bouton, je vais modifier la carte. Prenez cette carte ici, faites-la glisser vers l'extérieur et dites Ajouter. Nous voulons maintenant ajouter un objet de plus sur la carte, car nous en avons acheté un. Ce que vous pouvez faire, c'est le reprendre, coller, car vous ne pouvez pas vraiment ajouter d'informations pour le moment. Ce que vous devez faire, c'est que nous trouvions et disposions de cette fonction. Ce que vous essayez de faire, c'est de trouver l'objet qui s'y trouve déjà. Si vous écrivez simplement un chiffre ici, si vous en écrivez, par exemple, un, cela remplacera les informations que vous avez déjà à l'intérieur Disons que c'était la couronne dorée qui se trouvait à l'intérieur d'ici. Si vous en écrivez un, ce sera un pour toujours car chaque fois que le joueur en achètera un, ce sera un. Il remplacera cet élément ici. Nous devons continuer à le mettre à jour avec des informations plus complètes. Nous devons maintenant trouver l' élément d'abord à l'intérieur du tableau ou à l'intérieur de la carte pour trouver l'élément. N'oubliez pas que nous avons déjà le nom. Si je le reprends ici maintenant, je peux utiliser nom de cet objet et nous pourrons trouver sur cette carte. Une fois que nous avons trouvé l'article, nous savons maintenant combien de cet article nous avons jusqu'à présent. Ce montant, ce que je veux faire, c'est prendre ce chiffre plus un plus un. Nous en ajoutons maintenant un aux articles que nous avons déjà achetés. Ensuite, tu peux le brancher ici. N'oubliez pas non plus que vous devez également saisir le nom ici. Faisons-le simplement glisser d'ici. Branchez-le, et encore une fois, prenez simplement quelques notes en miroir Ça a l'air sympa. Et je vais juste brancher celui-ci ici comme ça et celui-ci ici. D'accord ? En gros, nous trouvons abord l'objet à l'intérieur de cette carte, puis nous savons combien nous en avons déjà acheté , nous en ajoutons un dessus, puis nous le remettons simplement sur la carte. Nous ne perdons pas cette information. Vous cliquez sur jouer et vous appuyez sur « par sur quelque chose et vous voyez qu'il indique toujours zéro. Cela est dû au fait que nous n'avons pas mis à jour l'interface utilisateur. L'interface utilisateur se trouve à l'intérieur de l'article de la boutique, Cod, et c'est ce texte que vous devez à nouveau mettre à jour, car cette partie n'est mise à jour que lorsque nous créons le code et elle n'est plus mise à jour. Nous pouvons créer un événement personnalisé ici et je vais créer un événement personnalisé, mettre à jour l'interface utilisateur des articles achetés. Ce que nous pouvons faire ici, c'est essentiellement définir le texte, ce texte ici. Je vais juste contrôler C, contrôler V ici. Branchons-le. En gros, je veux juste faire la même chose que nous avons fait ici. Contrôlons simplement x pour le clipser et contrôlons V pour le coller ici. Je vais juste le connecter ici. Au lieu d'avoir ce code ici, nous pouvons simplement supprimer celui-ci et ajouter celui-ci. Mettez à jour les éléments, je ajoute simplement ici, je mets à jour les éléments I. En gros, si nous les écrivons ici dans la construction du début, du jeu ou de l'événement, c'est parce que nous nous assurons d'avoir ces informations correctes. Chaque fois que nous ouvrons le jeu et que nous y jetons un coup d'œil, c' est la raison pour laquelle nous l'ajoutons. Parce que si, par exemple , vous avez un système de chargement et de sauvegarde dans le futur et que vous fermez le jeu chaque fois que vous l'ouvrez, celui-ci s' exécutera à nouveau et mettra à jour vos informations avec les informations que vous avez enregistrées. C'est très important de l'avoir. OK, nous avons donc les éléments de cette mise à jour, mais interface utilisateur, nous devons l'exécuter depuis le joueur si vous revenez en arrière et nous devons l'exécuter après avoir ajouté l'élément à cette carte. Maintenant, ce dont nous avons besoin, c'est d'une référence à ces widgets de carte d'articles de boutique car nous devons maintenant utiliser celui-ci. Mettez à jour les éléments, mettez l'interface utilisateur. Mais comme vous pouvez le constater, nous n'en avons pas vraiment la référence. Nous avons celle-ci appelée cartes d'articles de boutique et nous pouvons essentiellement l' utiliser pour trouver un article. Mais encore une fois, nous n' avons pas vraiment cette information d'ici. Nous avons besoin d'un moyen de référencer cette carte. Vous pouvez maintenant le faire de deux manières. Vous pouvez soit ici, dans le contrôleur du joueur, simplement créer un événement personnalisé appelé, par exemple, des sets, carte d'articles de boutique interactive ou quel que soit le nom que vous voulez En gros, il suffit d'ajouter l' article de la boutique, Cod. Encore une fois, en gros, vous pouvez simplement l'appeler d'ici, utiliser le contrôleur du joueur, nous avons besoin d'une référence là-haut. En gros, vous pouvez le configurer via le contrôleur du joueur. Et pour le joueur, nous pouvons utiliser cette variable ici pour réellement mettre à jour cette carte au lieu de le faire de cette façon. Pour l'instant, je veux essayer l'autre méthode. L'autre méthode, en gros, est que vous pouvez simplement revenir au Ou au joueur ici pour l'objet acheté. Ajoutons simplement une nouvelle variable. Appelons ça shop it Cod. Nous pouvons toujours changer cette façon de faire si, à l'avenir, nous découvrons que nous pouvons en faire quelque chose de mieux. Mais pour l'instant, cherchons l'article Cod. Allez-y, sélectionnez-le, compilez-le à nouveau dans l'article de la boutique. Voyons voir ici, dans l'article d'achat. Chaque fois que nous achetons quelque chose, je veux définir la référence à soi et dire soi. En gros, nous définissons ce cordon d'articles de boutique comme étant la carte dans laquelle nous nous trouvons actuellement. C'est ce que signifie « soi ». Maintenant, nous les avons chaque fois que nous achetons un article, chaque fois que nous ajoutons l'article aux articles, mais sur la carte, nous pouvons maintenant appeler les éléments de mise à jour, mais l' interface utilisateur fait nous ajoutons l'article aux articles, mais sur la carte, nous pouvons maintenant appeler les éléments mise à jour, mais l' glisser le pointeur d'ici et dire « mettre à jour les articles ». Mais je vais de l'avant et je me connecte, c'est encore une fois comme ça. Vous pouvez double-cliquer pour créer un nœud de route arrière. Chaque fois que cela est fait, cela devrait maintenant mettre à jour l'interface utilisateur. Et puis rebranchez cette mise à jour de l'article de la boutique Cod by text color, sauvegardez tout. Maintenant, jouons et voyons ce qui se passera si j'achète l'une des torches. Tu vois, j'en ai une. Si j'en achète un à nouveau, j'en aurai deux. Maintenant, il calcule correctement. Maintenant, si je me donne beaucoup plus d'argent, donc si je reviens au joueur et que je mets à l'intérieur le montant des pièces, je le mets juste à 1 000 ou 10 000 100 000 ou peu importe. C'est ici. Maintenant, vous pouvez voir si je continue à acheter, veux juste voir si cela fonctionne et fonctionne correctement. Tu peux continuer à acheter. Et vous pouvez voir que l'interface utilisateur reste la même. L'interface utilisateur ne modifie pas la position du texte, etc. Tout fonctionne bien et l'argent calculé correctement. Alors maintenant, cela fonctionne pleinement. 76. 8.12 Créer des points d'apparition d'objets: Allons-y maintenant et ajoutons les points d'apparition des objets. Ce que je veux faire, c'est que chaque fois que j'achète quelque chose, je veux faire apparaître ces objets dans le monde entier Et c'est fondamentalement la même idée que la liqueur de biscuit. C'est la même idée lorsque vous achetez quelque chose et que cela apparaît ici à l'écran, je trouve que c'est un peu plus intéressant. allons-y et faisons-le, ou créons quelques points de peinture à l'intérieur d'ici. N'oubliez pas que nous avons déjà fait un point pour l' ennemi qui est ici. Utilisons simplement la même méthode. Nous avons donc l'ennemi et la base de points d'apparition. Il s'agit de la classe parent, je vais donc simplement cliquer avec le bouton droit de la souris et créer une classe Looprint enfant Nous pouvons l'appeler BP, Spawn Point. Maintenant, c'est le point essentiel. Quel objet allons-nous faire apparaître ? Nous pouvons simplement le placer dans le monde et nous pouvons simplement régler le Y20, il est à l'avant et je vais juste le régler sur un pour qu'il soit devant les carreaux. Nous pouvons le définir ici, tout enregistrer. Et je vais juste maintenir la touche Alt enfoncée et faire glisser le pointeur pour le copier. Vous pouvez voir que nous avons deux points d'apparition, mais comment pouvons-nous choisir si c'est la couronne porteuse qui doit apparaître ici ou si c'est un autre objet qui doit apparaître Nous pouvons le faire en leur exposant une variable. Ce que nous pouvons faire, c'est retourner à la base des points d'apparition qui se trouve à l'intérieur d'ici Ce que nous pouvons faire, c'est créer une nouvelle variable. Nous pouvons l'appeler nom ou simplement l'appeler réellement nom du point d'apparition Je pense que c'est un peu plus descriptif à ce stade. Nous pouvons le transformer en chaîne, enregistrer. N'oubliez pas si vous cliquez sur Instance Editable et Expose on Spawn Nous l'avons déjà utilisé lorsque nous avons ajouté les informations dans les fiches articles. Lorsque vous faites cela et que vous compilez, vous pouvez voir ici dans le monde, vous avez cette épingle ici, le nom du point d'apparition Il s'agit de la même variable que celle-ci car vous l'avez rendue modifiable par instance et exposée lors du spawn . Il apparaît là-haut. Ce que nous pouvons faire avec celui-ci c'est cliquer sur le premier, par exemple, nous pouvons l'appeler, voyons quels articles nous avons. Nous avons le P. Je vais juste utiliser la plume légère. La première devrait être la lumière. Écrivez le nom avec précision. N'oubliez pas que ce nom doit être le même que celui de la table de données. Quel que soit le nom que vous avez ici, il doit être le même qu'ici. La seconde est la torche. Nous avons maintenant les deux points d'apparition. Nous savons maintenant quels objets doivent apparaître et où. Maintenant, il nous manque tout simplement la logique, et c'est ce que nous allons faire dans les deux prochaines leçons. Mais maintenant, nous avons au moins les points d'apparition avec lesquels travailler. Passons à la leçon suivante. 77. 8.13 Génération de l'article acheté: Très bien, maintenant allons-y et faisons apparaître l'objet. Essayons de revenir en arrière à partir de celui-ci. Maintenant, chaque fois que je crée des objets, j'aimerais revenir en arrière, car il est plus logique de savoir quand et où nous devons ajouter nos événements et nos fonctions pour l'apparition j'aimerais revenir en arrière, car il est plus logique de savoir quand et où nous devons ajouter nos événements et nos fonctions pour l' N'oubliez pas que j'utilise la manette du joueur pour faire apparaître des objets dans le monde. Donc, si je rentre ici, nous avons déjà créé ce spawn actor ici Acteur Spawn. Restons cohérents et faisons-le ici. Je vais juste créer directement un nouvel événement personnalisé. Appelons cela un élément de spawn. OK, pour celui-ci, encore une fois, nous devons utiliser un acteur d' apparition issu de classe et sélectionné pour l' élément que nous voulons générer Cela dépend vraiment de laquelle il s'agit. Maintenant, cela génère une erreur. Je dois le désactiver. Selon l'objet que nous achetons, c'est l'objet que nous voulons faire apparaître Nous ne pouvons pas vraiment définir une valeur statique, suffit de la faire glisser ici. Remettez-le, je vais l'appeler article. En ce qui concerne l'emplacement de l'objet, je n'ai pas vraiment besoin d'utiliser une transformation. Donc ce que je vais faire, c'est dire fabriquer. Chaque fois que vous dites effectuer une transformation, c'est essentiellement parce que je veux voir l'emplacement, rotation et les valeurs d'échelle. C'est pourquoi nous utilisons make. Vous pouvez désormais faire glisser cet emplacement dans l'événement. Cela crée donc une note épinglée pour cela. Et je vais juste l' appeler lieu d'apparition parce que je ne suis pas vraiment intéressée par la rotation et l'échelle, ça va rester pareil Je ne suis intéressé que par l'endroit où je souhaite faire apparaître l'objet Maintenant, cet objet d'apparition, où est-il le plus judicieux jouer à cet événement ou de l'appeler ? L'endroit serait que chaque fois que nous achetons un objet, nous en calculons le prix chez le joueur. Chaque fois que nous achetons l'article, nous l'ajoutons à la variable ou à la carte ici et nous mettons à jour les boutons. Après cela, je pourrai le faire apparaître dans le monde. En gros, son apparition se fait dans le contrôleur du joueur, donc j'ai à nouveau besoin du contrôleur du joueur Ou vous pouvez faire glisser le pointeur à partir d' ici si vous le souhaitez. Et vous pouvez dire spawn item, provide et select. Vous devez maintenant préciser de quel élément vous parlez. Maintenant, nous avons déjà ce cours à partir d'ici. Je vais juste le casser une fois de plus. Suivez le cours, branchez-le ici et cachez les broches non connectées Je vais juste m'y intéresser de plus près, double-cliquer pour créer un nœud. Maintenant, en ce qui concerne le lieu d'apparition, nous devons être plus précis ici Parce que nous avons besoin d'une scie ou de l'emplacement de cet acteur ici, les objets apparaissent. Vous pouvez toujours revenir au mode de jeu et voir comment nous l'avons fait auparavant. Si nous revenons au début de la partie, nous utilisons celle-ci. Trouvez un acteur de classe. Et n'oubliez pas que cette fonction, d' obtenir un acteur de classe, permet d'obtenir tout ce qui apparaît déjà dans le monde lorsque vous cliquez sur jouer Parce que si vous dites « trouvez un acteur de classe et que vous l'avez dans le niveau en ce moment, cela vous donnera une ère. N'oubliez pas que cette fonction ne permet d'accéder qu'à l'acteur déjà apparu dans le monde. Nous les avons déjà engendrés. Nous pouvons donc réellement l' utiliser, obtenir un acteur de classe. Faisons-le ici car en fait ce n'est pas la méthode dont nous avons besoin pour utiliser get actor of class. Nous pouvons prendre celui-ci en gros, nous disons point d'apparition et nous pouvons sélectionner le point d'apparition de l'objet que nous pouvons faire glisser d'ici et dire «   obtenir la position de l'acteur Nous savons maintenant où se trouve l' acteur, qui est cet endroit ici. Et nous pouvons le brancher. Maintenant, voyons ce qui se passe. Nous pouvons simplement cliquer sur jouer et j'essaie essentiellement d' acheter quelque chose. Rien n'apparaît et c'est en fait la bonne solution. Je me demande juste pourquoi il ne se reproduit pas. Voyons si nous avons réellement ajouté les articles. C'est peut-être le problème en ce moment. Si nous l'ouvrons, allons dans la fenêtre d'affichage, je peux voir que nous n'avons aucun objet En fait, je vais le faire maintenant. Pour tous les articles que nous avons créés précédemment. Par exemple, Crown of Evil, nous devons sélectionner le sprite source Allez-y, sélectionnez-le ici, pour qu'il apparaisse ici, compilez. Passez au suivant , Grand Magicien, chapeaux, cliquez sur les composants de rendu sélectionnés ici, compilez ensuite. Il s'agit de la base d'articles, nous n'avons donc pas vraiment besoin d' ajouter quoi que ce soit ici. Je vais à la Couronne du roi. Et nous pouvons le faire d'ici au lieu de cliquer ici. La suivante est la couronne du roi. Très bien, c' était le dernier. Maintenant, je les ai tous ajoutés. Et je vais juste cliquer sur Compiler pour tous pour m'assurer que tout fonctionne comme prévu. OK, fermez tout, sauvegardez tout. Et cliquons sur Play again by the Light Feather. Vous pouvez maintenant voir que la plume claire est en train de se reproduire. Et si j'achète la torche, elle se répandra également. Ils répondent tous les deux. Ils se reproduisent au même endroit. Mais nous savons que ce problème fonctionne. Dans les trois prochaines leçons, je vais vous montrer trois méthodes pour les générer efficacement. Ce que je veux faire, en gros, c'est qu'à partir de maintenant, nous voulons faire apparaître tous les objets, mais pour le moment, tout va bien Maintenant, si vous voulez réduire la taille de l'objet qui apparaît, maintenant, dans la base d'objets vous pouvez essentiellement le faire à cette échelle Pour cet objet, vous pouvez cliquer sur le cadenas Il modifie les trois valeurs en même temps. Et si j'écris 0,5, je clique sur jouer et j'achète quelque chose. Vous pouvez voir que l' article est plus petit maintenant. Maintenant pour l'Em, je pense que je vais opter pour l'échelle de 0,25 car les icônes sont très grandes Si je clique sur Jouer maintenant et que je fais apparaître quelque chose, vous pouvez voir que c'est la taille que j'aime, la taille de celui-ci Vous pouvez toujours avoir un Bitloga, mais nous allons avoir beaucoup d'objets Je pense que c'est une bonne taille pour cela. OK, sauvegardons tout, et passons à la suivante. 78. 8.14 Logique de frai: Au cours des trois prochaines leçons, je vais vous montrer comment nous pouvons utiliser ces méthodes d'apparition Maintenant, le premier sera facile, puis nous passerons à quelque chose d'intermédiaire, puis à quelque chose d'avancé. J'espère que tu resteras avec moi pour toutes. Commençons par celle-ci, qui est la méthode la plus simple. Maintenant, pour ce qui est du spawning, je vais le faire dans le mode jeu, car c'est là que nous appelons les points d'apparition, nous les définissons Permettez-moi d'ouvrir le mode jeu. Nous avons déjà défini le point de repère de l'ennemi. Maintenant c'est l'heure de passer à celui-ci. Au lieu de le faire ici, créons une fonction pour cela. Parce que ça va être un peu plus important que de simplement le faire ici. Laissez-moi juste créer une fonction à partir d'ici. Permettez-moi d'appeler cela des éléments fixes, des points. J'en ai généralement un devant eux pour le fonctionnement, et je vais juste le faire ici pour rester constant pour celui-ci également. Compilez et enregistrez maintenant pour celui-ci. Ce que vous pouvez faire maintenant avant de commencer , juste pour ne pas oublier, je voudrais appeler les Spawtpoints ici, faire glisser la fonction ici, continuer et la connecter Et maintenant ça marche, d'accord ? Nous devons donc maintenant faire quelque chose à l'intérieur de cette fonction. Ce que je veux faire d'abord, c'est obtenir tous les points St. Pour ce faire, disons qu'il faut réunir tous les acteurs de la classe. N'oubliez pas cette fonction, vous ne pouvez l'utiliser que pour des choses qui apparaissent déjà, hors d'ici Et nous avons déjà St. Points à l'intérieur. Maintenant, de façon réaliste, nous aurons un point St pour chaque article. Nous en aurons donc beaucoup plus. Oups, nous aurons beaucoup plus de points pour l'Espagne comme celui-ci ici Mais pour l'instant, supprimons-les tous. Et je vais m'en tenir à deux. Chaque fois que cette méthode fonctionne, je vais simplement copier tout cela. Et ce sera environ 5 secondes de travail pour le moment. Ayons simplement ces deux éléments et travaillons avec eux. Disons qu'il faut réunir tous les acteurs de la classe, et que nous recherchions un point de spa, celui-ci. Et il devrait avoir les deux. Si vous voulez voir ce que cela donne réellement, vous pouvez toujours imprimer une chaîne que vous pouvez faire glisser d'ici et indiquer la longueur, pour que vous puissiez voir. Combien de points d'apparition avons-nous obtenus ? Ça devrait dire deux. Si vous cliquez sur jouer, il est indiqué deux ici. Si vous pouvez le voir, nous savons maintenant qu'il obtient ces deux points S. Génial. Ce que nous pouvons faire maintenant, c'est faire glisser le pointeur à partir d' ici et dire quatre pour chacun. Nous pouvons maintenant faire quelque chose avec chacun de ces points de spa. Ce que nous voulons faire, c'est essentiellement définir l'emplacement. Parce que nous avons besoin de l'emplacement à l'intérieur du joueur. Chaque fois que nous faisons apparaître un objet, nous avons besoin de l'emplacement du point d'apparition du prochain objet que nous voulons faire apparaître Ce que je veux faire, c'est ne pas faire apparaître tous les objets ici les uns sur les autres Ce que je veux faire ici, c'est créer des objets sur une ligne. Je veux faire apparaître le premier objet ici. Je veux créer le deuxième élément ici. Troisième point ici, quatrième, cinquième, six, et ainsi de suite. Maintenant, tu peux le faire comme ça, ce n'est pas un problème. Mais imaginez si vous avez 200 articles pour le premier article, vous en avez 200 pour le second. L'ensemble de votre niveau va être spammé par des acteurs. Je ne pense pas que ce soit une bonne méthode, donc je vais juste les supprimer toutes. Mais c'est essentiellement ce que nous essayons de faire. Nous essayons de faire apparaître tous les objets d' une ligne ici. Essayons de le faire. Revenons maintenant au mode de jeu Ce que nous pouvons faire ici dépend vraiment de l' objet que nous devons faire apparaître N'oubliez pas que pour chaque point d'apparition, nous avons créé la variable Spain point name que nous avons exposée et nous avons écrit light feather Faisons glisser le pointeur à partir de celui-ci et cherchons le nom du point d'origine. Allez-y, obtenez cette variable. Maintenant, faites glisser le pointeur d'ici et dites « activer la chaîne ». Maintenant, c'est comme avant où nous utilisons l'activation de l'énumération, activation de la chaîne, vous pouvez le faire également Cliquez sur le signe plus pour ajouter des épingles. Le premier, le premier objet que nous avons, c'est la torche, ou en fait la plume légère Ensuite, nous avons le flambeau, nous avons ces deux compilations. Maintenant, ce que nous pouvons faire ici, s' il s'agit de la plume légère, nous voulons utiliser ce point C'est une torche, nous voulons utiliser ce point. Commençons par une plume légère. Ce que nous voulons faire, c'est d' abord créer un tableau. Parce que nous ne pouvons pas vraiment le faire sans un réseau pour stocker les emplacements que nous trouvons. Permettez-moi de le transformer en vecteur. Permettez-moi d'appeler cela des points d'apparition de Light Father. Emmenons celui-ci ici. Nous devons maintenant le transformer en tableau, car il y aura plusieurs emplacements que nous devrons stocker s'agit de cette ligne d' éléments que nous devons générer. Au lieu d'un vecteur, vous pouvez cliquer dessus avec le bouton droit de la souris. Vous le changez en vecteur, ou encore une fois, vous pouvez toujours cliquer dessus et le modifier ici si vous le souhaitez. Nous avons maintenant ce tableau. Et ce que nous devons utiliser avec elle, c'est la fonction d'ajout. Nous devons donc ajouter un emplacement et nous devons l'ajouter à l'intérieur d'ici. OK, maintenant, cela dépend des emplacements que nous devons ajouter. Comment s'y prend-on ? Comment puis-je obtenir différents emplacements simplement à partir d'un seul point de spaw Parce que je ne vais pas ajouter de points d'apparition supplémentaires. C'est le seul point d'apparition que je vais ajouter pour la plume légère, mais je veux qu'il y ait beaucoup d'objets que je dois faire apparaître vais ajouter pour la plume légère, ici Ce que nous pouvons faire, c'est me laisser le faire et vous verrez à quel point c'est facile. Tout d'abord, nous avons évidemment besoin l'emplacement de ce point espagnol. Tout d'abord, je vais le faire glisser et le dire à l'endroit où il se trouve. J'ai maintenant l'emplacement de ce point d'apparition. Ce que nous pouvons faire avec celui-ci, c'est que je peux créer une boucle à quatre boucles. Nous pouvons sélectionner ces quatre boucles ici. Maintenant, cela dépend du nombre d'objets que vous souhaitez faire apparaître en premier Commençons par cinq points. Nous allons en écrire quatre ici. La raison en est que le premier indice d' une boucle est 00, c'est-à-dire 101234 C'est-à-dire cinq éléments, 0-4. Ce que nous devons faire c'est obtenir cet emplacement Acts Maintenant, vous devez penser que vous allez faire apparaître les objets de cette façon Vous devez faire attention à l'axe dans lequel vous vous trouvez. Il s'agit de l'axe X, la flèche rouge de l'axe X. Si vous cliquez dessus et que vous faites glisser l'élément, vous pouvez essentiellement voir ici, dans le panneau de détails, que vous vous dirigez dans le sens positif de l'axe X. C'est essentiellement ce que nous essayons de faire. Je ne veux pas affecter le Z et je ne veux pas non plus affecter le Y. Je veux juste affecter le X. C'est pourquoi nous pouvons prendre cela et nous pouvons dire casser le vecteur parce que nous voulons uniquement affecter l'axe X. Aussi pour celui-ci. Comme je ne peux pas le connecter ici, je vais le faire glisser et dire make vector. Maintenant, je peux aussi voir les x, y et z et nous pouvons essentiellement faire glisser ces informations ici. Maintenant, pour le Y, pour le z, je ne veux rien changer. Je ne veux pas les affecter, je veux juste affecter le X. Maintenant, ce que je peux faire, c'est dire que la perte de X peut être d'environ dix unités. Donc, en gros, ce que nous faisons, c'est prendre cet emplacement, puis nous ajoutons dix unités. L'article suivant sera plutôt ici. Revenons en arrière. Nous disons dix, puis nous le rebranchons Nous prenons cet endroit, il l'est déjà. À ce stade, nous ajoutons dix au x, puis nous le rebranchons et voici notre nouvel emplacement De toute évidence, nous ne pouvons pas simplement en brancher dix et en garder dix en dehors d'ici, parce que ce sera pareil, cela revient à ajouter des éléments ici à la place, tous. Ce que nous devons faire, c'est réutiliser cet index. L'indice sera d'abord zéro, puis 123. Ce que nous pouvons faire, c'est multiplier ce nombre ici. Au lieu de simplement écrire dix, nous pouvons le faire glisser, le multiplier, le sélectionner. Ce que nous pouvons dire ici, c'est que nous pouvons dire dix multiplié par l'indice ici. Et cela devrait très bien fonctionner. Ce que nous disons, c'est d'abord dix multiplié par zéro, qui sera juste ce point d'apparition Nous disons dix multiplié par un, nous disons x plus dix. L'article suivant serait alors ici. Encore une fois, ça va passer à l'index de deux. Ça va dire dix fois deux. Ça fait 20. Ça va dire x plus 20. Le prochain article sera ici, et ainsi de suite. Il va simplement faire une boucle et ajouter des emplacements comme celui-ci ici. Nous allons tout supprimer. Maintenant, nous pouvons le connecter. Nous pouvons réellement l'essayer et voir si cela fonctionne. Si j'économise ici. Et nous pouvons essayer de le faire apparaître dans le joueur, dans l'objet d'apparition Nous devons évidemment le supprimer maintenant que nous l'avons créé plus tôt et nous devons ajouter les lieux depuis le mode de jeu. Je n'ai pas vraiment le mode de jeu ici, créons simplement une référence rapide à celui-ci. Si je dis « accéder au mode de jeu », n'oubliez pas que c'est dans le menu Commencer à jouer. Passons au mode jeu. Obtenez une référence au mode de jeu, car n'oubliez pas que nous en avons déjà créé le plan sur l'interface Nous pouvons cliquer avec le bouton droit de la souris, le promouvoir une variable appelée mode jeu comme celle-ci. Je ne l'ai pas connecté. Laisse-moi juste réarranger ça maintenant. Nous pouvons passer au mode jeu. Je vais juste le rapprocher. Nous pouvons prendre les points d'apparition des vols, nous pouvons les obtenir ici. Nous pouvons également dire « obtenir » parce que nous devons obtenir le point pour l'Espagne. Obtenez-en une copie. Maintenant, cela dépend vraiment du point d'apparition que vous devez obtenir, car cela dépend des objets que vous avez achetés En fait, ce que je dois faire ici, c'est simplement dire « trouver ». Parce qu'il va trouver l'article que vous avez acheté. Cela correspond à l' objet, le point de rotation ici. Trouvez maintenant l'article que vous avez acheté. Et cela dépend vraiment du nombre d'articles que vous avez achetés. Maintenant, l'article acheté sera toujours l'un des articles ci-dessus, parce que nous en ajoutons un ou en ajoutons un ici Nous devons prendre cela et dire moins un, car souvenez-vous que nous commençons à l'indice zéro. Nous ne commençons pas par l'index 1. Lorsque vous avez acheté un article, nous devons le réduire d'un, puis le brancher, car le premier article apparaîtra à l'indice zéro. Nous devons toujours dire moins une compilation, Nous devons toujours dire puis le brancher Cliquez sur Play, essayez simplement d'acheter des plumes claires. Maintenant, vous pouvez voir que cela fonctionne. Nous apparaissons en fait dans une ligne et elle n' apparaîtra plus. Parce que vous pouvez le voir apparaître ici. C'est parce que nous l'avons uniquement défini comme étant 0-4. Maintenant, vous pouvez toujours écrire 99 et cela générera 100 objets Maintenant, il ira 100 fois vers la droite avant de s'arrêter. Maintenant, vous pouvez voir que cela fonctionne très bien. Maintenant, si vous voulez le faire pour tous les autres articles, vous devez évidemment prendre tout cela. Vous devez copier-coller. Et tu dois le faire ici comme ça avant. Chaque fois que le premier est terminé ici, vous devez également le faire pour le flambeau. En fait, nous devons également copier celui-ci. Et nous devons le faire également. Vous pouvez le voir ici, il y a beaucoup de copier-coller. Tu peux le faire bien mieux. Parce que n'oubliez pas que nous avons, disons, 50 objets dans le jeu. Vous devez le copier 50 fois pour tous les articles. Vous pouvez voir que ce n'est pas vraiment une bonne pratique de programmation. Je ne ferais jamais ça dans mon jeu. Je vais juste le supprimer . C'était le premier. C'est la méthode la plus simple que nous puissions utiliser. J'ai une méthode un peu plus sexy. Continuons simplement dans la leçon suivante. 79. 8.15 Logique de frai - Intermédiaire: Très bien, alors maintenant nous sommes de retour. Et ce que je veux faire maintenant, avant de changer complètement cette méthode, je veux l'améliorer un peu. Parce que nous allons utiliser cette méthode améliorée. Nous n'allons pas supprimer tout ce que nous faisons en ce moment. Continuons simplement avec ce que nous avons actuellement. Maintenant, je dois changer cela plus tard, mais pour l'instant gardons-le et gardons tout cela. Mais ce que je veux faire maintenant, c'est cliquer sur Jouer et acheter des objets. De plus, chaque fois qu'il atteint un certain point, je veux passer à la rangée suivante. Il n'achète pas dans une seule rangée, mais il achète également dans la deuxième rangée. Maintenant, je peux voir que celui-ci ne fonctionne pas parce que nous ne l'avons défini que sur quatre dans l'index. Mais comme vous pouvez le constater, si je continue à acheter dans cette rangée, cela peut devenir trop long. Ce que je veux aussi faire, c'est qu'il passe automatiquement à la ligne suivante et qu'il y achète ou y fait apparaître des objets Ajoutons d'abord un peu de logique, écrivons simplement cinq ou quatre ici. Comme avant, j'ai besoin de savoir quand cette boucle est terminée. Faisons un clic droit sur celui-ci. Nous pouvons le promouvoir en tant que variable locale. La différence entre une variable et une variable locale est qu' une variable locale se trouve à l'intérieur de cette fonction dans laquelle vous vous trouvez actuellement. Nous sommes à l'intérieur de cette fonction de points d'apparition d' objets définis. Si je crée un point d'Espagne local et que je reviens au graphe des événements, je ne pourrai pas voir la variable ici car elle n'existe que dans cette fonction. Nous avions essentiellement besoin de faire preuve de logique ici, mais nous n'en avons pas vraiment besoin pour être ici. Nous ne l'utilisons que pour que lorsque la boucle est terminée ou non, nous pouvons cliquer avec le bouton droit de la souris ici, pour devenir une variable locale. Je les appelle généralement locaux pour commencer, appelons-les une boucle, dernier index. Comme il s'agit du dernier indice de la boucle, nous devons également créer une autre variable locale. Je vais le remplacer par un entier. Encore une fois, ce n'est pas une erreur normale. Le second, je veux simplement l' appeler local amount of rows. J'ai besoin de savoir dans combien de lignes les éléments doivent figurer. En ai-je besoin sur une rangée ou en ai-je besoin sur deux rangées, trois rangées, etc. Pour l'instant, ajoutons simplement trois lignes. Si je compile, cliquez sur la variable et cliquez ici dans la valeur par défaut, juste trois. Maintenant, nous voulons trois lignes. Ce que je veux faire ici, c'est prendre la boucle locale. Dernier indice que je voudrais dire, est-ce égal à l' indice actuel ? Parce que cet indice compte à la hausse. Et vous pouvez voir que si vous imprimez une chaîne, vous pouvez toujours imprimer une chaîne s'il y a quelque chose que vous ne comprenez pas ou si vous voulez quelque chose. Clarity 4, vous pouvez simplement le faire glisser ici et cliquer sur Play. Maintenant, vous pouvez voir qu'il imprime le numéro. Et si je l' allongeais ici pour que nous puissions voir ce qui se passe et le lire. Cliquez sur Play. Vous pouvez le voir dans le numéro 01234 Il compte à la hausse s'il est égal à cet indice de perte de boucle locale, qui est celui-ci. Si nous compilons simplement, vous pouvez voir qu'il est mis à quatre en ce moment. Si c'est égal à cela, nous savons que c'est la dernière boucle qu'il a parcourue. Il suffit de reconnecter celui-ci. Si c'est vrai, nous voulons prendre le nombre de lignes auxquelles nous voulons le comparer. Combien de fois cette boucle a-t-elle été exécutée ? Disons que vous avez besoin de trois lignes ici. Vous devez exécuter la boucle trois fois, car la première fois qu'elle tourne en boucle sur cette ligne, elle doit tourner en boucle ici et en boucle ici. Si nous avons écrit que la quantité de rose est de trois, elle doit être bouclée trois fois. Je vais à nouveau créer une nouvelle variable. Appelons cela un compteur de boucle local. Prenons ce compteur de boucle local et disons loss plus, car nous devons l' incrémenter d' un chaque fois que la boucle est terminée Cette boucle est maintenant terminée. Si c'est vrai, nous devons en ajouter une au compteur de boucles local. Nous devons nous demander s'il s'agit d'un compteur de boucle local inférieur à la quantité de roses. Si c'est moins, c'est moins pour le moment car la quantité de rose est de trois et celle-ci n'en est qu'une. Revenez en arrière et refaites la boucle. Si ce compteur de boucles est maintenant de trois, il ne bouclera pas à nouveau car il est également égal à trois. Et nous allons arrêter le code. Il suffit de sortir et de le connecter ici. Maintenant, s'il est inférieur au nombre de lignes, nous devons réexécuter la boucle. Supposons que cela soit vrai ici et revenons-en à la boucle. Prenons cette épingle d'exécution ici. Je vais double-cliquer pour prendre note de l'itinéraire arrière. Donc je peux vraiment le voir comme ça. Maintenant, nous allons revenir en arrière et remettre cela en boucle une fois de plus. Maintenant, si vous cliquez sur jouer et que vous achetez. Vous pouvez voir qu' il ne se passe rien. Pourquoi il ne se passe rien ici ? Mais vous pouvez vraiment voir qu'il se passe quelque chose. Parce que si j'en achète cinq comme ici, et que je me rappelle avoir défini le dernier index sur quatre, je peux faire apparaître cinq objets avant le sixième Ça ne va pas déranger cinq par dix. Ce n'est pas un bug si F par 15, mais si j'en achète 16, vous pouvez voir que ça disparaîtra. Ce qui se passe en ce moment, c'est que vous faites apparaître les 15 objets les uns sur les autres, vous ne prenez pas la rangée suivante La raison en est que n'oubliez pas que vous devez affecter la valeur z, car la ligne est essentiellement la valeur Z ici, nous n'avons pas affecté la valeur Z. Vous devez faire quelque chose avec cette valeur z. Ce que nous devons faire, c'est voir dans quelle direction nous voulons aller. Maintenant, si je clique dessus et que je le fais glisser vers le bas, faites simplement attention à la valeur z ici dans le panneau de détails. Si j'appuie dessus, il passe ici dans le signe moins du z. Ce que je peux faire, c'est prendre la valeur z. Je peux dire moins. Nous devons juste le faire comme avant. En fait, si je peux prendre ceci ici et dire multiplié comme avant, je vais le déplacer, je vais le supprimer, parce que nous n' en avons pas vraiment besoin. Nous pouvons toujours copier-coller celui-ci ici si nécessaire. Encore une fois, nous devons le multiplier comme avant. Disons pour dix. Et ce n'est pas vraiment l'indice car nous ne voulons pas vraiment le multiplier dans la même boucle. Comme lors de la première boucle, la valeur z est toujours la même. Dans la deuxième boucle, la valeur z est toujours la même. Cela ne changera pas tous les index ici. Au lieu de cela, nous devons créer une autre variable locale. Appelons cela un multiplicateur local sur l'axe z. Maintenant, pour la valeur par défaut, elle restera nulle car nous ne voulons pas la multiplier par quoi que ce soit. La première boucle, donc la première boucle, tout est correct. Connectons-le ici. Tout est lié. Maintenant, il dit que quelque chose ne va pas. La valeur actuelle d'un nombre valide, valide. Je ne sais pas pourquoi il dit cela. Si vous cliquez sur Fichier et actualisez toutes les notes, je ne sais pas pourquoi cela bogue comme ça Il suffit de faire glisser et de répéter « multiplier ». Je vais le faire glisser ici au lieu de dire « dix Dieu », puis le connecter une fois de plus et le compiler. Et maintenant ça marche. Je ne sais pas, c'était juste un bug aléatoire. Maintenant, c'est connecté. En gros, ce que nous devons faire, c'est augmenter ce multiplicateur local de l'axe z. Parce que pour la première boucle, nous voulons que le z soit complètement le même. Pour la deuxième boucle, nous voulons que le z soit le même sur toute la ligne, et ainsi de suite. À chaque boucle, le z change. Nous pouvons le faire ici. Prenons le multiplicateur z local lorsque nous savons que nous allons recommencer la boucle. Lorsque cela est vrai, augmentons simplement ce chiffre d' un plus plus connecté et revenons dans la boucle comme ceci. Maintenant, cela devrait fonctionner si je compile et si je clique sur play. Et si j'achète la plume légère cinq fois six fois, elle devrait être ici, ce qui est correct Et vous pouvez voir que tout fonctionne correctement. Vous pouvez maintenant voir à quel point c'est formidable de pouvoir générer tous ces objets à partir d' un seul point en Espagne Désormais, vous n'avez plus besoin de spammer votre carte avec beaucoup de points d'Espagne. Ceci est très optimisé car il ne fonctionne que lorsque vous démarrez votre jeu. Parce qu'il va stocker tous ces points d'Espagne dans un tableau que vous pourrez utiliser plus tard pour faire apparaître les objets. Laissez-nous tout sauver. C'était tout pour le moment et nous allons passer au prochain et le rendre un peu plus avancé. J'espère que vous êtes toujours avec moi, mais ce que nous allons simplement faire, c'est nous débarrasser de cette partie. Et je vais vous montrer comment nous pouvons rendre un peu plus avancé. Cliquons sur Fichier, Enregistrer tout, et passons au suivant. 80. 8.16 Logique de frai - Avancée: heure actuelle, nous allons améliorer le code que nous avons écrit ici. C'est donc la dernière partie de ce que nous pouvons faire. Au lieu de faire tout cela, permettez-moi de supprimer cette partie pour le moment ainsi que celle-ci. Pour ce point d'éléments que nous obtenons, suffit de cliquer avec le bouton droit de la souris ici et de transformer en variable locale. Appelons cela un élément local, les points d'apparition Maintenant, nous avons également ces points d'apparition. Avant de faire tout cela, assurons-nous qu'il n'est pas nul. Nous nous assurons simplement d'avoir des points d'apparition et que la carte contient réellement des points d'apparition. Donc, faites glisser le pointeur d'ici et nous disons longueur, nous nous assurons que cette longueur est supérieure à zéro, puis nous pouvons créer une branche. Waouh, nous nous assurons avoir réellement des points d'apparition Avant de suivre toute cette logique, sinon cela n'aura aucun sens. Éloignons-le de cela pour le moment et allons-y et connectons-le. Maintenant, quand vous jetez un œil à celui-ci, vous devez vous demander comment vous pouvez le rendre plus petit qu'avant ? Au lieu de prendre ce code, copiez-le puis collez-le ici, puis connectez-vous et continuez Comment pouvez-vous raccourcir cette méthode ici afin de ne pas avoir à copier-coller ce qui est différent de ce code dans le code que vous devez modifier ? Maintenant, la première chose qui me vient à l'esprit, c'est que je jette un coup d' œil à ce tableau car vous devez d'abord ajouter les emplacements des points d'apparition des grandes plumes. Alors faisons-en un nouveau. Il suffit de cliquer sur ce contrôle D pour le dupliquer. Le second concerne les points d'apparition de la torche, je crois que le second est la torche Oui, ça l'est. La seconde est la torche. En fait, nous avons besoin de la torche ici où vous devez ajouter les points d'apparition et non la plume légère C'est la seule différence. Maintenant, pour le raccourcir à nouveau, n'oubliez pas d'utiliser le nœud de sélection, un nœud très important et puissant que vous pouvez faire glisser depuis celui-ci, puis dire sélectionner. Vous pouvez maintenant sélectionner la plume ou la torche, en fonction de ce que vous branchez ici Maintenant, comment savoir lequel sélectionner là où il se trouve ? Encore une fois, où vous pouvez utiliser l'énumération. Si je reviens dans les éléments que je peux écrire, cliquez sur Créer une nouvelle énumération de plans Et appelons-le articles. Ouvrons celui-ci. Ajoutons simplement quelques éléments. Maintenant, je vais juste essayer quelque chose. Le premier article est une plume légère. Le second est Torch. Nous pouvons toujours essayer de voir si cela fonctionne. Si cela ne fonctionne pas, cela n'a pas vraiment d'importance, alors nous en avons tiré des leçons. Si j'y retourne maintenant, j'ai cette énumération Je vais en fait ajouter cette énumération à ce point sur l'Espagne car, encore une fois, tout comme le nom, nous devons définir l'énumération correctement Ouvrons le point sensible des éléments, car nous avons précédemment ajouté cette variable d'élément, ou cette variable de nom de point espagnol à cette base de points. Lequel ici. Mais cela n'a pas vraiment de sens d'ajouter une énumération d'objets à la base de points car l'ennemi n'en a pas vraiment besoin Pourquoi l'ajouteriez-vous à l'intérieur de la base des points ? Parce que souvenez-vous que le point essentiel est l'enfant de celui-ci. Je ne veux pas ajouter de variables inutiles là où vous n'en avez pas vraiment besoin chez tous les autres acteurs. Nous n'avons besoin d'eux qu' à l'intérieur d'ici. Ajoutons-le à l'intérieur d'ici. Ajoutons plutôt une variable, appelons-la item. Permettez-moi simplement de rechercher des objets. Objets. C'est ainsi que nous l'avons appelé. Allez-y et sélectionnez-le. Compiler. Sauvegardons encore une fois tout. Exposer, Instance, Modifiable. Exposez au moment du spawn, compilez. Maintenant, si je clique dessus, je peux changer l'article en plume légère Et le prochain, je pourrai le changer en Torch. Nous avons maintenant cette information. Maintenant, si je reviens à mes plans, ouvre mon mode de jeu. Ce que nous pouvons faire ici pour obtenir ces informations. N'oubliez pas que nous avons déjà cette information ici. Je peux donc prendre mon article local, gagner des points, je peux dire obtenir. Et je vais juste prendre le premier, puis je vais dire article et ensuite je vais trouver mon énumération Maintenant, allez-y et branchez-le ici. Vous pouvez maintenant les rebrancher. Maintenant, je peux voir qu'en fonction de cette valeur, ces tableaux seront sélectionnés Si c'est la plume lumineuse que vous avez sélectionnée ici dans l'exposition d'un spawn, elle sélectionnera le réseau de plumes lumineuses et ainsi Je peux voir que ça va très bien fonctionner. Également ici pour obtenir l'emplacement de l'acteur, il faut un acteur, allez-y, copiez-collez ceci et collez-le ici. Cela fonctionnera donc très bien une fois qu' il aura ajouté les points d'apparition pour le premier ici, pour le premier dont il a besoin Le second quand il atteindra le second ici. Rappelez-vous maintenant que nous avons demandé le compteur de boucles locales est plus grand que le nombre de lignes que vous souhaitez avoir ? Plus petit, plus grand si c'est plus petit. Si c'est vrai, il suffit de continuer et de refaire la boucle. Cependant, s'il n'est pas plus petit, cela signifie que nous devons arrêter la boucle car nous avons atteint le nombre maximum de lignes pour celle-ci, nous devons passer à la suivante. Ce que nous pouvons faire, c'est prendre ceci et nous pouvons dire index. Parce que nous savons que nous devons supprimer l'index zéro parce que nous utilisons essentiellement le premier index pour faire apparaître les éléments d'ici, supprimez le premier index qui est l'indice zéro Avant de revenir au point d'apparition suivant, nous devons nous assurer qu'il n'est pas vide. Car que se passera-t-il si vous atteignez le dernier point d'apparition ? Nous ne voulons pas continuer à tourner en boucle. Nous devons faire glisser le pointeur ici et dire que ce n'est pas vide. Parce que nous voulons faire une boucle chaque fois que ce n'est pas vide, créons une branche, allons-y et connectons-la. S'il n'est pas vide, nous voulons recommencer la boucle. Maintenant, n'oubliez pas que nous devons réinitialiser la valeur Z, car nous sommes encore une fois dans une nouvelle ligne. Nous devons réinitialiser tous les paramètres de la valeur Z. Je vais le mettre à zéro. Et puis pour le compteur de boucles local également, parce que maintenant que nous démarrons un nouveau compteur de boucles, je vais également le régler sur 20. Voyons s'il y a autre chose que nous devons changer. qui concerne l' index de la boucle locale, en fait, ce qui concerne l' index de la boucle locale, en fait, il reste le même car nous avons le même nombre d'éléments par ligne. Nous n'avons pas vraiment besoin de changer quoi que ce soit. Compilons et sauvegardons tout. Maintenant, pour celui-ci, nous allons essentiellement le rebrancher dans la boucle comme ceci. Encore une fois, double-cliquez dessus pour voir ce que nous faisons actuellement. Voyons si cela fonctionne réellement. Maintenant, avant de cliquer sur jouer et d'essayer de le faire, vous pouvez voir qu'il apparaît les uns sur les autres Je ne pense pas que ce soit une erreur, car souvenez-vous que dans le lecteur, vous choisissez également comment vous l'appelez réellement. Nous n'avons eu que le point d' apparition des plumes légères. Vous. En fait, il faut aussi le rendre un peu plus dynamique. Encore une fois, souvenez-vous que vous devez obtenir l'emplacement ici, le tableau, en fonction de l'objet pour effectuer cet acte. Parce qu'ici vous avez une chaîne et que ce que vous utilisez dans le mode jeu est une énumération Vous ne pouvez pas vraiment les utiliser ensemble. Vous ne pouvez pas non plus insérer une chaîne dans une énumération. Si nous l'avons trouvé ici, nous devons le convertir d'une manière ou d'une autre. Créons une nouvelle fonction ici. Appelons celui-ci, obtenons-lui des points d'apparition. Il ne s'agit que d'obtenir des informations. N'oubliez pas de le mettre sur pur, qu'il devienne comme une fonction verte. Nous ne recevons que des informations ici. Maintenant, pour celui-ci, ce que nous pourrions faire, par exemple, nous pourrions rechercher des objets. Nous pourrions utiliser cette énumération comme avant, et nous pouvons dire activer l'énumération Et nous pouvons essentiellement attribuer les points d'apparition en fonction de ce dont nous parlons, de l'objet que nous avons sélectionné Le problème, c'est que si nous devons utiliser celui-ci, obtenez-le avec des points. Si je compile et que je reviens au joueur, que je prends le mode jeu et que je dis « on appelle », on obtient des points de spa. Obtenez des points de spa. J'ai essayé d'utiliser celui-ci. Si j'essaie de le brancher ici, vous pouvez voir qu'il est indiqué que la chaîne n'est pas compatible avec l'énumération des éléments Nous pouvons maintenant ajouter l'énumération des éléments à l'intérieur de la structure Je n'ai pas vraiment envie de le faire, mais tu peux le faire si tu veux. C'est également une méthode qui peut fonctionner. Mais ce que je veux faire, c'est qu'au lieu d' en faire une énumération, transformons-le en une chaîne Sélectionnez plutôt une chaîne et appelons-la nom de l'élément. Supprimons celui-ci. Ensuite, nous pouvons dire switch on String. Ajoutons-les. En cliquant manuellement sur le signe plus. Le premier élément est la plume légère. Le deuxième article est le brun doré. Ce que nous pouvons faire, c' est que s'il s'agit d'une plume légère, nous pouvons créer un nœud de retour en écrivant un retour ici, le sélectionner et simplement le faire glisser ici Je vais juste appeler celui-ci des points d'apparition. Ce que nous pouvons faire, c'est que nous pouvons essentiellement copier-coller ceci ici, connecté et comme ça. OK, maintenant nous devons le faire pour tous les points d'apparition, mais pour l' instant, voyons si cela fonctionne Et nous pouvons toujours continuer. Si je reviens au joueur, je prends maintenant la variable du mode de jeu et je dis « objets points », et je dis « obtenir des objets contre des points Maintenant, je peux obtenir les points d'Espagne, selon le nom de l'article. Je vais juste l'ajouter ici. Ensuite, je prends les points d' apparition , puis je les fais glisser vers le haut. Nous pouvons maintenant supprimer cette partie car elle est maintenant ajoutée dynamiquement. Et si je clique sur Play et que j'achète des plumes claires, si j'achète des torches, elles sont toujours au même endroit Voyons ce qui ne va pas à l'intérieur. Je peux donc voir que j'ai écrit Golden Crown par erreur et que c'est Torch. C'est donc probablement le problème. Si je clique ici, c'est à droite, Torch à nouveau. Si je le reconnecte quand je change de nom et que je clique à nouveau sur Play, j'achète les plumes lumineuses et j'achète la torche. Vous pouvez voir maintenant qu'il fonctionne parfaitement. Maintenant, je peux voir qu'il apparaît également dans les trois rangées que j'ai choisies Maintenant, testons et voyons si cela fonctionne. Si nous changeons les paramètres, si je passe en mode jeu, je définis les points d'apparition des objets Si je clique simplement sur le nombre local de lignes et que je le change en deux lignes à la place, également pour le compteur de boucles. le dernier index, disons que je voulais dix articles d'affilée. J'en écris neuf ici, parce que souvenez-vous que l' indice de départ est zéro Fycliconplay, j'achète les plumes claires, vous pouvez en acheter dix Et il va rester ici, mais le 11e sera placé dans la rangée suivante. Maintenant, vous pouvez voir qu' il fonctionne parfaitement et je peux faire la même chose avec la torche. Ce qui est bien, c'est que vous pouvez toujours en supprimer un et le placer où vous le souhaitez. Vous pouvez cliquer sur Control Alt pour dupliquer. Il peut le retransformer en lampe torche comme cette sauvegarde. Je ne pense pas que nous ayons encore besoin de ce nom de point pour celui-ci. vais probablement le supprimer, mais cliquons à nouveau sur jouer. Maintenant, vous pouvez voir qu'ils fonctionnent parce que le premier était Torch. Maintenant, il suffit de vérifier que le premier est Torch, le second est Feather, et ainsi de suite Ils fonctionnent tous correctement. Revenons maintenant à la base de points espagnole ou à celle-ci. Supprimons l' instance Editable et exposons-la au moment du spawn car nous n'en avons plus besoin Revenons à la manette de jeu. Je vais supprimer tout cela et déplacer le tout ensemble. Je vais juste créer quelques notes de route arrière pour mieux arranger les choses. Très bien, maintenant j'ai tout réorganisé et j'ai juste redirigé les notes. Ça a l'air mieux. Nous avons donc besoin maintenant de tous les autres points de réponse. Finissons-en avec cette partie. Permettez-moi de supprimer le premier ci-dessous. Commençons par le début. Ce que vous pouvez faire, c'est simplement faire glisser le pointeur ici et vous devez gagner, évidemment, selon le nombre d'objets que vous avez. heure actuelle, nous en avons dix. Je vais juste descendre, c'est 234. Nous devons essentiellement créer une carte plus grande ou peut-être devons-nous créer plus d'espace. Allez-y, copiez-en huit. Très bien, maintenant j'en ai dix. Cliquez sur le premier, assurez-vous qu'il s'agit du premier élément. Vous pouvez toujours y aller et vérifier ici lesquels vous avez dans quel ordre. La première est la plume légère. Ensuite, Torch sélectionne la première comme plume légère, encore une fois, nous devons avoir l'énumération des objets, nous devons y ajouter les objets La plume légère est la première, Torch, puis il nous faut détruire le temps. Le protecteur. Je vais juste les ajouter toutes ici. Le dernier pour moi est Crown of Evil. Maintenant que je les ai tous de nouveau, sauvegardez-les tous. Ferme-le. Allons par ici. Ensuite, nous devons tous les changer ici également. Le premier est Torch. Tu peux l'ouvrir. Je vais l'ajouter à mon deuxième moniteur. Et celui-ci est une perte de temps. En fait, c'est juste en ordre ici. Nous pouvons simplement l'ajouter dans l'ordre. Le protecteur, donc pour ce qui est du dernier point, voici pour moi la couronne du mal. Tout devrait bien fonctionner. Maintenant, si je reviens au mode jeu, ouvre-le. Ouvrons-le ici. Maintenant, j'ai toutes ces entrées dans lesquelles je peux y insérer des valeurs. Dupliquons à nouveau celui-ci. Vous devez en créer un pour chacun d'entre eux, par exemple. Le suivant est celui des points d'apparition de Ruine of Time. Allez-y, créez-les tous et connectez-les également ici. C'est le dernier pour moi. La dernière est la couronne de points d'apparition maléfiques. Je vais aller de l'avant et ajouter cela également. Encore une fois, assurez-vous que tout va bien, réorganisez-les comme ça, ça devrait aller OK, maintenant que cela a été ajouté, passons au joueur et veillons à ce que nous n'ayons rien à faire ici. Si le joueur obtient des objets, des points d'apparition, nous devons le faire ici aussi Allez-y et cliquez plusieurs fois sur le signe plus. Encore une fois, jetez un œil à vos tableaux ici et renommez-les Le troisième est Ruin of Time. Assurez-vous d'avoir tout orthographié correctement, car cela sera également extrait du tableau de données Nom Ruin of Time. L'autre est le protecteur. Je vais juste les ajouter tous à nouveau. Encore une fois, c'est la dernière pour moi, la couronne du mal, et j'espère ne pas avoir mal orthographié aucun d'entre eux une fois de plus, juste pour le copier plusieurs fois Il s'agit du 678910. Maintenant, nous les avons tous. Allez-y et rebranchez-les tous ici une fois de plus. Et celui-ci est le dernier pour moi. Ensuite, allez-y et connectez-les tous. Celui-ci est le dernier. Assurez-vous simplement de vérifier. Si vous avez une erreur ici, vérifiez simplement ici que vous avez tout fait correctement. Vérifiez que vous branchez tout cela correctement, comme ceci ensemble Et assurez-vous également que, dans les points d'apparition définis vous avez correctement branché tout cela, vous avez correctement orthographié les noms à l'intérieur de l'énumération des éléments ici, ils correspondent aux noms que vous avez dans la table de données Assurez-vous simplement que tout cela est correct, car c'est très, très important. Tout devrait bien se passer. Maintenant, si je reviens au joueur, tout devrait fonctionner. Si je clique sur jouer, j'achète quelque chose. Testons-les tous. S'ils apparaissent, cela signifie qu'ils fonctionnent Maintenant, je dois agrandir un peu la carte, mais nous pourrons le faire plus tard. Mais maintenant, vous pouvez voir que je ne peux faire apparaître la rose que j'ai que pour 20 objets Vous pouvez donc le voir dans la case si j'en ai plus de 20. Mais j'augmenterai ce nombre à beaucoup plus tard. Mais comme vous pouvez le constater, je peux en acheter 20 de chaque article. Ça a l'air vraiment bien. Maintenant, nous avons des objets apparaissent selon le nombre d'objets que nous achetons Tout est calculé correctement, tout est parfait. Maintenant, fermons-le. Je vais également réorganiser cela, et nous pourrons passer à la leçon suivante 81. 8.17 Structure de coût d'article et tableau de données: Très bien, maintenant, ce que nous allons faire, augmenter les prix chaque fois que vous achetez quelque chose ici dans la boutique. Vous pouvez voir que chaque fois que j' achète quelque chose dans la boutique, le prix reste le même. Et ce n'est généralement pas le cas dans un jeu inactif ou un jeu à clicker, car cela doit être de plus en plus difficile sinon le design du jeu sera vraiment mauvais et ce sera un jeu plat Nous devons donc augmenter le prix C'est également ce qui se passe dans Cookie Clicker, par exemple, si vous ne l' avez jamais essayé auparavant Ainsi, par exemple, si vous achetez plus de curseurs, vous pouvez voir les prix augmenter et cela devient plus difficile Nous devons donc le faire également pour notre boutique. Nous devons modifier le prix statique. Fermons ça. Maintenant, pour cela, je veux créer une nouvelle structure contenant tous les prix. Si vous revenez aux plans, ouvrez les structures. Créons une nouvelle structure de plan pour celui-ci. Je vais appeler cela le coût de l'article. Ouvrons maintenant celui-ci. Ce que nous devons essentiellement faire, spécifier le coût de chaque article. Je vais le remplacer par un entier. Le premier que nous pouvons appeler le coût des plumes légères. Il vous suffit de lister tous les articles que vous avez. Vous pouvez maintenant accéder à cette énumération. Si vous ne vous souvenez pas des objets, vous pouvez toujours les avoir sur le côté. Et vous pouvez continuer et écrire tous les noms à l'intérieur de la structure. Ajoutez une nouvelle variable, copiez-la et collez-la. Ajoutez une nouvelle variable, copiez celle-ci, collez-la dedans. Je vais le faire pour tous. Très bien, celui-ci est le dernier pour moi, et je vais ajouter le dernier, et maintenant nous les avons tous. Permettez-moi de fermer celui-ci et de tout enregistrer. Maintenant, ce que nous devons faire, c'est créer une table de données à partir de celle-ci. C'est toujours agréable d'en avoir un. Cliquez avec le bouton droit de la souris, accédons à Blueprints, créons un tableau de données diverses et sélectionnons le coût de l'article Cliquez sur OK. Appelez un DT (coût de l'article). Sauvegardons tout maintenant. Nous devons accéder à Google Sheets. Ici, dans Google Sheets, nous l'avions déjà fait. Créons-en un nouveau. Permettez-moi de dupliquer celui-ci. Dupliquez ceci. Permettez-moi de l'appeler ici, coût de l'article DT. Maintenant, ce dont nous avons besoin, c'est de supprimer tout cela pour le moment. Ce dont nous avons besoin ici dans ce tableau de données c'est du coût de chaque article. Le premier est le coût des plumes légères. Par exemple, l'article numéro un coûtera environ dix. L'article numéro deux coûtera environ 15€. L'article numéro trois peut coûter environ 25 dollars et ainsi de suite. Et écrivons simplement tous les noms des articles ici. Je les ai maintenant tous écrits, tous les éléments. Vous devez maintenant définir un prix pour chacun d'entre eux. Par exemple, celui-ci. Le premier article peut coûter dix dollars pour la torche, il peut en coûter 15. Peut-être 2030, 40,60, disons 7510125, et peut-être 150 Encore une fois , tout cela prend du temps. Je vais juste sélectionner égal, prendre la première fois 1,2, peut-être simplement faire glisser quelques-unes d'entre elles. Vous pouvez maintenant voir à quel point cela est puissant , car vous pouvez créer des formules dans, dans Google Sheets et vous pouvez réellement importer ces nombres, qui sont essentiellement créés par formules pour votre jeu, et vous pouvez les utiliser. C'est également ce que j'ai utilisé dans Farm Tail lorsque je l'ai développé. Réduisons le nombre de décimales, car nous n'avons pas vraiment besoin de décimales Supprimons-les tous. Oui, on peut le faire. Cliquez également sur le glisser-déplacer pour les chiffres, le nombre d'objets placés, cela dépend vraiment du nombre d'articles que vous pouvez acheter. Mais pour ce jeu, disons que vous pouvez acheter 50 objets. L'article 50 coûte cela, nous pouvons simplement le faire glisser vers l'article 50, quelque chose comme ça. Tu dois le faire pour les autres. Je pense que je peux le faire comme ça. Oui, je peux tous les sélectionner ici et je peux les faire glisser ici comme ça, et tout ira bien comme ça. OK, maintenant j'ai tous ces chiffres. Vous pouvez voir à quel point c'est rapide lorsque vous utilisez une fiche technique. Maintenant, je peux cliquer sur Fichier, cliquer sur Télécharger, télécharger le fichier CSV. Maintenant, pour cela, nous pouvons recommencer et en changer le nom comme ceci. Maintenant, je peux retourner au moteur. À l'intérieur du moteur, accédons au dossier des tables de données. Cliquons et faisons-le glisser ici. Il mettra à jour toutes les informations comme nous pouvons le voir ici. Nous sommes maintenant prêts à l'utiliser . Sauvegardons tout cela. Avant de terminer, créons également la fonction de bibliothèque. Je vais l'ouvrir juste pour rester constant. Je vais en fait les renommer en F au début parce que je le fais habituellement pour mes fonctions comme celle-ci OK, créons une nouvelle fonction maintenant. Appelons celui-ci, Get item cost. Maintenant, le coût de l'article dépend du nombre d'articles que nous avons achetés. Parce que comme vous pouvez le voir ici, si nous y retournons, cela dépend vraiment du nombre d' articles que nous avons achetés. Parce que si nous avons acheté un article, nous devons obtenir l' article au prix deux. Ici. Si nous avons déjà acheté huit articles, nous devons connaître le prix de l'article suivant, qui est l'article numéro neuf, au lieu de l' avoir sous forme de chaîne, comme nous le faisions habituellement pour tous les articles ici. En fait, nous avons utilisé un entier ici. Utilisons également un entier ici. Permettez-moi d'ajouter un entier d'entrée. Permettez-moi d'appeler cela un nombre d'articles achetés. Quantité d'articles achetés. Nous avons déjà ces informations dans la carte des joueurs. Ce que nous pouvons faire, c'est que nous n'avons pas vraiment besoin de ce numéro, mais nous devons en ajouter un. En raison du nombre d' articles que vous avez achetés, disons que vous en avez acheté trois. façon réaliste, nous voulons connaître le prix de l'article numéro quatre Vous n'utiliseriez pas ce numéro, mais vous devez en ajouter un car vous devez avoir le suivant, le prix de celui-ci plus un. Ensuite, nous pouvons dire « obtenir une ligne de tableau de données », comme nous l'avons fait pour obtenir une ligne de tableau, nous devons utiliser le tableau de données sur les coûts des articles. Nous pouvons maintenant le brancher ici, mais maintenant vous pouvez voir qu'ils ne sont pas compatibles, mais vous devez le transférer dans une chaîne, deux chaînes, puis à partir d'une chaîne, vous pouvez le convertir en variable de nom. Alors allez-y et connectez-le. Nous pouvons maintenant créer un nœud de retour, ajouter un retour, l'ajouter ici et appeler cela une information sur le coût de l'article. N'oubliez pas de cliquer dessus pour en faire une fonction pure, car encore une fois, nous n' en tirons que des informations. Maintenant, testons-le avant de terminer cette leçon. Juste pour que nous sachions que cela fonctionne réellement. Si je passe au mode de jeu Blueprints, par exemple, ici dans le graphique, je peux dire « obtenir des informations sur le coût des objets Et voilà. Et nous pouvons l'utiliser comme bon nous semble. OK, faisons-le, compilons, sauvegardons, et passons à la leçon suivante. 82. 8.18 Obtenir une fonction de coût d'article: Maintenant, nous pouvons créer une nouvelle fonction appelée get item cost. Essayons de le faire à l'intérieur du lecteur, car cela aurait le plus de sens. Parce qu'ici, vous avez le nombre de pièces et nous travaillons avec des pièces à l'intérieur d'ici. Je vais en fait créer une nouvelle fonction. Je vais appeler celui-ci Get item cost. Essayons de voir ce que nous devons faire ici. Encore une fois, je vais le remplacer par un pur parce que nous obtenons juste quelques informations sur le coût d'achat de l'article. Nous venons de créer cette table de données et cette bibliothèque de fonctions en disant « get item cost » et nous pouvons utiliser celle-ci. Nous avons besoin des informations sur le nombre d' articles que nous avons achetés jusqu'à présent. N'oubliez pas que nous avons déjà cette carte. Nous pouvons donc facilement le faire en disant « trouver ». Tout comme avant de trouver l'article correspondant, nous avons en fait besoin du nom de l'article. Nous avons besoin d'une variable à l'intérieur d'ici. Maintenant, au lieu de n' avoir que le nom de l'article, il suffit de cliquer ici. Parce que je saurai plus tard que si nous cassons ce prix, nous devrons également sélectionner le prix de l'article. Si je fais juste un retour, afin que vous puissiez réellement voir ce qui se passe, je crée un nœud de retour ici. Nous devons rembourser le coût de l'article, car c'est tout l' objectif de cette fonction. Nous devons connaître le coût de l'article. Maintenant, nous en avons besoin en fonction de ce qui suit : créons un nœud de sélection ici. Cela dépend de l'article dont nous parlons et nous pouvons les brancher. Mais le problème, c'est qu'on ne peut pas brancher une ficelle à l'intérieur d'ici. Parce que si je crée une chaîne, maintenant je fais une chaîne et j'essaie de la brancher, ce n'est pas compatible. Je pense que nous devons en fait ajouter l'énumération que nous avons créée à notre structure d'article ou à la structure des informations sur l'article Comme je l'ai déjà dit, nous en avons peut-être besoin dans les informations sur l'article et je pense que c'est le cas. Faisons-le réellement maintenant. C'est très simple car nous avons déjà tout ce dont nous avons besoin. Si je me souviens bien, dans l'énumération, vous avez déjà cette énumération d' éléments Passons aux structures, ouvrons les informations sur l'objet. Et la raison pour laquelle nous devons l'ajouter ici est ici. Je peux juste dire article ici, informations sur l'article. Et je peux simplement ajouter l'élément comme ceci, car maintenant nous avons le nom de l'article et nous avons également l'énumération Ajoutons l'énumération à cette structure. Allons ici. Ajoutez une nouvelle variable appelée item. Remplaçons cela par la structure d'article que j'ai créée précédemment. Compilez ou sauvegardez, laissez-moi simplement le déplacer vers le haut sous le nom. Sauvegardez tout à nouveau. Il ne vous reste plus qu' à revenir à la table de données. Vous devez ouvrir les informations sur l'article. Maintenant, évidemment, vous devez ajouter ici une nouvelle colonne à droite et appeler cela un seul élément. Copiez-collez tout cela ici, et vous avez terminé. Allez-y, téléchargez le fichier CSV et renommez celui-ci Maintenant, j'ai déjà celui-ci, donc je vais le supprimer. Je vais le renommer en informations sur l'article, puis je vais revenir au moteur qui se trouve à l'intérieur d'ici Passons aux tables de données, et faisons glisser celle-ci ici. Nous avons maintenant toutes les informations dont nous avons besoin. OK, sauvegardons tout ça. Revenons maintenant au joueur. Et ce que nous pouvons faire, c'est résoudre ce problème. Nous pouvons maintenant ajouter le nom M. Nous l'avons, permettez-moi de tout déplacer ici. Nous pouvons maintenant ajouter le nom de l'article. C'est fait. Maintenant, on peut le brancher ici. C'est donc le nombre d'articles que nous avons achetés. Il va donc automatiquement trouver le prix du prochain article. Parce qu'à l'intérieur de cette fonction, souvenez-vous que nous en avons ajouté une. Il passe donc automatiquement à l'article suivant pour voir combien cela coûte. Alors maintenant, nous avons ceci. Nous allons sélectionner le prix de l'article en fonction de l'article dont nous parlons. Maintenant que nous avons cette énumération, suffit de cliquer et de la faire glisser ici et de l'ajouter Maintenant, nous savons déjà de quel élément nous parlons car nous l'avons défini dans notre tableau de données. Dans le tableau de données, nous savons de quel élément nous parlons. Il va sélectionner automatiquement la bonne valeur en fonction de l'énumération Allez-y et connectez tous ces éléments ensemble. Et il sélectionnera automatiquement une valeur en fonction de la valeur de celle-ci ici. Très bien, nous en avons terminé avec cette fonction. Maintenant, avant de terminer, passons en revue et améliorons quelque chose d'un peu plus. Si je reviens au mode jeu. N'oubliez pas que nous avons fait tout cela dans les limites des points d'apparition définis En fait, nous avons déjà utilisé l'énumération des éléments, mais dans les points d'apparition pour les obtenir, nous avons utilisé cette chaîne d'activation Nous pouvons même l'améliorer un peu maintenant que nous avons le dénombrement Permettez-moi simplement de le supprimer et de dire de le remplacer par des éléments. Allez-y et sélectionnez-le, c'est le nom de l'article, c'est bon. Nous pouvons dire switch on, nous avons activé l'énumération au lieu de switch on string C'est beaucoup plus facile car cela vous donne automatiquement toutes les valeurs que vous avez écrites dans l'énumération Encore une fois, allez-y et ajoutez-le. Vous pouvez maintenant voir pendant le développement du jeu que vous pourriez avoir besoin de certaines choses à l'avenir. Par exemple, je ne voulais pas ajouter cette énumération auparavant, mais maintenant, il est beaucoup plus logique de l' avoir dans le jeu Il est toujours agréable de revenir aux mécanismes que vous avez et d'ajouter des éléments qui sont meilleurs si vous en avez besoin au cours du développement. Maintenant que nous avons des objets, un point. N'oubliez pas que nous devons également aller voir le joueur. Donc, si j'ouvre le graphique du joueur , car maintenant vous avez une époque. Parce que n'oubliez pas que c'est le problème précédent que nous avions auparavant. Nous ne pouvons pas ajouter de chaîne à une énumération, mais nous avons maintenant l'énumération à l'intérieur de la structure On peut juste le glisser ici. Laissez cette épingle et allez-y et compilez. Allez-y et rendez-le plus structuré comme ça. Maintenant, il suffit de cliquer sur le plateau pour tester le jeu et voir si tout fonctionne comme je peux le constater, tout fonctionne parfaitement comme avant. OK, maintenant c'est beaucoup mieux. Nous avons créé notre nouvelle fonction d'obtention du coût de l'article, et nous pouvons l'utiliser pour échanger le coût de l'article. Passons à la suivante. 83. 8.19 Augmentation du coût d'article: Très bien, bon retour. Nous sommes donc maintenant prêts à mettre à jour le coût de l'article. Le coût de l'article est affiché dans l'interface utilisateur. Ouvrons la fiche des articles de la boutique ici pour connaître le prix. Passons au graphique. Jusqu'à présent, nous fixons simplement le prix de manière à ce qu'il soit statique dans la structure de l' événement dans laquelle nous fixons le prix. Faisons-le à nouveau dans le cadre d'un événement personnalisé, comme nous l'avons fait pour le nombre d'articles. Permettez-moi de cliquer ici avec le bouton droit pour créer un nouvel événement personnalisé. Appelons cela une mise à jour du coût de l'article. Maintenant, le coût de l'article, l'objectif ici est simplement de définir le texte. Je vais donc simplement prendre le texte de fixation du prix de l'article, comme avant. C'est finalement ce que nous devons faire maintenant pour le texte de l'article. Encore une fois, cela dépend de quel article nous parlons. Permettez-moi de cliquer ici avec le bouton droit de la souris. Cet article a coûté car nous avons maintenant créé cette bibliothèque de fonctions. Nous pouvons le prendre et le décomposer. Mais maintenant, vous pouvez voir que le problème est que nous ne savons pas lequel utiliser. N'oubliez pas qu'au lieu d'utiliser celui-ci, nous en avons simplement créé un à l'intérieur du lecteur. Utilisons plutôt celui-ci. Si je prends le pion du joueur et que je prends ici et que je dis « obtenir le coût de l'objet », le joueur nous donne cette fonction Il ne nous reste plus qu' à brancher l'élément, car nous avons fait tout cela dans la leçon précédente où nous le sélectionnons, en fonction de l'élément que nous lui donnons. Revenons à l'article Cod. Permettez-moi de supprimer celui-ci ici. Les informations sur l'article, nous les avons déjà, donc je vais juste les brancher. Maintenant. Nous avons le coût de l'article. Vous pouvez maintenant voir à quel point il est très facile d'obtenir le prix de l'article comme celui-ci. Cela semble également beaucoup plus propre lorsque vous transformez des éléments en fonctions. Permettez-moi de réorganiser tout cela ici. Nous avons maintenant le coût de l'article. Maintenant, au lieu de le définir comme une valeur statique ici, je vais simplement le supprimer. Cliquez sur celui-ci et masquez les épingles non connectées ici. Ce que nous pouvons dire, c'est mettre à jour le coût de l'article. Et en gros, appelez simplement la fonction que nous sommes, l'événement que nous avons créé ici. Alors mettez-le également à jour. OK, donc ça marche maintenant. Le problème est que nous devons également mettre à jour, tout comme le prix, pour tous les autres articles ou pour les autres endroits où nous avons utilisé le coût de l'ancien article. Parce que si je souligne simplement cela, si je clique avec le bouton droit sur les informations de cet article, souvenez-vous que nous avons le coût de cet article ou le coût des pièces à l'intérieur d'ici. Et nous n'en avons plus vraiment besoin parce que c'est grâce à celui-ci que nous l'obtenons. Ce que nous pouvons faire, c'est cliquer dessus avec le bouton droit de la souris, trouver des références. Et je vais cliquer sur la petite icône en bas, car je dois trouver les références dans tous les plans. En cliquant sur le premier, ce que je fais en ce moment, c'est juste jeter un œil et voir où j'utilise ce coût de pièces car je dois le remplacer par celui-ci. Encore une fois, prenons le joueur, disons obtenir le coût de l'objet. Branchez l'article qui est celui-ci. Branchez-le ici. Au lieu d'utiliser ce coût d'article, nous pouvons utiliser celui-ci à la place. Supprimons ceci. Vous devez le remplacer car il s' agit du coût correct de l'article que vous utilisez actuellement. Revenons à nos références et cliquons sur la suivante. Ne montre rien car il s'agit simplement du nom de l'article. Cliquez sur le suivant. Encore une fois, il s'agit du coût de l'article. En fait, voyons si nous pouvons le copier. Permettez-moi de le copier pour ne pas avoir à le réécrire sur l'article. Nous avons déjà cette information ici. Branchez-le, connectez-le, supprimez-le. Mettons-le ici, compilons. Ouvrons les références. Encore une fois, cliquez sur le suivant, rien ici. Cliquez sur le suivant. Maintenant que nous sommes à l'intérieur du joueur, nous pouvons simplement nous en occuper à partir d'ici. Obtenez-le. Coût. Et l'article est là. Et pour ce qui est du coût, on peut simplement le rebrancher ici. Nous n'utilisons pas celui-ci. Cliquez dessus. Masquez les épingles non connectées comme ceci. Compiler. Revenez aux références. Cliquez sur le suivant, Rien ici. Cliquez à nouveau sur le suivant. Et ici, nous n'utilisons pas non plus le coût de l'article. Nous pouvons maintenant cliquer sur Plate pour voir ce qui se passe. Maintenant, si je clique sur Par, vous pouvez voir que le coût de l'article n'est pas mis à jour. C'est parce que, bien sûr, nous devons appeler cet événement « coût de l'article ». Cela a du sens chaque fois que nous achetons un article. Si je vais voir le joueur et que je passe à cet article d'achat, appelons-le ici. Disons-le chaque fois que nous avons ajouté des à cette carte et que nous avons mis à jour le montant des articles que nous avons achetés avant de mettre à jour la couleur du bouton d'achat ou la couleur du texte. Ajoutons-le ici. Si je fais simplement glisser le pointeur d'ici et que je dis « mettre à jour le coût de l'article », connectons-le comme ceci. Cela devrait très bien fonctionner. N'oubliez pas que cette épingle provient de l'article de la boutique car nous en avions une référence. Et permettez-moi de cliquer sur celui-ci. Masquez les épingles non connectées, compilez, cliquez sur jouer. Maintenant, quand j'achète, vous pouvez voir que le prix de l'article augmente. Il augmente en fonction de ce que j'ai écrit dans le tableau de données. Maintenant, juste pour m'en assurer, laissez-moi ouvrir le tableau de données et voir si j'ai fait les choses correctement. Maintenant, l'article numéro 15 devrait coûter 128$. L'article numéro 15 coûte 128€ et c'est exact. Maintenant, vous pouvez le voir, et cela devrait fonctionner pour chacun d'entre eux. Ce dernier article, le numéro 11, devrait donc coûter 929€ L'article numéro 11 est celui-ci, le dernier coûtant 929€, donc c'est correct Nous savons maintenant que c'est correct et que le calcul est également correct. Comme vous pouvez maintenant voir si vous cliquez sur le dernier, il devrait soustraire 929. Et si on appuie ici, c'est également le cas, tout fonctionne très bien. Sauvegardons tout, et passons à la suivante. 84. 8.20 Designing du widget de info-bulle d'élément: Ce que je veux faire ensuite, c'est lorsque nous cliquons sur Jouer et que nous passons la souris sur ces cartes Je voudrais en avoir un peu, une infobulle qui vous indique nombre de DPS que vous allez obtenir ou dégâts par seconde lorsque vous achèterez cet article Allons-y et créons une infobulle. Faisons un clic droit ici dans l'interface utilisateur et créons un nouveau widget, Blueprint Appelons cela une infobulle WB. Une infobulle, comme celle-ci. Et ouvrons-le maintenant. Encore une fois, nous devons ajouter un canevas comme d'habitude, avant de commencer à concevoir. Alors je pense que je vais juste y aller. Je vais copier celui-ci, cette superposition et cette image Je vais contrôler C et contrôler V à l'intérieur d'ici. Je vais cliquer ici sur l'écran de remplissage. Et encore une fois, sélectionnez plutôt ce que vous souhaitez à l'écran. Pour le capteur de point d'ancrage, il est aligné à 0,5 pour le x et le y. Cliquez ensuite sur Dimensionner pour accéder au contenu également. Et les positions x et Y doivent être nulles. Y zéro, maintenant c'est au milieu. D'accord, commençons maintenant à le concevoir. Je vais juste supprimer cette image ainsi que cette boîte horizontale. Je vais juste faire glisser le texte ici. Supprimez le cadre horizontal. Maintenant, pour celui-ci, je vais réduire la taille de ce texte. Je pense que c'est peut-être trop grand. Essayons plutôt le 18. Pour le décalage des ombres. Laissez-moi plutôt en écrire deux ici. OK, maintenant pour cette image, au lieu d' avoir une certaine taille, je vais juste écrire 32, qui est la valeur par défaut. Et nous pouvons simplement le dimensionner en fonction du contenu de celui-ci. Commençons par le texte. Pour le texte, nous devons dire, par exemple, chaque torche donne cinq DPS C'est ce que je voulais dire. Maintenant, au lieu de simplement l' avoir sous forme de texte, je veux ajouter une zone verticale car j'ai besoin d'un autre texte en dessous. Ajoutons une boîte verticale. Ajoutez le texte dans celui-ci. Et allez-y et contrôlez D pour le dupliquer ici. Je tiens à dire qu'apparemment, si vous faites zéro DPS ici, par exemple, cela vous indiquera la quantité de DPS cet objet vous donne Et le DPS, d'ailleurs, si vous ne le savez pas, correspond aux dégâts par seconde. Alors, combien de dégâts par seconde cet objet va-t-il infliger lorsque vous l'achèterez ? Combien faites-vous actuellement ? C'est quand, par exemple, 15 d'entre eux, ça devrait dire 15 fois cinq. Et il vous indiquera la quantité de DPS que vous utilisez pour la couleur de celui-ci Je vais juste copier cette couleur que nous avons ici. Collez-le dans celui-ci. Et collez-le également sur celui-ci. Maintenant, je pense que je vais également lui donner un peu d'espace. Par exemple, ici, nous pouvons mettre un espaceur entre les deux textes Donnons-lui un espace de dix et le Y. Et donnons également un peu d'espacement à la boîte verticale Écrivons 30 et le rembourrage, nous avons donc maintenant un peu d'espacement pour le Je souhaite également changer la couleur du texte, car je pense que c'est mieux si nous changeons le nombre de personnes qui aiment la couleur du texte ici, car cela devient plus facile à lire Maintenant, nous ne pouvons pas vraiment le faire avec un seul texte , sinon cela changera la couleur de l'ensemble du texte. Au lieu de cela, nous devons dupliquer celui-ci en cliquant sur contrôle D. Ajoutons-le dans une case horizontale, car nous avons besoin qu'il soit côte à côte. En ajoutant ces deux éléments à la case horizontale, je vais supprimer les cinq DPS de celui-ci, de l'autre Je vais supprimer tous les autres textes sauf les cinq DPS comme celui-ci N'oubliez pas d'ajouter un espace ici. Je clique donc sur cet espace publicitaire. Voilà à quoi ça ressemble maintenant. Maintenant, vous pouvez voir que l'espace est un peu trop grand. En fait, je vais supprimer l'espace, et je vais plutôt ajouter un espaceur, car nous pouvons maintenant contrôler l'espace entre les caractères Et je vais en écrire quatre dans le X. Je pense que c'est beaucoup mieux. Faisons la même chose ici. Je vais juste dupliquer celui-ci. En fait, supprimez celui d'en bas. Tirez-le vers le bas sous l'entretoise comme ceci. Ensuite, nous pouvons écrire, par exemple, zéro DPS ici, ici en bas. Nous pouvons écrire actuellement en ne faisant aucun DPS. Par exemple, je veux m' assurer que cette boîte horizontale est alignée au milieu ainsi que cette autre boîte horizontale également alignée au milieu. Maintenant, changeons la couleur des cinq DPS ou du texte du DPS ici. Je vais le remplacer par quelque chose de violet comme celui-ci. Vous pouvez essayer de trouver la couleur que vous aimez, peut-être quelque chose comme ça. Quant à la saturation, je ne veux pas qu'elle soit trop saturée sinon c'est un peu trop difficile à lire. Je vais le régler sur quelque chose comme 0,42 C' est pour le volume, un, c'est bien Cliquez sur OK, il s'agit d'un autre texte. Vous pouvez maintenant lui donner un peu plus de saturation. Par exemple, 0,445 Vous pouvez également le copier dans l' autre Maintenant, je veux aussi changer la couleur de l'ombre située en dessous car elle ne convient plus. Je vais juste le copier ici en me basant sur ces deux. Changez-le pour qu'il soit très sombre comme celui-ci. Peut-être 0,4, quelque chose comme 0,4 le coca. Ensuite, copiez-le au-delà de la couleur de l'ombre et jetez-y un coup d'œil, et je pense que c'est beaucoup mieux. Maintenant, permettez-moi simplement de changer celui-ci en 0,4 à la place. Dans la saturation, je vais juste copier cette couleur ici. Et je vais également copier la couleur du contour ici. Maintenant, vous pouvez voir que c'est d'une couleur différente et que c'est beaucoup plus facile à lire. Je pense que nous avons fini de concevoir celui-ci. Passons à la suivante. 85. 8.21 Mise à jour des informations de la info-bulle: Passons maintenant à la mise à jour de l'interface utilisateur Tooltip ici. Passons au graphique et mettons réellement à jour les informations. Je vais tout supprimer. Et faisons un nouveau clic droit et créons un nouvel événement personnalisé appelé update tooltip UI Maintenant, pour celui-ci, ce que nous voulons essentiellement faire, c'est en modifier le texte. Le premier, voir ici, indique le nom de l'article. Nous avons besoin d'une valeur dynamique ici, nous avons besoin du nom de chaque élément. Cliquez sur celui-ci, je vais juste l'appeler Gives PS. Ce texte ici. Comme je vais juste l'appeler, c'est combien de DPS cet article va vous donner ? Comment va fonctionner cet article avec le DPS ? Ou tout ce que tu vas faire ici. Je vais juste dire que ça donne du PS. Celui-ci, je vais juste l'appeler de la même manière, donne le montant du DPS C'est le montant ici bas. Je vais juste l' appeler faire du PS. Celui-ci est le montant du PS. OK, compilons et disons, revenons maintenant au graphique. Commençons par le P, le premier texte. Nous voulons simplement définir le texte comme d'habitude comme ceci. Maintenant, souvenez-vous de ce que j'ai dit tout à l'heure. J'ai déjà dit que si vous avez un texte dynamique comme celui-ci, vous devez utiliser un format de texte. Écrivons à partir d'ici et disons formater le texte. Écrivons simplement la même phrase. Il dit à chacun de donner. Ce que nous devons écrire ici, c'est chacun. Ensuite, nous devons ouvrir le crochet, car le flambeau est une valeur dynamique Nous allons simplement dire le nom de l'élément et le fermer avec les crochets. Vous pouvez voir une entrée apparaître pour fermer avec les crochets Vous pouvez voir une entrée apparaître chacun d'eux et le nom de l'élément est donné comme suit Et maintenant que nous pouvons saisir le nom de l'article, nous avons réellement besoin des informations sur l' article. ce faire, il suffit d'ajouter une épingle ici, la transformer en structure d'information sur l'article, de l'appeler élément. Maintenant, nous pouvons le prendre, casser, et nous pouvons prendre le nom de l'article et le brancher ici. Et il va être mis à jour correctement. OK, c'est fini. Regardons que la prochaine chose est cette quantité de DPS. Prenons, donnons le montant du PS et définissons à nouveau le texte. Encore une fois, nous avons essentiellement besoin d'un format de texte comme avant. Alors vas-y et prends ça. Maintenant, au lieu de dire cela, nous pouvons dire le montant de l'EPS et nous pouvons dire le DPS, le numéro ici, puis le texte DPS Nous devons maintenant indiquer le montant du DPS. Maintenant, nous n'en avons plus. Nous devons en fait l'ajouter et l'ajouter à l'article, car chaque article que nous achetons doit avoir sa propre quantité de DPS Passons aux structures du plan et ouvrons les informations sur la TM Ajoutons une nouvelle variable appelée DPS, ou dégâts par seconde. Cela dépend de vous. Transformez-le en flottant, enregistrez, sauvegardez tout. Maintenant, n'oubliez pas que vous devez également l'ajouter au tableau de données via Google Sheets. Mais pour l'instant, je vais juste ouvrir les informations M. Tu peux juste écrire ce que tu veux ici. Je vais juste écrire 10.20 et 30 ou peut-être 50. Je vais juste l'écrire pour les trois premiers, juste pour le tester. J'en ai vraiment besoin maintenant. Nous avions juste besoin de la valeur ici dans les informations sur l'article. Maintenant que vous avez ce DPS, allez-y, branchez-le ici Et cela devrait très bien fonctionner. Maintenant, pour le reste, passons au DPS. Maintenant. C'est le texte en bas. Il va dire en cours d'exécution. Maintenant, vous pouvez voir ici que nous n'avons aucune valeur dynamique et que nous n'avons pas vraiment besoin de modifier ce texte. En fait, nous n'avons pas besoin de manipuler ce texte. Il suffit de changer celui-ci. Revenons en arrière et prenons celui appelé cadeaux, PS amount. Définissez plutôt du texte. Nous devons le fixer au montant. Je vais juste copier celui-ci. Et celui-ci affichera le montant total de DPS que vous pouvez faire pour cet article Je vais juste écrire ici montant total de DPS, puis juste le DPS ensuite Je ne l'ai pas connecté. Désormais, le montant total du DPS dépend du nombre d' articles que vous avez achetés Et n'oubliez pas que nous l'avons déjà dans le lecteur. Nous avons besoin d'une référence au joueur. C'est ce que nous allons faire. Voilà, le personnage du joueur, d'ailleurs, essayez de le faire vous-même si vous le pouvez. Parce que je pense que tu peux le faire. Nous avons déjà la variable, la variable de carte à l'intérieur du lecteur que vous devez utiliser, disons que c'est la référence au joueur depuis l'interface du plan Allez-y, connectez-vous. Maintenant, il s'appelait Item Spot. Allez-y, procurez-vous cette carte ici. À partir de cette carte, nous devons trouver l'objet avec lequel nous travaillons. Je vais faire glisser le pointeur ici et dire « trouver ». Et nous devons trouver l'objet. Et lorsque nous trouverons l'article, il nous dira combien de cet article nous avons achetés. Faisons simplement glisser celui-ci jusqu'ici. Nous avons maintenant le nombre d'articles que nous avons achetés. Pour calculer le DPS total, vous devez multiplier le nombre d'articles que vous avez achetés par le nombre de DPS ou le DPS de chaque article Prenons celui-ci et multipliez-le par la quantité de PS produite par chaque objet. Ensuite, nous avons le nombre total de DPS auxquels nous pouvons nous connecter ici Allez-y, branchez-le également ici. Maintenant que nous avons terminé, alors allez-y et cliquez dessus pour masquer les épingles non connectées Allez-y et double-cliquez dessus pour prendre des notes de refonte et organiser votre code. Bien, maintenant que c'est organisé et que c'est terminé, compilez, sauvegardez tout. Et maintenant, nous avons terminé de mettre à jour le Dual Tip I. 86. 8.22 Affichage du widget de info-bulle: Il est maintenant temps d'afficher ce widget d' infobulle que nous avons créé. Pour ce faire, nous devons faire à l'intérieur de l'article de la boutique, Cod. Parce que n'oubliez pas que lorsque nous cliquons sur jouer, nous voulons que cette infobulle apparaisse. Chaque fois que nous survolons ces cartes, en fait à l'intérieur de l'article de la boutique. C'est ce que nous faisons. Allons-y. Je souhaite afficher ce widget. Chaque fois que je survole quelque chose au-dessus de cette carte, je clique simplement sur cette superposition et je le fais Cela signifie que partout où nous survolons cette carte, elle apparaîtra Cliquez sur cette superposition. Je vais aller ici dans le Comportement et cliquer sur Avancé. En bas, vous voyez celui-ci appelé Tool Tip Widgets. Allez-y, cliquez sur Lier et créez une reliure. Alors allez-y et développez cela. Nous devons maintenant récupérer le widget que nous avons créé, le widget shop Tooltip Nous n'y avons pas créé de référence, car nous créons généralement des références à l'interface utilisateur à l'intérieur de la commande de jeu. Cependant, pour ce widget nous n'avons vraiment rien créé. Je ne veux pas le créer ici comme nous l'avons fait. Parce que ce n'est pas quelque chose que vous pouvez ouvrir et fermer. C'est juste quelque chose qui apparaît chaque fois que vous passez la souris sur des cartes Au lieu de le faire ici. Ce que je vais faire, c'est que j'ai l' habitude de créer mes événements dans mes jeux sous le nom de couche d'initialisation Dans cet événement, j'ajoute tout ce dont j'ai besoin et qui devrait se produire chaque fois que j'ouvre le jeu. Par exemple, ce widget d'infobulle doit être créé, disons créer des widgets. Et allez-y et sélectionnez le widget Tooltip, celui-ci Shop tooltip Et allez-y, promouvez-la en une variable appelée shop tooltip Par exemple, outil de boutique, OK. Maintenant que c'est créé, n'oubliez pas de l'ajouter ici. Je vais le faire avant créer les cartes. Maintenant, ça n'a plus vraiment d'importance. Mais juste pour rester propre ici. Lecteur initialisé. Maintenant, nous allons appeler cet événement ici, le mettre en relation, peu importe ce dont j'ai besoin pour qu'il se passe. Lorsque j'ouvrirai le jeu, je l'ajouterai à l'événement initial réservé aux joueurs. Nous avons maintenant une référence à ce widget Tooltip. Donc, ce que nous pouvons faire maintenant à l'intérieur de la carte, nous pouvons obtenir la manette du joueur, la manette du joueur. Ensuite, nous pouvons directement à partir d'ici et dire « obtenir référence du contrôleur du joueur à partir du plan du widget Maintenant, nous pouvons prendre celui-ci et dire infobulle, et nous pouvons obtenir ce widget que nous venons de créer. Maintenant, pour ce widget, ce que nous devons appeler, c'est que si je retourne dans la boutique de widgets, avec une infobulle à l'intérieur , souvenez-vous que nous avons créé l'interface utilisateur de l' infobulle de mise à jour Appelons cela une astuce de mise à jour que j'ai connectée. Maintenant, il a besoin d'un élément parce que nous l'utilisons pour mettre à jour pratiquement toutes les informations dont nous disposons. Cela parce que nous sommes dans l'article de la boutique Cod, et que nous avons créé ces informations sur l'article précédemment, que nous avons également utilisées ici pour mettre à jour les informations sur les articles. Prenons celui-ci et branchons-le ici. Et puis connecte-le. N'oubliez pas non plus de connecter cet outil de widget à Putt au nœud final ici Encore une fois, vous pouvez double-cliquer ici. Ils se sont organisés comme ça. OK, ça devrait fonctionner. Si nous compilons et que nous sauvegardons tout. Et si je clique sur Play, vous pouvez maintenant le voir s' afficher avec le nom correct pour l'objet. Vous pouvez voir qu'il indique chaque série d'objets ou chaque période, et que le protecteur protège les casques de chaque roi, la couronne de chaque roi, etc. Il affiche désormais également l' infobulle avec les informations correctes. Maintenant, il y a un problème. Maintenant, si je clique à nouveau sur Play et que j'achète quelque chose, vous pouvez voir qu'il est écrit zéro DPS et que rien ne s'affiche vraiment Maintenant, pour celui-ci, essayons de le fermer et vérifions le tableau de données si nous avons écrit les choses correctement. Si j'ouvre les informations sur l'article, le premier DPS, la plume légère devrait être 1020, Et si je clique sur jouer, et que je vérifie que le premier devrait être 1 020,50€ et je vois que rien ne s'affiche Mais vous pouvez voir ici que chaque fois que j'achète quelque chose, il s'affiche correctement. Si je déplace ma souris et que je la survole à nouveau, le message indique 20 DPS Voyons où cela ne va pas. Si j'ouvre le widget des outils de la boutique, les informations qu' il contient me donnent, premier s'appelait Give DPS Celui-ci donne le montant du DPS. C'est exact. Jetons un coup d'œil au montant du DPS donné, façon dont il est défini Vérifions également l' autre partie du code, et voici où cela ne va pas. Parce que j'utilise le montant DPS donné, au lieu de faire le montant DPS, ce n'est pas la bonne chose Ici, permettez-moi de supprimer celui-ci et de le compiler. Cliquez sur Play et si je le survole, il s' affiche maintenant correctement. C'est parce que j'ai mal écrit le texte ici. Le texte en EPS est le bon et indique également que le DPS est correct OK, maintenant si j'achète quelque chose, vous pouvez voir qu'il affiche toujours zéro par rapport à ce qui est en cours. Mais si je m'en éloigne pour y revenir, vous pouvez voir qu'il s' affiche correctement. Si je m'éloigne, passe dessus, il s'affiche correctement. Dans les 30 DPS actuels, nous devons également mettre à jour le DPS en cours comme un autre endroit, car il ne se met pas à jour instantanément Ce que nous pouvons faire, c'est que je peux appeler cette mise à jour ToolPI chaque fois que j'achète un article Si je les ferme tous, je reviens aux plans Ouvrez le lecteur ici. Nous avons fait cet article d'achat unique. Ce que nous pouvons faire ici avec l'article acheté, c'est que je peux simplement le mettre à jour ici. À la fin, nous avons besoin de la manette du joueur. Je vais prendre la manette du joueur et le widget d' infobulles que nous avons créé. Exécutons ensuite l' interface utilisateur de l'infobulle de mise à jour chaque fois que nous achetons un article Et quel est cet article ? C'est celui-ci que nous avons saisi ici. Reprenons-le et rebranchons-le. Il suffit de l'organiser comme ça. Et laissez-nous compiler et cliquez sur Play pour voir ce qui se passe. Maintenant, si j'achète, vous pouvez voir qu'il met à jour instantanément le montant des dégâts par seconde et qu'il se met à jour correctement en fonction du GPS que nous créons. Pour terminer, ouvrez votre Google Drive à l'intérieur d'ici, nous trouverons les informations sur le niveau, les informations sur l'objet ici, les informations sur l'objet et après le coût des pièces. Ajoutons le DPS. Pour le TPS, je vais juste écrire pour le premier élément, il va faire cinq DPS, puis disons égal Je vais juste multiplier les nombres aléatoires par 1,5. Je vais juste aller jusqu'au bout. Je vais juste supprimer toutes les décimales parce que je n'en ai pas besoin. Et nous pouvons le faire quelque chose comme ça. Vous pouvez même dire multiplié par 1,8. Nous faisons en fait plus de dégâts comme ça. Passons maintenant au téléchargement de ce fichier CSV, et n'oubliez pas de renommer celui-ci, renommant T item info. Allez-y, ouvrez le projet. Accédez aux tableaux de données, puis continuez, puis importez les informations sur l' article ici. Vérifions les informations sur l'article pour nous assurer que le TPS est présent. Et ça l'est. Maintenant, vous pouvez voir chaque article affiche la bonne quantité de DPS. Et si vous achetez quelque chose, il affichera correctement le DPS en cours De toute évidence, nous ne faisons pas vraiment DPS en ce moment, car nous n'avons pas de dégâts automatiques Mais au moins, notre système fonctionne maintenant, ce qui nous permet de poursuivre le cours. 87. 9.01 Appliquer automatiquement des dommages: Il est maintenant temps d' infliger automatiquement des dégâts à l'ennemi. Et c'est généralement ce que l'on fait dans les jeux Clicker lorsque vous l'achetez Et il fait des dégâts par seconde. Il devrait le faire automatiquement au lieu que vous continuiez à cliquer sur l'ennemi. Allons-y et faisons-le. Faisons-le dans le lecteur. Revenons en arrière et passons au lecteur. Maintenant, nous avons déjà réparé les dégâts à l'intérieur. À l'intérieur du joueur, ou plutôt à l'intérieur de l' ennemi, nous avons infligé quelques dégâts ici. Maintenant, infligeons des dégâts à l'intérieur du joueur. C'est maintenant le joueur qui inflige des dégâts. Laissez-nous cliquer avec le bouton droit de la souris et créer un nouvel événement personnalisé. Appelons celui-ci Auto Damage. Ça va faire des dégâts automatiquement pour celui-ci. Maintenant, pour infliger les dégâts automatiquement, il nous faut quelque chose qui tourne en boucle Nous avons besoin d'un code en boucle qui continue de fonctionner ne s'arrête jamais et qui fait des dégâts Vous avez ce qu'on appelle une minuterie. Nous avons ce qu'on appelle un événement. Réglez le chronomètre par événement. Vous avez également quelque chose appelé set time by function name. Maintenant, ils sont similaires. Ces deux fonctions sont similaires. Habituellement, nous les utilisons lorsque nous avons besoin de quelque chose en boucle. Nous utilisons le nœud de retard chaque fois que nous devons retarder un code, puis faire quelque chose par la suite. N'oubliez pas que pour le nœud de retard, nous l'utilisons à l'intérieur de la base ennemie. Si je vais à l'intérieur d'ici, nous l'utilisons pour retarder ce code parce que nous avons attendu la fin du retournement. Nous avons retardé le code de la longueur du flip book, puis nous avons vérifié si le joueur ou l'ennemi était mort ou non. Ici, nous utilisons le délai. Si vous avez besoin de quelque chose en boucle, le code doit être en boucle Il vaut mieux utiliser une minuterie. Nous avons une minuterie par nom de fonction et une minuterie par événement. Maintenant, peu importe lequel vous utilisez, car ils sont presque identiques. En fait, j'utilise les deux, donc je n'ai pas vraiment de préférence. Je peux vous montrer comment les utiliser pour le T. Utilisons d'abord le chronomètre par événement. Permettez-moi de le mettre ici, de retarder celui-ci. Connectons celui-ci pour la première fois par événement. Tu dois indiquer le chronomètre. À quelle vitesse souhaitez-vous effectuer une boucle ? Par exemple, je veux faire une boucle toutes les 0,1 seconde. Cela signifie que le code sera exécuté toutes les 0,1 seconde. Le code ici va s' exécuter dix fois par seconde. Je vais le mettre en boucle. Nous avons maintenant besoin d'un événement. Je vais le faire glisser ici, directement lors d'un événement personnalisé. Appelons cela une boucle d'endommagement automatique. Quel que soit le code que vous écrivez, il est sorti d'ici maintenant et va tourner en boucle. Par exemple, si je fais glisser le pointeur d'ici et que j'écris une chaîne d'impression qui doit dire bonjour et que je compile. Maintenant, ces dégâts automatiques, vous devez évidemment courir quelque part et je vais juste m'en occuper au début. Jouez ici. Et écrivons « faire des dégâts ». Nous organisons maintenant cet événement ici. Et il va exécuter ce chronomètre qui boucle le code. Compilez et cliquez sur Play. Il exécute réellement ce code et il est toujours en cours d'exécution. Comme vous pouvez le voir ici, il fonctionne ou dit bonjour dix fois par seconde. Si j'écris 0,04 par exemple, cliquez sur Play, vous pouvez voir que c'est beaucoup plus rapide Maintenant, si vous n'êtes pas doué en mathématiques, vous pouvez toujours le calculer en disant, par exemple, 1/0 0,04 Cela signifie que le code s'exécute 25 fois par seconde Maintenant, cochez, vous connaissez peut-être celui-ci selon lequel je vous dis toujours de ne pas utiliser d'événement. Celui-ci, très mauvais court en fait à, si vous avez raison, 1/0 0,02, c'est en fait 50 fois que ce tick d' événement court 60 Celui-ci n'est même pas suffisant. Il fonctionne peut-être 0,18 ou même moins. Comme vous pouvez le constater, le tic-tac des événements est super, super rapide. En fait, il fonctionne comme ça. Le com play, c'est l'événement. Vous pouvez voir que le chronomètre est beaucoup plus optimisé. Vous pouvez exécuter le code pas aussi vite, mais vous pouvez toujours obtenir les mêmes résultats si je l'exécute à 0,05. Cela signifie que j' exécute le code 20 fois par 0,05. Cela signifie que j' seconde Cela est parfois nécessaire car si vous exécutez le code trop lentement, aurez l'impression que la barre de santé est à la traîne car elle réduit ainsi la santé C'est le cas si vous faites tourner le chronomètre trop lentement. Et nous pouvons réellement le constater chaque fois que nous faisons tout cela. Maintenant, réglez le chronomètre par nom de fonction. La différence entre les deux est que cela va mettre en boucle une fonction, une fonction que nous créons ici. En fait, je vais utiliser celui-ci parce que je veux surtout utiliser celui-ci parce qu'il garde le code propre. Je n'ai pas besoin d'écrire ou de spammer mon graphique d'événements avec des événements aléatoires. En fait, je peux simplement créer une fonction et elle sera cachée, et cette fonction est beaucoup plus propre Appelons cela des dommages automatiques. Créons également cette fonction ici. Cela fait une boucle quel que soit le nom que vous avez écrit ici. Cette fonction va boucler. Maintenant, n'oubliez pas que vous devez l'écrire exactement comme vous l' avez écrit ici. Pour que cela fonctionne, je vais augmenter de 0,05 ou plutôt augmenter de 0,14. Maintenant, essayons. Permettez-moi de le supprimer. Permettez-moi de le supprimer également. Laissez-moi le connecter, écrivons ceci, promouvoir en variable, afin que nous puissions arrêter le chronomètre si nous en avons besoin. Je vais simplement l'appeler poignée de dégâts automatique, parce que si vous maintenez la souris dessus, cela indique qu'il s' agit d'une poignée de chronomètre ou d'une poignée de dégâts. Nous pouvons l'utiliser pour arrêter le code ou arrêter le chronomètre. Maintenant, en gros, ces dégâts, je veux les jouer ici pendant l' événement ou commencer à jouer pour le joueur. Chaque fois que nous commençons le jeu, nous commençons à faire les dégâts Orodamage Évidemment, nous ne faisons aucun dommage si nous n'avons pas encore acheté d'articles. Passons à la fonction Or damage ici. Comme avant, je veux infliger des dégâts et maintenant l' acteur endommagé est l'ennemi. Et n'oubliez pas que nous avons une référence à l'ennemi à l'intérieur de la manette de jeu. Je prends la manette du joueur et je recherche l'ennemi qui apparaît parce que nous en avons fait une variable, puis je le connecte Maintenant, en ce qui concerne les dégâts de base, nous allons les étudier dans la prochaine leçon. Pour l'instant, je vais juste en écrire cinq et cela devrait très bien fonctionner. Maintenant, Flic joue. Vous pouvez maintenant voir que l'ennemi est automatiquement endommagé. Et ça a l'air sympa. Mais nous devons évidemment corriger certaines animations ici. Maintenant, je veux vous montrer que c'est lent, si vous le dites cette fois. Ou bien le jeu est trop lent, il semble lent, il semble de mauvaise qualité Cependant, si vous le réglez sur quelque chose comme 0,04, ce que je veux en fait régler sur 0,04, cela semble beaucoup vous le réglez bas, plus il aura l' air propre, comme ça. Vous pouvez voir ici que cela se passe beaucoup plus facilement. Cependant, n'oubliez pas que plus vous le réglez bas, plus vous allez boucler ce chronomètre, plus vous utiliserez de ressources dans votre jeu, et moins il sera optimisé. Je tiens à vous dire que quatre fois, essayez de le placer le plus haut possible sans pour autant sacrifier l'apparence du Si je pense que Leggy est 0,05, je le mettrai à 0,04 et je serai satisfait Encore une fois, vous pouvez aller ici et dire ce qui est 1/0 0,04 Cela signifie que mon code s' exécute 25 fois. C'est une bonne chose. C'est très bien. Bien mieux que le tic-tac de l'événement, qui se produit 60 fois par seconde. OK, maintenant nous en avons terminé avec tout cela et passons à la leçon suivante. 88. 9.02 Détermination du DPS total: Pour appliquer le bon montant de dégâts, nous devons calculer les dégâts subis par seconde par le joueur. Comme le joueur peut acheter tous ces objets, nous devons les assembler et les appliquer automatiquement à l'ennemi. Nous allons le faire en créant une nouvelle fonction. Et celui-ci s' appellera Update Total EPS. abord, nous avons besoin de tous les objets que le joueur a achetés. Prenons cette carte. Pour ce faire, nous avons deux fonctions. Nous avons deux nœuds. Nous pouvons en utiliser une appelée clés. Ce que sont les clés, c'est la première colonne ici, la chaîne, c'est ce qu'on appelle les clés. Si je dis des valeurs, vous pouvez obtenir les valeurs de ces clés. Nous avons les clés ici qui sont les chaînes, puis nous avons les valeurs. Maintenant, nous avons besoin de tous les objets que le joueur a achetés, nous devons donc utiliser les clés. Je vais prendre ces clés ici. Nous avons maintenant tous les éléments dans un tableau. Je vais tous les parcourir en boucle. Pour chaque boucle, pour chacun de ces éléments, nous voulons connaître la quantité de DPS qu'ils produisent. Pour le DPS, n'oubliez pas que nous avons les informations Get Item, que nous avons créées à partir de la bibliothèque de fonctions Allons-y et trouvons-le pour le nom de l'article. Branchons-le ici. Maintenant, nous pouvons briser cette structure. Et maintenant, nous avons le montant du DPS. Encore une fois, le montant du DPS dépend également du nombre d'articles que nous avons achetés à partir de cet article sélectionné que nous avons actuellement Nous devons également utiliser les valeurs. Je vais le copier ici et indiquer valeurs, car nous devons savoir combien nous avons réellement acheté avec ces articles. Pour les valeurs, je vais diriger à partir d'ici et dire get parce que nous sommes déjà boucle ici, donc je n'ai pas besoin de faire une boucle Donc je vais juste vous dire d'en obtenir une copie. Quel indice souhaitez-vous obtenir ? Je vais simplement suivre les ou les indices de celui-ci, afin que nous obtenions le bon nombre d'articles pour l'article correspondant Maintenant, ce que nous pouvons faire avec cela, nous pouvons dire que c'est le nombre d'objets multiplié par le DPS Par exemple, si nous avons cinq exemplaires de l'article, il sera indiqué cinq fois. Par exemple, dix DPS équivalent à dix. Ensuite, nous avons besoin d'une nouvelle variable pour stocker le DPS total. Je vais créer une nouvelle variable appelée DPS total. Je ne le transforme pas en char. Maintenant, ce que nous pouvons faire, c'est l' ancien montant de DPS, le DPS que nous avons actuellement et que nous avons calculé, nous pouvons le régler sur le nouveau DPS Si nous ne le faisons pas, si je déplace simplement tout cela, si nous le faisons ici et que nous le connectons, cela signifie qu'à chaque fois qu'il calcule, il va en fait attribuer ce numéro à cet EPS Et nous ne voulons pas cela parce que nous parcourons tous les éléments en boucle et que nous empilons tous les chiffres Et continuez à multiplier, à multiplier et à ajouter à cette variable Au lieu de le définir sur une valeur statique, nous devons ajouter l'ancien montant du DPS total à celui-ci Et nous obtenons le nouveau montant ici, et nous pouvons essentiellement définir le DPS total ici Nous avons maintenant le DPS total. Et peut-être que nous pouvons obtenir un chiffre ou pas vraiment un dollar, mais afficher un dollar là où il continue calculé et peut-être que le chiffre s' affiche mal à un moment donné. Ce que je veux faire, c'est qu'au lieu d'utiliser le DPS total, je vais créer une nouvelle variable, une variable locale appelée DPS total local Il s'agit d'une variable locale qui n' existe que dans cette fonction dans laquelle nous nous trouvons actuellement. Je vais en fait utiliser la variable locale ici pour définir la quantité de DPS. Rappelez-vous maintenant que les variables locales ne peuvent pas sortir des fonctions. La prochaine fois que vous essaierez de calculer le DPS, celui-ci sera nul Ces variables locales seront supprimées chaque fois que vous essaierez d'exécuter cette fonction. C'est pourquoi vous ne pouvez pas l'utiliser en dehors de cette fonction. En gros, lorsque nous avons terminé la boucle et que nous avons défini cette quantité totale de DPS, nous pouvons prendre cette quantité locale de DPS et définir le DPS total ici Vous pouvez le faire de cette façon, ou vous pouvez simplement le faire directement ici. Cela n'a pas vraiment d' importance, mais je peux imaginer qu'il y aura une vitrine dans le futur. Si tout ne va pas bien, vous pouvez simplement brancher le DPS total ici au lieu du DPS local Je vais juste le faire de cette façon. Et maintenant, nous avons le DPS total défini et nous pouvons tout enregistrer Nous pouvons cliquer ici, masquer les épingles non connectées si vous le souhaitez, et encore une fois, tout réorganiser Maintenant que nous avons le nombre correct de TPS que nous sommes en train de faire, passons à la leçon suivante et terminons les lésions buccales 89. 9.03 Appliquer la quantité correcte de dommages: Maintenant que nous avons calculé le montant correct des dégâts ou le DPS total, revenons à la fonction de dégâts automatiques et infligeons le bon montant de dégâts Maintenant, au lieu d'écrire ici ou de simplement faire glisser le DPS total et de l'appliquer ici, c' est faux, car vous cliquez sur jouer maintenant et vous achetez Et vous pouvez voir ici que cela ne fait pas de dégâts pour le moment, car nous devons vraiment exécuter cette mise à jour, le DPS total Faisons-le à l'intérieur du joueur lorsque nous achetons un objet, car nous devons mettre à jour le DPS. Pour le DPS, je vais le faire après ou avant de faire apparaître l'objet. Et faisons-le glisser dessus. Faisons glisser le DPS total des mises à jour pour nous assurer qu'il est mis à jour chaque fois que nous achetons quelque chose Et si je clique sur Jouer maintenant et que j'achète quelque chose, vous pouvez voir qu'il fait des dégâts par seconde. Ce que je veux faire maintenant, c'est que vous pouvez le voir ici, même si les dégâts sont infligés par seconde, donc pour le premier, je devrais être de cinq si j'en achète un seul. Mais comme vous pouvez le constater, il n'inflige pas cinq dégâts par seconde. Chaque seconde en fait beaucoup plus. La raison en est que nous utilisons notre chronomètre. Si je reviens au graphique des événements, nous faisons tourner notre chronomètre à 0,04. Nous ne l'exécutons pas une fois par seconde Donc, comme vous pouvez le voir ici, cinq à la plume claire. Maintenant, nous allons infliger cinq dégâts par seconde, ce qui est correct, mais nous le faisons à 0,04. Nous devons en fait faire une division pour obtenir le bon nombre par seconde Faisons-le à l'intérieur des dégâts automobiles ici. Ce que nous devons faire, c'est dire que nous avons fait exactement comme ce que nous avons fait avant lorsque nous l'avons dit ici, souvenez-vous de 1/0 0,04 et cela nous donne 25 En gros, ce code s'exécute 25 fois par seconde. Nous devons diviser le DPS total par 25 pour obtenir le bon nombre. C'est ce que nous allons faire. Disons 1/0 0,04 Ici, je vais prendre, il je vais prendre suffit de cliquer avec le bouton droit de la souris ici, de diviser et de choisir celui-ci Nous allons dire 1/0 0,04 En gros, 0,04, nous avons cela dans Faisons en sorte que cela devienne une variable. Promouvons-le en une variable appelée Auto Damage Time Time. Maintenant, nous pouvons utiliser celui-ci à l'intérieur de la voiture endommagée et le brancher ici. Et divisez par 11 divisé par le temps de temporisation automatique des dégâts, qui est de 0,04, ce qui nous donne 25 Comme nous l'avons vu ici, cela nous donne 25. Ce que nous devons faire, c'est le DPS total divisé par 25, ce qui nous donne le bon montant de dégâts par seconde Maintenant, il va infliger correctement cinq dégâts par seconde. Si je compile maintenant et que je clique sur Play, et maintenant que je clique sur Par pour la plume légère, elle infligera correctement cinq dégâts par seconde Dis 75 quand c'est fini. Et en fait, il était écrit 75 ici. Parce que nous faisons une boucle de 5 secondes et que cinq fois cinq font 25. C'est exact. Mais je peux voir que le nombre ici s' affiche avec des décimales, et je n'aime pas vraiment ça Réparons-le. Fermons-le. Revenons à l'interface utilisateur. Ouvrons la barre de santé. Et ici, à l'intérieur du graphique de la barre de santé, il suffit de brancher le flotteur. C'est pourquoi il s'agit de jouer ici avec des décimales lorsque vous touchez l'ennemi Au lieu de le faire, vous pouvez faire glisser le pointeur à partir d'ici. Si vous ne connaissez pas les fonctions, vous pouvez simplement écrire des flottants. Vous pouvez essayer de les parcourir tous. Mais en gros, ce que je veux utiliser, c'est soit le sol, soit le joint. En gros, ce que sont le sol et le joint, vous pouvez passer la souris dessus et vous pouvez voir ce qu'ils disent. Il est dit qu'il est arrondi vers le bas, vous pouvez le voir. -1,6 devient -2,1 0,6 devient un. Soit ça, soit tu peux utiliser un joint. Je pense que je vais utiliser Seal. Par conséquent, celui-ci 1.6 devient essentiellement deux au lieu d'un. Je vais utiliser Seal, et vous pouvez voir qu'il le transforme en entier. Et n'oubliez pas qu'un entier n'a pas de décimales. Je vais tenir Alt dans mes bras. Cliquez ici pour le déconnecter , puis connectez celui-ci à la place. Nous avons donc maintenant un entier. Et si je clique sur Jouer et que j'achète la plume légère, vous pouvez maintenant voir qu'elle inflige cinq dégâts par seconde Il n'affiche pas les décimales, tout fonctionne correctement. Mais comme vous pouvez le voir ici, avec tous les effets, je ne veux pas que cet effet se produise. Passons à la leçon suivante et corrigeons tout cela. 90. 9.04 Fixation de l'effet de frappe: Très bien, maintenant nous en avons fini avec les dégâts automobiles. Cependant, vous pouvez voir ici que nous avons cet effet. Je ne veux pas que cet effet soit présent. Nous devons donc supprimer quelque chose du code. Comme vous pouvez le constater, le fait de ne pas diffuser l'animation de la mort est également une erreur. Allons-y et réglons tout cela. Ouvrons l'ennemi car les dégâts se situent à l'intérieur d'ici. Maintenant, c'est l'effet de coup qui se produit, car chaque fois que nous infligons des dégâts à l'ennemi, l'effet de coup se produit. Allons-y, déconnectons tout cela et voyons ce qui se passe. Je clique sur jouer et j' achète des dégâts. Ici, vous pouvez voir que cela fonctionne correctement. Cependant, pour une raison ou une autre, l'animation de la mort ne fonctionne pas. Je crois que c'est parce que nous tournons le code plusieurs fois en boucle et qu'il continue Maintenant, si je copie simplement cet événement mortel et que j'essaie de le connecter ici, cela n'a plus vraiment de sens, car nous allons tuer l'ennemi instantanément à chaque fois que nous cliquons. Et comme vous pouvez le constater ici, ce n'est pas la bonne approche. Ce que nous pouvons faire ici, c'est demander si l'ennemi est mort. Essayons ici. L'ennemi est-il mort ? Parce que nous ne voulons pas vraiment qu'il subisse l'effet hit. Si je le connecte et que j'essaie de cliquer sur Play, et que j'achète quelques tomes, maintenant tout semble correct Et si l'ennemi meurt, vous pouvez voir qu'il meurt correctement. OK, donc tout fonctionne. Nous avons désactivé l'effet hit et tout fonctionne. Maintenant, si je clique sur moi-même, vous pouvez voir que je n' ai aucun effet de frappe. Je dois donc également corriger cela pour l'effet hit. Maintenant, quand je clique dessus, donc c'est le clic de la souris, nous pouvons ajouter l' effet hit ici à la place. Et si je clique sur jouer, maintenant je tape avec la souris Vous pouvez voir le joueur, l'ennemi frappe, mais vous pouvez aussi voir que l' animation est réservée. Vous pouvez voir ici quand je clique, parfois l'ennemi reste immobile. Et j'ai essayé de le faire à nouveau. Mais je pense que c'est le second réservé parce que si je clique trop vite, vous pouvez voir celui-ci. L'animation sur la mort contenait un livre. C'est parce qu'ici, dans is dead, cette animation de mort est jouée aussi bien pour le clicker automatique que pour vous Lorsque vous cliquez, l'animation de la mort est essentiellement jouée deux fois. Et cela va réserver l' animation parce que vous continuez à spammer ce chronomètre ici et qu'il ne fonctionne jamais correctement. Ce que nous pouvons faire, cette solution très simple, c'est infliger des dégâts. Comme nous avons ce que l' on appelle un type de dommage, nous pouvons essentiellement spécifier si c' est le dommage automatique qui cause des dégâts, ou est-ce le clic ou la souris qui cause les dégâts ? Pour ce faire, très simplement, passons aux plans Et ici, laissez-moi simplement écrire Click Go to blueprint class, nous pouvons rechercher le type de dommage Si vous recherchez simplement un dommage, vous pouvez le voir ici, type de dommage. Allez-y et sélectionnez-le, appelez-le « dommage automatique ». Maintenant, nous n'allons pas vraiment faire de dégâts à l'intérieur d'ici. Nous avons essentiellement besoin de cette classe de plan directeur. Vous pouvez penser que cela fonctionne avec des énumérations où nous avons une liste utilisant essentiellement cette classe et un type d' énumération Revenons en arrière et passons au joueur. Comme vous pouvez le voir ici dans le joueur, lorsque nous infligions les dégâts, vous pouviez définir une classe de dégâts. Maintenant, nous pouvons lui attribuer les dégâts automatiques que nous venons de créer et de compiler. Ce que je veux faire ici, c'est jouer à ce jeu quand c'est le cas, aux dégâts automatiques qui infligent les dégâts. Maintenant, ce que nous pouvons faire à l'intérieur d'ici pour les dégâts ou pour l'ennemi, c'est que nous pouvons prendre ce type de dégâts et nous pouvons simplement rechercher un nom et obtenir l'affichage. Maintenant, vous pouvez imprimer une chaîne et voir ce qu'elle fait si je la déconnecte, range et vous pouvez écrire une chaîne d'impression. Allez-y, connectez-le. Et connectez également celui-ci. Il suffit de voir ce que cela apporte à l'écran. Si je clique sur jouer et que j'achète quelque chose pour infliger des dégâts automatiques, vous pouvez voir qu'il affiche essentiellement le nom du plan et qu'il est écrit Auto Damage C'est ainsi que nous l' avons appelé. Je peux utiliser cela à mon avantage en le prenant et en recherchant des contenus. Je vais juste voir si cette chaîne contient quelque chose que je recherche. Et si je recherche simplement les dommages causés aux automobiles parce que cela fait partie du nom du plan Si le nom du type de dommage que j' ai infligé contient des dommages automobiles, je peux créer une branche ici. Je peux aussi sortir et connecter cela ou, en gros, ce que vous pouvez faire. Vous pouvez également dire que si vous ne voulez pas les deux succursales ici, vous pouvez prendre ceci et dire lingot Vous pouvez essentiellement le prendre ici place et connecter celui-ci. Vous pouvez supprimer les autres lingots. Si le nom contient des dégâts et que l'ennemi est mort, vous pouvez jouer à celui-ci. Allons-y, compilons et sauvegardons. Maintenant, vous pouvez voir si je clique sur jouer et que j' achète quelque chose ici, Damage. Vous pouvez voir que tout fonctionne correctement. Rien ne s'enlise. De plus, si je clique sur jouer et que j'essaie de tuer l'ennemi, tout fonctionne parfaitement comme avant. Et si j'achète ou inflige des dégâts en cliquant sur l'ennemi, nous faisons tous les deux quelque chose. Vous pouvez voir qu'il ne joue qu'une seule fois. Et il n'y a pas d'argent dans le code non plus. Nous savons maintenant que le code fonctionne parfaitement. Allez-y, réorganisez tout cela, et passons à la leçon suivante 91. 10.01 Designing de l'affichage de niveau: Ce que nous devons faire maintenant, c'est comme dans Clicker Heroes, où vous pouvez voir le niveau que vous avez atteint ici Nous devons également faire de même pour ce clicker. Revenons à l'interface utilisateur et ajoutons-la ici dans le u principal, sur le côté intérieur des widgets principaux. Je vais juste copier cette partie ici. Je vais juste cliquer sur cette superposition et copier et , en gros, le tout ici, contrôler C. Puis cliquer sur le panneau de commande V. Il suffit de le coller ici Maintenant, pour celui-ci, nous allons le mettre de côté. Je vais cliquer sur le point d'ancrage et le placer à droite pour le décalage. Je vais juste écrire zéro dans le X. Le le plus bas est zéro également. Maintenant, vous pouvez voir qu'il est hors de l'écran, il est en fait sur le côté ici. Ce que nous devons faire, c'est essentiellement l'alignement du x, nous devons le pousser vers l'intérieur Il suffit d'en écrire un ici dans l'alignement, maintenant il est à l'écran. Ce que nous devons faire maintenant, c'est pour la position x, il suffit de l'éloigner à nouveau du bord de l'écran, comme avant, vous pouvez cliquer sur celle-ci. Si vous ne vous souvenez pas de ce que vous avez fait, vous l'avez repoussée de 30 pixels. Faisons la même chose ici pour rester cohérents. En cliquant sur la superposition, je vais appuyer sur 30 dans le décalage x , en fait, -30 sinon ça ira dans l'autre sens Et 30 % de décalage par rapport au sommet. Et encore 30 depuis le bas également. J'ai aussi besoin d'un texte ici où il est dit niveau. Copions simplement ce texte ici, contrôlez C, puis contrôlez V. En bas sur la superposition Je vais le mettre au-dessus de la boîte de défilement. En fait, nous devons ajouter une boîte verticale, sinon elle sera au milieu. Cherchons une boîte verticale. Allez-y, ajoutez-le. Ajoutez ensuite le texte et la zone de défilement dans la zone verticale. En cliquant sur la case verticale, allez-y, allez-y remplissez-la ici horizontalement et verticalement. Et aussi la case de défilement que vous devez remplir pour cliquer sur Remplir ici. Maintenant, nous devons également lui donner un peu de rembourrage, car comme vous pouvez le voir, le texte se trouve également sur les bords Et pour ce qui est de la taille du devant, je pense que je vais réduire un peu plus le recto, donc peut-être écrire 24 ici à la place. Maintenant, ce que nous pouvons faire, c'est que nous pouvons essentiellement ici pour la boîte de défilement, je vais écrire zéro dans le rembourrage, parce que maintenant je vais ajouter du rembourrage à l'ensemble En cliquant sur cette case verticale, je vais lui donner un rembourrage de, commençons par 50 et voyons à quoi cela ressemble OK, ça a l'air bien. Et je dois aussi augmenter légèrement la superposition, peut-être pour voir à quoi cela ressemble à droite et à gauche Je ne pense pas qu'il soit nécessaire de l'ajouter autant à droite et à gauche. Je vais plutôt écrire 35. Comme ça, je clique sur ces lignes pour les supprimer. Pour voir à quoi ça ressemble. Je dois évidemment ajouter un espaceur entre le texte et la boîte de défilement ici. Ajoutez un espaceur d'environ 15 et le y. Maintenant, cet écran est prêt ici Écrivons simplement le niveau à la place. Allez-y, compilez et agrandissez-le légèrement. Nous devons également fixer la taille en fonction de la taille de la carte de niveau. Pour l'instant, tout va bien. Mais passons maintenant à la leçon suivante et concevons la carte. 92. 10.02 Designing de la carte de niveau: Pour concevoir la carte de niveau, appliquons la même méthode que celle que nous avons utilisée ici avec la carte des articles de la boutique. Permettez-moi donc de cliquer ici avec le bouton droit de la souris, accéder à l'interface utilisateur et d'en créer une nouvelle. Appelons cela une carte à un niveau. Ouvrons-le à nouveau. Allez-y et ajoutez un panneau de toile avant de faire quoi que ce soit. Modifiez-le également comme vous le souhaitez à l'écran. Maintenant, nous sommes prêts. Ce que je veux faire, c'est qu'en gros, la carte sera un bouton car il y aura un tas de boutons ici pour changer de niveau. Selon le niveau auquel vous souhaitez passer, je vais simplement copier ce bouton que nous avons créé ici. En cliquant sur cette superposition, sur le bouton et sur le texte, puis sur le contrôle C. Retournez à la carte de niveau et contrôlez V ici Maintenant, pour la superposition, je clique sur Dimensionner le contenu ainsi que pour le texte En fait, avant de le faire ici pour la superposition, changeons le point d'ancrage pour qu' il soit au milieu 0,5 dans les alignements et 00 dans les x et y. Maintenant, il est parfaitement centré pour ce texte Je vais juste en écrire un pour le moment. Cela va donc afficher le niveau ainsi que la taille de ce bouton. Je pense que je vais le réduire légèrement, je n'ai pas besoin qu'il soit aussi large. En cliquant dessus, nous pouvons réduire la taille du x. Je pense que je vais écrire 100 ici. Assurez-vous simplement de copier cette taille d'image et de la coller également sur le survol et sur le pressoir . Pour cette couleur de texte. Je vais juste lui redonner cette couleur par défaut. Alors allez-y et copiez cette couleur. Retournez à la carte de niveau et collez-la également ici. Maintenant, en gros, celui-ci est prêt. Voyons à quoi cela ressemble si je reviens menu principal ou à l'interface utilisateur principale. Et je clique ici, et celle-ci s'appelle la liste des articles. Je vais en fait changer le nom de cette boîte verticale en une liste de niveaux. Compiler. Cherchons maintenant la carte de niveau ici et faisons-la glisser dans la liste des niveaux. Et allez-y, dupliquez-le plusieurs fois pour voir à quoi cela ressemble. Ce que je veux corriger légèrement ici , c'est la taille de cette superposition Si vous l'enfoncez jusqu'à ce qu'il disparaisse ici, essayez simplement de le faire comme ça, le plus petit possible, mais sans le boguer comme ça Également la barre de défilement. Je veux commencer ici, au bord de ce bouton. Donc, en cliquant ici, descendant la barre de défilement, trouvant la barre de défilement qui se dirige vers le haut. Je vais juste écrire quelque chose comme huit. C'est une bonne chose. Je pense que nous en avons également besoin pour la partie inférieure. Je n'en suis pas sûr pour le moment. Mais nous pouvons toujours le dupliquer plusieurs fois, y jeter un œil et cliquer sur le dernier. Et nous en avons également besoin. Pour le tapotement du bas Je vais également en écrire huit. En fait, il en faut moins. Écrivons au lieu de huit, écrivons quelque chose comme cinq à la place. Nous pouvons toujours revenir ici si nous avons besoin de changer plus de choses avec l'interface utilisateur. Mais pour l'instant, tout va bien, et si je clique sur jouer, j'espère que la souris passe dessus, tout fonctionne. Ce que je peux faire maintenant, c'est simplement continuer et tout supprimer pour que tout soit propre et que nous n'ayons que cette liste de niveaux. Compilez, sauvegardez tout et passons à autre chose. 93. 10.03 Réglage du niveau: Allons-y maintenant et changeons dynamiquement ce niveau pour ce bouton. Maintenant, cela va être très simple car cliquons sur ce texte et renommons-le simplement en compilation au niveau du texte Passons maintenant au graphique. Maintenant, nous allons le faire comme avant avec l'article de la boutique. Chaque fois que nous l'ajouterons à la liste, cela changera ces informations dans la construction de l'événement. Cela va essentiellement mettre à jour le coût de l'article et tout cela pour celui-ci. Encore une fois, prenons cette construction d'événement. La seule chose que nous devons faire est de définir le niveau dont nous avons besoin pour définir le nombre. Maintenant, en ce qui concerne le niveau, créons simplement une nouvelle variable ici, et utilisons un entier. Appelons cela un niveau. Nous allons lui donner cette information. Chaque fois que nous créons ce widget, vous pouvez toujours revenir à la manette du joueur si vous ne vous souvenez pas de ce que vous avez fait avec la boutique d'objets. Vous voyez ici, si vous descendez, ce que nous avons fait est essentiellement de créer cette variable d'informations sur les articles. Et nous avons cliqué sur Exposer on spawn et Instance Editable et nous avons pu y ajouter des informations Nous allons en fait faire la même chose ici pour l'instance de niveau modifiable, exposée au moment du spawn Nous pouvons simplement cliquer et faire glisser ceci ici comme ça et nous avons terminé ici maintenant. Nous pouvons donner certaines informations à chaque fois que nous lançons la carte, et nous allons le faire dans la prochaine leçon 94. 10.04 Débloquer le nouveau niveau: Très bien, maintenant allons-y et donnons quelques informations. Encore une fois, nous travaillons avec l'interface utilisateur, donc je vais la créer dans le contrôleur Player ci-dessous. Créons un nouvel événement personnalisé. Et appelons-le un niveau de déverrouillage. Nous pouvons utiliser celui-ci pour déverrouiller le niveau ou afficher cet affichage des niveaux ici. Chaque fois que le joueur bat un ennemi. Ce niveau débloqué crée essentiellement ce widget sur le côté. Nous pouvons donc voir le niveau. En gros, le bouton en ce moment, il a une époque il a une époque car je l'ai connecté sans aucune information. Si je clique sur Jouer, un bouton apparaît chaque fois que vous terminez un niveau. Et c'est ce que nous voulons faire. Il crée essentiellement le widget. Quel widget crée-t-il ? C'est la carte de niveau que nous devons créer. En ce qui concerne le niveau, nous pourrons lui dire plus tard quel niveau débloquer. Je vais donc simplement cliquer et faire glisser ceci ici. Je souhaite ajouter ce bouton à ma liste de niveaux. Si je reviens à l'interface utilisateur, ouvre l'interface utilisateur principale, nous appelons celle-ci une liste de niveau VB C'est ici que nous voulons ajouter la carte. Si je retourne à la manette de jeu, je peux voir ce que j'ai. J'ai ce WB principal, donc je peux l'ajouter à partir d'ici et rechercher la liste des niveaux. Allez-y et cliquez dessus. Maintenant, nous pouvons dire en ajouter deux, et vous pouvez choisir celui-ci. Ajoutez l'enfant à la case verticale. En gros, vous pouvez ajouter ce widget que vous venez de créer dans votre boîte verticale et continuer à le compiler. Nous commençons maintenant avec le niveau 1. Et le niveau 1 devrait être présent par défaut car ce niveau dans lequel nous nous trouvons en ce moment, débloquons simplement le niveau 1 par défaut ici dans le Player Controller. Chaque fois que nous commençons le jeu, j'écris le niveau de déverrouillage et nous pouvons simplement en écrire un ici. Nous débloquons le niveau 1 par défaut et nous cliquons sur jouer Vous pouvez maintenant voir que le niveau 1 est débloqué et qu'il s'affiche. Et nous devons débloquer tous les autres niveaux chaque fois que nous battons un ennemi. Allons-y et faisons-le dans le mode jeu, car dans le mode jeu, si nous revenons en arrière, cela fait longtemps que nous ne l'avons pas fait ici dans le mode jeu, mais ici, nous avons augmenté le niveau actuel Débloquons plutôt le niveau ici. Chaque fois que nous augmentons le niveau et que nous ne l'avons pas encore débloqué, nous pouvons continuer et le déverrouiller Disons que c'est à l'intérieur de la manette du joueur. Nous avons donc besoin de la manette du joueur ici. Et nous pouvons rechercher le niveau de déverrouillage. Et allez-y, emmenez-le ici. Ce que nous devons faire ici au lieu de simplement débloquer ce niveau actuel Comme nous jouons peut-être à un niveau inférieur, si nous voulons passer à un niveau supérieur, nous ne voulons pas le débloquer à nouveau. Imaginez si je joue ici et que je suis au niveau 5, mais que je choisis de cliquer à nouveau sur le niveau 1 et que je joue au niveau 1. Je ne veux pas débloquer à nouveau niveau 2 car je l'ai déjà débloqué Nous avons besoin d'une nouvelle variable ici pour enregistrer le niveau précédemment débloqué Créons une nouvelle variable et appelons-la niveau précédemment déverrouillé, transformons-la en un entier Ici, ce que nous pouvons dire, c'est : le niveau actuel est-il supérieur au niveau précédemment débloqué ? Par exemple, si nous sommes au niveau un et que le niveau précédemment débloqué est le niveau quatre, nous n'avons pas vraiment besoin de débloquer le niveau trois et ainsi de suite Encore une fois, comme nous sommes déjà au niveau quatre, notre niveau maximum, créons cette branche si le niveau actuel est supérieur au niveau précédemment débloqué Si nous avons atteint le niveau cinq et que nous débloquons le niveau quatre plus tôt, si c'est vrai, nous allons prendre ce niveau précédemment débloqué, nous allons le régler au niveau actuel, qui est désormais le niveau cinq au lieu de quatre Et nous pouvons simplement insérer ces informations ici. Maintenant, si je compile et que je clique sur jouer, nous pouvons vaincre cet ennemi. Vous pouvez voir que le niveau 2 est maintenant débloqué. Si je vainc également cet ennemi, le niveau trois est débloqué et ainsi de suite Alors maintenant, tout cela fonctionne correctement. Cependant, encore une fois, nous n'avons pas vraiment recouvert le bouton, nous ne pouvons donc pas revenir au niveau supérieur. Et nous allons travailler sur ceux-ci ensuite. 95. 10.05 Définition du niveau actuel: Ce que nous voulons faire pour le moment, c'est empêcher l'ennemi de réapparaître, en changeant automatiquement un niveau comme celui-ci Ce que nous voulons faire, c'est modifier manuellement les niveaux lorsque nous cliquons sur ces boutons. Allons-y et travaillons avec cela ensuite. Maintenant, je suis entré dans le mode jeu, et allons-y un peu plus bas. Je suis ici en dessous de l'événement actuel incrémentiel que nous avons créé précédemment Ce que je veux créer ici, c'est un nouvel événement personnalisé. Faisons cela, appelons celui-ci le niveau actuel défini. Nous allons utiliser cet événement personnalisé chaque fois que nous cliquons sur les boutons de niveau ici. Nous allons régler le niveau manuellement en réglant le niveau actuel. De toute évidence, nous avons besoin du niveau actuel ici et nous devons le définir. Et nous devons l'intégrer aux événements, car nous pouvons ensuite le configurer manuellement à d'autres endroits. Maintenant, nous définissons le niveau actuel ici pour le niveau actuel, je vais juste dire un niveau. Régler le niveau que nous choisissons au niveau actuel. Ensuite, nous, nous, nous changeons de niveau. Nous voulons nous assurer que l'ennemi qui se trouve dans le niveau actuel dans lequel nous nous trouvons est éliminé, sinon ils apparaîtront les uns sur les autres N'oubliez pas qu'il se trouve dans le contrôleur de plaques, je vais donc simplement copier le contrôleur de plaques ici. Obtenez la variable ennemie générée. Cliquez avec le bouton droit de la souris et dites «   convertir » en un fichier validé. Parce que maintenant nous pouvons dire si c'est valide, nous pouvons aller de l'avant et détruire l'Acta Ensuite, après avoir détruit l'Acta, nous voulons faire apparaître le nouvel ennemi En gros, je peux le copier ici. Je peux simplement le copier, le coller et le connecter comme ça. Maintenant, si l'ennemi n'est pas déjà valide, nous pouvons simplement faire apparaître le nouvel ennemi Parce que la seule raison pour laquelle nous avons ajouté cette partie est de nous assurer que l'ennemi actuel est détruit et l'ennemi actuel n'existe pas. Nous pouvons simplement aller de l'avant et faire apparaître le nouvel ennemi. Nous sommes maintenant en mesure de définir le niveau actuel en utilisant cette logique. Alors compilons et sauvegardons le tout. Revenons maintenant à l'interface utilisateur. Ici, dans l'interface utilisateur, si je clique sur la carte de niveau et que je clique sur ce bouton, descends sur le bouton et que je clique, clique, clique sur le plus ici pour créer un événement ici. Chaque fois que vous cliquez, le bouton est appelé par bouton et ce n'est pas vraiment correct. Je vais juste le renommer en tant que bouton. Je vais l'appeler level compile. Revenons au niveau des boutons. Chaque fois que nous cliquons dessus, nous voulons changer de niveau. Nous voulons appeler cet événement ici dans le mode jeu. Allons-y et faisons-le. Supposons que vous cliquiez ici avec le bouton droit de la souris et que vous utilisiez le mode de jeu. Ensuite, faisons glisser le pointeur à partir d'ici et disons obtenir la référence du mode de jeu, celle de l'interface Blueprint Partons d' ici et disons définir niveau actuel, car c' est ainsi que nous l'avons appelé. Maintenant, nous avons déjà ces informations de niveau parce que nous les avons insérées ici Branchons-le comme ça. Laissez-nous compiler. Et cliquons sur Comp et voyons ce qui se passe lorsque je tue un ennemi Je tue le suivant aussi. Tuez également le suivant. Voyons maintenant si je peux changer le niveau. Si j'appuie sur deux, je peux le changer, appuyer sur un. Et je peux voir que je peux vraiment passer niveau à l'autre et que tout fonctionne. Le chronomètre se réinitialise à chaque fois que je change de niveau, ce que nous voulons éviter Maintenant, vous avez un bogue ici, par exemple. Si vous tuez l' ennemi au niveau 1, vous pouvez le voir passer automatiquement au niveau 2. Je n'ai pas vraiment envie de faire ça. Nous voulons changer les niveaux manuellement. Allons-y et travaillons là-dessus ensuite. 96. 10.06 Prévention d'un engin automatique d'ennemi: Maintenant, pour empêcher les ennemis d' apparaître automatiquement ou de passer au niveau suivant, ouvrons le mode de jeu Encore une fois, nous devons ou réécrire celui-ci intitulé Increment Current Level, car souvenez-vous que nous l'utilisons pour tuer un ennemi chaque fois que nous nous rendons sur la base ennemie Dans le cadre des événements mortels, nous augmentons le niveau chaque fois que nous tuons l'ennemi Nous devons faire quelque chose à ce sujet maintenant au lieu d' augmenter le niveau actuel, car dans ce jeu, vous ne augmenterez jamais Au lieu de cela, je vais l'appeler niveau de déverrouillage. Nous débloquons le niveau puis nous passons manuellement au niveau suivant. Cela se fait dans les jeux à clicker, car en général, le niveau suivant est peut-être trop difficile et vous devez revenir à un niveau en arrière pour gagner plus d'argent et acheter des objets, puis vous pouvez passer au dernier niveau Vous avez débloqué, c'est pourquoi c'est fait. Celui-ci est également appelé niveau de déverrouillage. N'oubliez pas que c'est dans le contrôle du joueur que nous ajoutons le niveau. Changeons le nom de celui-ci pour ne pas le confondre. Au lieu de l'appeler niveau débloqué ici dans la manette du joueur, appelons-le un bouton de niveau, UI C'est ici que nous ajoutons le bouton à la liste. Appelons-le plutôt comme ça. Et revenons au mode de jeu pour ne pas nous embrouiller maintenant. C'est ce qu'on appelle ça. OK, ce niveau de déverrouillage. Nous voulons vraiment continuer à le gérer ici. Chaque fois que l'ennemi est mort, nous voulons débloquer le niveau. Mais vous ne voulez débloquer le niveau que lorsque vous êtes au dernier niveau. Chaque fois que je suis à ce niveau et que je joue, je veux débloquer le niveau suivant. Je ne veux pas débloquer le niveau si je joue au niveau 1 en ce moment, car j'ai déjà débloqué le niveau deux Pour éviter cela, passons en mode jeu et ici dans le niveau débloqué Avant de faire tout cela, nous pouvons atteindre le niveau actuel. On peut se demander si c'est égal au niveau débloqué ? Au lieu de celui-ci, nous avons appelé niveau précédemment débloqué Nous devons en fait modifier ce code. Permettez-moi de le renommer ici. Au lieu du niveau débloqué précédent, je vais simplement l'appeler Unlocked Level Assurez-vous que le niveau débloqué est un par défaut car vous avez déjà le niveau 1 Le niveau actuel est également un. Le niveau 1 est débloqué par défaut. Si le niveau actuel est égal au niveau débloqué, si c'est vrai, nous voulons continuer et débloquer le niveau suivant Parce que cela signifie que si le niveau actuel, qui est un en ce moment, est égal au niveau débloqué, qui en est un en ce moment, alors nous jouons en fait au niveau le plus récent Et nous voulons débloquer le niveau chaque fois que nous tuons cet ennemi. Allons-y et bloquons ça. Encore une fois, nous voulons augmenter le niveau actuel si cela est vrai. Maintenant, nous demandons si c'est inférieur ou égal au niveau maximum si c'est vrai. Maintenant, nous n'avons pas vraiment envie de faire apparaître l'ennemi car nous ne faisons que débloquer le niveau, nous ne changeons pas Au lieu de faire apparaître le nouvel ennemi, je vais le supprimer Supprimez-le également ici. Nous pouvons également supprimer celui-ci. Et celui-ci aussi. Nous pouvons simplement y aller et le brancher. Laisse-moi t' en parler pour que tu puisses voir le tout. Maintenant, ce que nous voulons dire, c'est que le niveau actuel est égal au niveau débloqué Cela vérifie simplement que nous sommes réellement au dernier niveau Nous l'avons déjà débloqué Si c'est vrai et que nous avons vaincu l'ennemi, allez-y et débloquez, ou prenez simplement ce niveau actuel et ajoutez-en un Lorsque vous aurez fait cela, ce niveau déverrouillé, supprimons-le simplement, car maintenant nous pouvons simplement le brancher ici, le verrouiller ou le déverrouiller Mais il va ajouter un bouton pour le dernier niveau du niveau actuel, parce que nous y avons ajouté un bouton. Au lieu d'être au niveau 1, maintenant c'est niveau deux et il va ajouter le bouton pour le niveau deux. En fait, cela suffit. Maintenant, nous ne faisons que débloquer le niveau avec cet événement Ensuite, nous réglons le niveau actuel ici pour faire apparaître l'ennemi ici avant de continuer Ce niveau actuel est en fait erroné, car nous voulons définir le niveau débloqué ici Parce que c'est le niveau débloqué que nous voulons ajouter, pas le niveau actuel Car encore une fois, nous ne voulons pas changer de niveau automatiquement. Je veux rester dans le niveau actuel lequel je me trouve actuellement, mais je veux juste augmenter le niveau débloqué Également ici, listez celui-ci et collons le niveau débloqué Au lieu de cela, nous allons ajouter un bouton pour le niveau débloqué qui est correct Maintenant, pour nous assurer que tout fonctionne ici, allons également à la base ennemie et vérifions-nous également que le code est correct. Nous en sommes maintenant à l'événement du décès, et ici, lors de l'événement du décès, nous voulons débloquer le niveau correct. Et n'oubliez pas que le niveau débloqué ne fonctionnera que si le niveau actuel est égal au niveau débloqué Nous nous assurons d'être au dernier niveau, le niveau débloqué, mais nous devons également nous assurer de vouloir définir le niveau actuel, car cela fait apparaître nos ennemis Revenons à la base et appelons le niveau actuel défini. Allons-y et connectons-le ici. Connecté ici également. Prenons le niveau actuel, et c'est la variable ici. Nous allons régler le niveau au niveau actuel. Allez-y et compilez maintenant, le niveau actuel changera chaque fois que vous appuierez sur le bouton. Si vous allez dans l'interface utilisateur, que vous allez dans le code du niveau et que vous appuyez sur ce bouton, valeur du niveau actuel sera modifiée. Cela va changer le niveau actuel défini. Allons-y et essayons ça. Cliquons sur Play. Je vais tuer un ennemi. Maintenant, nous pouvons voir qu'il ne s'agit pas de changer d'ennemi automatiquement, car en gros si je reviens au code, nous tuons l' ennemi puis nous le faisons apparaître pour le niveau actuel N'oubliez pas que nous avons créé cette fonction, nous prenons simplement le niveau actuel que nous n'incrémentons pas Nous n'augmentons le niveau débloqué si nous sommes au Donc, si je reviens en arrière et que je continue à jouer, je peux passer au suivant. Maintenant, je peux tuer cet ennemi et débloquer le niveau suivant. Je peux revenir au niveau un, deux ou trois. Je peux donc en revenir à l'un d'eux, par exemple, tuer cet ennemi. Et je peux continuer à recevoir de l'argent de cet ennemi jusqu'à ce que je me sente assez fort pour acheter des trucs ici. Ensuite, je peux passer au niveau suivant et je peux voir que vous pouvez changer d' ennemi comme bon vous semble. Et il n' ajoutera un bouton que si vous battez le dernier ennemi. Très bien, nous en avons donc terminé ici. C'est ainsi que vous empêchez le frai automatique. Assurez-vous simplement de regarder si vous avez une petite erreur, assurez-vous que le niveau actuel est égal au niveau débloqué Et c'est aussi le niveau débloqué que vous ajoutez ici, ajoutez, compilez, sauvegardez tout, et laissez-nous passer au suivant 97. 10.07 Ajout d'icônes de crâne à des patrons: Nous allons rendre le jeu un peu plus intéressant. Je veux ajouter une icône en forme de crâne aux bus. Rappelez-vous qu'à l'intérieur du tableau de données, nous avons sélectionné que certains des ennemis étaient des bus. Celui-ci, le Magicien, par exemple, et le chevalier Rogan. Ce que je veux faire, c'est ajouter une icône en forme de crâne à l'affichage des niveaux. Passons à l'interface utilisateur, ouvrons la carte des niveaux, en fait dans le concepteur. Commençons ici. Ajoutons une image. Faisons glisser cette image vers le bas jusqu'à la superposition de cette image Changeons-le en une icône en forme de crâne. N'oubliez pas que nous pouvons réellement utiliser celui des objets actifs. Voici des sprites. Je vais juste utiliser la texture ou le crâne. Si vous recherchez simplement un crâne et que vous devriez pouvoir le trouver ici, je vais simplement utiliser la texture au lieu du sprite Allez-y, modifiez la taille. Essayons 50 par 50 ainsi que pour sa position. Je vais aller ici pour la transformer et modifier la traduction correspondante. Par exemple, pour le x, nous pouvons dire moins six, et cela ira dans cette direction, puis moins six, et cela augmentera dans cette direction. Zoom, je trouve que ça a l'air bien. On peut toujours le changer , mais ça a l'air sympa. Maintenant, cette icône ici, par défaut, je veux la masquer parce que je ne veux pas qu'elle apparaisse ici pour chaque bouton. Ce que je veux faire, c'est ici, dans la visibilité, définissons-la sur compilation cachée maintenant dans le graphique, ajoutons-le uniquement aux ennemis qui sont des bus. N'oubliez pas qu'à l'intérieur d' ici nous pouvons toujours dire « obtenir des informations sur l'ennemi ». Il nous faut d'abord le nom de l'ennemi. Avons-nous le nom de l'ennemi ? En fait, si vous vous souvenez dans la bibliothèque, si je retourne dans les bibliothèques et que je l'affiche, si vous dites obtenir des informations de niveau, souvenez-vous de la structure d'informations de niveau d'obtention. Si j'ouvre la structure d'information des niveaux, vous avez le nom de l'ennemi qui y apparaît Vous pouvez réellement l'utiliser à votre avantage. Vous pouvez donc dire « obtenir des informations sur les niveaux ». Nous avons déjà le niveau ici. On peut le prendre et le décomposer. Lorsque nous le séparons, nous avons le nom de l'ennemi , que nous pouvons saisir ici. Cliquez ici, Masquer les épingles non connectées. Ensuite, vous pouvez faire glisser le pointeur à partir d'ici. Et décomposez-le également. À partir de là, vous avez maintenant le type d'ennemi. Faisons glisser le pointeur à partir d'ici. Disons que c'est égal ? Et nous n'allons pas sélectionner celui-ci. Nous allons sélectionner celui-ci car il s'agit d'une énumération Celui-ci équivaut à un boss. Encore une fois, cliquez sur celui-ci. Masquez les épingles non connectées que nous pouvons faire glisser d'ici maintenant, et créez une branche S'il est vrai qu'il s'agit d'un boss, nous voulons simplement afficher cette image. Prenons cette image. Maintenant, nous n'en avons pas fait une variable. Modifions-le en image. Le crâne est variable. Nous pouvons maintenant passer au graphique. Nous pouvons le retirer et dire définir la visibilité. Et définissez sa visibilité. Nous pouvons le configurer pour qu'il soit mémorisé, pas qu'il soit testable. Cela ne bloque pas le bouton car le visible bloquera les clics de souris. Nous ne pouvons donc pas cliquer sur le bouton. Touchez « testable » mieux. Ça devrait être ça. Si je compile et que je clique sur play, maintenant vous pouvez voir qu'il n'y a rien ici. Si j'achète quelque chose ici pour tuer l'ennemi beaucoup plus rapidement, nous pouvons passer aux niveaux, voir que tout fonctionne parfaitement. Si je passe au niveau quatre, et qu'il devrait apparaître ici au niveau cinq, vous pouvez voir qu'il y a une icône et qu'elle fonctionne parfaitement. Je vais juste agrandir légèrement l'interface utilisateur pour qu' elle ne se renverse pas. Je minimise simplement cela. Je reviens à l'interface utilisateur principale ici, permettez-moi simplement d'ajouter un niveau. Si j'ajoute simplement un chat de niveau, je peux voir ce que je fais comme ça. Nous pouvons maintenant cliquer sur la superposition et l'agrandir légèrement pour qu'elle ne coupe pas notre icône en forme de crâne Compilez et jouez. Et c'est parti. Tout devrait bien fonctionner. Allez-y et supprimez celui-ci, sinon il va boguer. En plus. Avant de terminer, ajoutons également une icône en forme de crâne à côté du nom du boss. Dans le nom du boss, il se trouve ici dans les informations sur l'ennemi. Donc, en gros, nous devons en ajouter un ici. Tout comme avant, je vais chercher une image, nous avons en fait besoin d'une boîte horizontale car nous n'avons rien ici. Je vais d'abord chercher une boîte horizontale. Ajoutez-le ici. Recherchez l'image. Ajoutez-le également pour l'image. Comme tout à l'heure, je vais le remplacer par le score, l'une des raisons est de conduire 60 par 60. Encore une fois, je crois que c'était 60 x 60, ou peut-être 50. Si je reviens ici, c'était 50. Faisons en sorte que ce soit 50 x 54. Permettez-moi maintenant d'ajouter ce texte dans le cadre horizontal. Ces deux éléments se trouvent à l'intérieur d'ici. En cliquant sur la case horizontale, je vais placer l' ancre au milieu, 0,5 dans les alignements pour m' assurer qu'elle est au milieu De plus, la position est zéro par zéro, elle est donc parfaitement au milieu. La taille par rapport au contenu est vraie. Modifiez essentiellement la taille de la boîte horizontale en fonction de son contenu. OK, alors maintenant nous l'avons ici. Passons maintenant à l'icône. Je vais juste ajouter un peu de rembourrage en bas, peut-être deux Nous le poussons un peu vers le haut. En fait, au lieu d'un rembourrage, je veux écrire zéro En fait, je veux changer la traduction ici. Vous pouvez donc le modifier. Au lieu d'ajouter un rembourrage, vous pouvez modifier la traduction J'allais dire moins deux, donc c'est un peu poussé vers le haut. OK, comme avant, je vais masquer la visibilité et consulter le graphique ici pour mettre à jour les informations sur les ennemis. Comme avant. Maintenant que nous avons le nom de l'ennemi, je vais juste vous demander d'obtenir des informations sur l'ennemi. Nous avons déjà le nom de l'ennemi. Ensuite, nous pouvons mettre fin à tout cela, comme avant, nous pouvons prendre le type d' ennemi et nous demander : c'est égal à nous ? Si tel est le cas, continuez et affichez à nouveau cette icône, comme avant. Changeons le nom en image skull. Disons que c'est variable. Prenons l'image du crâne et définissons visibilité de manière à ce qu'elle soit testable Encore une fois, cliquez sur celui-ci. Masquez les épingles non connectées. Frappe-le, peut-être un peu plus près. Essayons-le et voyons ce qui se passe. Je clique sur Jouer sur le jeu. J'en achète quelques-uns pour pouvoir infliger des dégâts beaucoup plus rapidement et passer aux niveaux. Maintenant, voici l'ennemi, et vous pouvez voir que l' icône est apparue. Cela fonctionne parfaitement. Mais vous pouvez voir ici, en fait je viens remarquer que ce nom est mis de côté. Il n'est pas au centre de cet ennemi. C'est parce que l'icône du crâne est réellement là. C'est juste caché. Au lieu de cacher le crâne dans ce cas, dans ce cas, c'était bien parce qu'il est juste là. Celui-ci est en fait en train de promouvoir le nom. Ce que nous pouvons faire, c'est le définir au lieu de le masquer, vous pouvez le définir comme réduit. C'est comme si vous réduisiez un menu. Ce n'est plus à ton avis. Le régler pour qu'il s'effondre devrait fonctionner correctement. Maintenant, si je niveau rapidement juste pour vous le montrer, celui-ci meurt. Si j'y vais maintenant, vous verrez Skeleton était là avant que le texte ne commence ici. Il commence maintenant dans la bonne position. Il est préférable d'utiliser Collapse dans ce cas. OK, cool. Maintenant, nous avons ce crâne exposé. Ça a l'air plus cool qu'avant. Et aussi, je peux voir que l'alignement s'étire un peu, je vais plutôt le régler au milieu. Allez-y, compilez, sauvegardez le tout, et laissez-nous continuer. 98. 10.08 Ajout d'icônes à des cartes de shopping: La prochaine chose que je veux faire ici est également d'ajouter les icônes pour les voitures, pour les chats des magasins. Mais comme vous pouvez le voir ici, ça a l'air sympa. Mais je pense que ce serait plus beau si nous avions une icône à côté de ce texte Allons-y et ajoutons-le. Ouvrons la boutique ici. Ajoutons l'icône à côté de ce texte. Il est maintenant à l'intérieur d' une boîte ou d'une boîte verticale. Nous avons besoin d'une boîte horizontale ici. Je cherche à nouveau une case horizontale, et je l'ajoute ici, juste au-dessus du texte. Ajoutez le texte dans le cadre horizontal. Ensuite, ajoutez également une image dans la case horizontale, juste au-dessus du texte ici. Maintenant, pour cette icône, nous allons la transformer en icône d'article. Mais pour l'instant, allez-y et sélectionnez une icône aléatoire pour l'alignement. Allez-y et placez-la au milieu pour qu'elle ne s'étire pas à la taille de cette icône. Je pense que 32 x 32, c'est bien. Je ne pense pas que nous ayons besoin de plus que cela. J'ai probablement besoin d'un petit espaceur entre les deux. Donnez-lui une meilleure apparence, en ajoutant simplement le x, peut-être quatre et comme ça. Oui, ça a l'air sympa. OK, allons-y et cliquons sur cette image, appelons-la élément image. Modifions-le en Is variable. Passons maintenant au graphique et faisons-en des choses. Maintenant, dans le graphique des événements, voyons où nous pouvons le mieux faire cela. Nous avons le point de mise à jour I. Nous avons la mise à jour, le coût. Nous avons également la structure de l' événement. Chaque fois que cette carte est ajoutée, ce serait le meilleur endroit. Chaque fois que la carte est ajoutée depuis la manette du joueur, nous ajoutons instantanément l'icône. Laisse-moi juste repousser ça. Après avoir mis à jour le nom du texte, je veux prendre l'icône de l'image et disons définir le pinceau. C'est ainsi que vous définissez une texture ou une image de manière dynamique. Réglez le pinceau à partir de la texture. Allez-y et sélectionnez celui-ci. Cela signifie essentiellement définir cette image à partir d'une image que j'ai importée dans ce moteur. Réglez le pinceau à partir de la texture. Maintenant, de quelle texture avez-vous besoin ? Nous avons déjà les icônes, je crois, mais nous n'en avons pas vraiment. Allons-y et ajoutons-le. Nous n'avons que le sprite ici. Maintenant, pour continuer, nous devons ajouter cette miniature aux informations sur l'article Revenons en arrière, passons aux articles, ajoutons des informations sur la structure des articles ici. Ajoutons une nouvelle variable appelée thumbnail nail. Ajoutons celle-ci ou changeons-la en une texture deux D, qui est juste une texture que vous importez ou une image. Et allez-y et sélectionnez la référence de l'objet. Je vais le déplacer juste au-dessus de la miniature ou du nom de l'élément N'oubliez pas que vous devez maintenant accéder à votre fichier Google Sheets. Maintenant, je vais passer aux informations sur l'article ici à droite. Je vais juste cliquer avec le bouton droit ici et insérer une colonne à droite. Appelez ça une miniature. Identique à la variable. Nous pouvons maintenant ajouter la miniature ici, les références. Revenons maintenant à, voyons si nous les avons ici dans les objets en fait juste ici dans les textures, vous pouvez simplement les utiliser comme références, car ce sont les éléments. Ce que je veux, c'est que tu ouvres la table. La première est la plume légère. Encore une fois, comme avant la référence du clic droit sur la lumière. Retournez à votre document. Collé dedans. Ensuite, cliquez avec le bouton droit de la souris ici, référence collée pour la torche Et allez-y, faites-le pour chacun d'entre eux. C'était le dernier pour moi. Je vais continuer et cliquer à nouveau sur Télécharger le fichier en tant que fichier CSV. Ensuite, je vais réimporter celui-ci dans mon dossier de tables de données. Allez-y portez-le, et vous devriez avoir toutes les informations. Maintenant, revenons en arrière, travaillons et continuons le travail. Ouvrons à nouveau la fiche des articles de la boutique. Nous avons maintenant cette miniature. Cette miniature, nous pouvons la brancher ici. Je vais cliquer pour créer un nœud de redirection comme celui-ci et cliquer sur celui-ci Et masquez les épingles connectées, compilez et enregistrez. Maintenant, tout devrait fonctionner. Si je clique sur jouer, vous pouvez maintenant voir que toutes les icônes ont été ajoutées. Encore une fois, je dois agrandir un peu ce panneau pour qu'il ne soit pas découpé si j'y ajoute simplement une carte pour mieux le visualiser. Donc, si j'ajoute une fiche d'articles de la boutique à la liste des articles, je peux cliquer sur la case verticale pour l'agrandir un peu ici. Il ne s'agit donc pas de découper comme ça. Maintenant, vous pouvez voir que tout va bien. C'est beaucoup mieux si vous avez une icône à côté des articles de votre boutique. Oui, c'est comme ça qu'on les ajoute et ça devrait être tout. Allez-y et économisez. Encore une fois, assurez-vous cliquer sur cette icône. Assurez-vous d'avoir indiqué que la visibilité n'est pas testable Ne bloquez rien. Oui, passons à la suivante. 99. 11.01 Ajout du curseur de souris à la boutique: Bien, il est temps ajouter quelque chose avec le curseur de la souris. Jusqu'à présent, nous avons travaillé sur les éléments, mais maintenant, faisons quelque chose à propos du curseur de la souris. heure actuelle, vous cliquez sur l'ennemi et vous infligez 15 dégâts par clic. C'est une bonne chose. Cependant, chaque fois que vous progressez dans les niveaux, disons que nous avons ce clicker automatique et que nous progressons dans les niveaux Vous remarquez que les ennemis gagnent beaucoup plus de points de vie qu'auparavant. 15. Les dégâts ne leur feront pas grand-chose, surtout si, par exemple, au niveau 20, nous devons améliorer les dégâts de notre curseur. Allons-y et faisons-le. Mais nous devons d'abord ajouter l'article à cliquer dans la boutique pour pouvoir l'acheter et améliorer le curseur. Allons-y et faisons-le d'abord. Au fait, vous pouvez essayer de le faire vous-même si vous le souhaitez. C'est vraiment une bonne pratique. Essayons de le faire ensemble. Si vous ne savez pas trop comment en ajouter un, ouvrons les énumérations Et n'oubliez pas que nous avons tous les articles listés ici. Ajoutons une nouvelle énumération et appelons cela en un clic de souris Je vais juste l'ajouter en tant que premier élément parce que je veux qu'il soit en haut. C'est le clic de la souris. Fermons-le. Ensuite, nous devons accéder à la table de données. Ouvrez à nouveau vos Google Sheets À l'intérieur d'ici, ouvrons les informations sur l'article. Je souhaite l'ajouter comme premier élément. Allez-y, appelez ça un clic de souris. Cliquez également ici. Maintenant, pour ce qui est de la miniature que je vous ai donnée dans les supports de cours, si vous revenez simplement aux ressources, aux objets et aux textures, je vous ai donné l'intérieur du matériel de cours Si vous allez dans les objets, utilisez ce curseur pour importer celui-ci, cliquez dessus avec le bouton droit de la souris, convertissez-le ou appliquez du papier aux paramètres. Maintenant, pour celui-ci, cliquez avec le bouton droit de la souris et transformez-le en sprite Et glisse-le dans les objets ici. Cliquez maintenant sur les objets. Maintenant, nous avons configuré ce sprite. Allons-y et sauvegardons tout cela. Revenons au tableau de données. maintenant à la miniature, passons aux textures, cliquez avec le bouton droit de la souris, copiez Pour cette modification miniature, l'élément s'appelle un clic de souris pour l' Voici l'énumération. N'oubliez pas de l' ajouter à l'énumération. Nous avons également besoin d'une clause à ce sujet, car nous devons le faire disparaître. En fait, passons aux plans et faisons-le. Maintenant, si je vais dans Articles et que je vais dans la base d'articles, je peux cliquer avec le bouton droit sur la base d'articles, créer un plan pour enfants Claus Appelez ça un clic de souris. Et ouvrons-le. Cliquons sur les composants de rendu et ajoutons le seul sprite au curseur Compilez et enregistrez. N'oubliez pas que nous avons également ajouté le nom de chaque article. Ici, vous pouvez voir le nom de l'article Nous l'avons écrit, n'oubliez pas, pour chaque article. Vous devez donc l' écrire, sinon il ne sera pas lu dans la table de données. N'oubliez pas de cliquer sur les valeurs par défaut de la classe ici. Appelons cela un clic de souris. Identique au nom que vous lui avez donné dans le tableau de données. Maintenant que nous l'avons créé, et pour y faire référence, comme avant, copions simplement celui-ci. Collez-le ici. Je vais juste renommer cette plume légère en clic de souris Et celui-ci aussi. Clic de souris. OK. Passons maintenant au sprite, encore une fois, passons aux objets actifs Nous pouvons cliquer avec le bouton droit sur ce sprite et nous pouvons copier la référence collée À présent, nous devons définir ce que cela coûte. Disons que cela coûte peut-être dix dollars ou quelque chose comme ça. Nous pourrons toujours le modifier ultérieurement. Maintenant, cliquons sur Fichier, télécharger, télécharger à nouveau le fichier CSV. Je vais maintenant le faire glisser dans le dossier des tables de données. Encore une fois, faites-le glisser et enregistrez tout. Assurez-vous simplement que toutes les informations sont correctes ici, tout semble bien. Maintenant, si je clique sur Play, je peux voir ma souris cliquer. Et je peux le voir aussi ici, je peux cliquer sur Par. À l'heure actuelle, le prix de cet article est nul . Il y a quelque chose qui ne va pas ici. N'oubliez pas que c'est parce qu' ici, dans les informations sur l'article, nous n'utilisons plus ce coût de pièces. Ne nous embrouillez plus. Passons également aux informations sur l'article et supprimons le coût des pièces à partir d'ici. Allez-y, sauvegardez tout maintenant assurons-nous de le supprimer de la table de données. Cliquez avec le bouton droit de la souris et supprimez la colonne, voici également. Passons maintenant au coût des articles, car c'est là que nous avons réellement le coût. Modifions-le. Permettez-moi de cliquer ici avec le bouton droit de la souris et d'ajouter une nouvelle colonne à droite. Appelez ça souris, cliquez ici. En gros, disons qu'il commence par 18, juste parce que je veux un nombre différent de tous les autres, disons qu'il est égal à celui-ci une fois 1.2 Faisons glisser le tout vers le bas. Cela va évidemment demander beaucoup de travail en matière de conception de jeux si vous voulez que tous ces chiffres aient du sens, mais pour le moment, nous ne faisons que tester. Je vais juste télécharger ce tableau de données sur les coûts des articles ici dans le moteur. Allons-y et importons-le à nouveau. Accédez aux tableaux de données, importez le coût des articles. Impossible de trouver la propriété du clic de souris dans ST cost. Regardons cela ensemble. Si je clique sur OK, je passe simplement au coût de la STM. Si je vais dans l'interface utilisateur, j'accède à la structure, ouvre le coût de l'article. C'est parce qu'il nous manque cette variable à l'intérieur d' ici. Permettez-moi d'en ajouter un nouveau. Appelez ça un clic de souris, transformez-le en entier. Faites-le simplement glisser jusqu'ici. Et allez-y, cliquez sur Enregistrer tout. Maintenant, cet article coûte également. N'oubliez pas que dans le lecteur, si je vais vers le joueur, nous avons une fonction appelée mais elle coûte cher. Si je clique dessus, nous devons les lier ensemble, sinon cela ne fonctionnera pas comme avant. Allez-y, reliez-les ensemble. Compilez si vous voulez vous assurer de n'avoir raté aucun autre endroit. De plus, cliquez avec le bouton droit sur le coût de cet article, allez-y et cliquez sur Trouver des références, juste pour vous en assurer. Et cliquez sur la petite icône, et cela vous montrera toutes les références que vous avez utilisées pour cela. En cliquant sur celui-ci, nous n'avons vraiment rien fait ici. Tout devrait bien fonctionner. Revenons maintenant aux tables de données et je vais les réimporter, donc c'est correct comme ça. Maintenant c'est bon. Maintenant, cliquons sur jouer. Maintenant, mon moteur est tombé en panne et c'est généralement le cas. Parfois, lorsque vous modifiez des éléments à l'intérieur d'une structure et que vous essayez de cliquer sur Play, cela plante Mais lorsque vous l'ouvrez pour la deuxième fois, cela devrait fonctionner. Maintenant, si je clique sur Play et que vous pouvez parfois voir des choses comme ça, vous pouvez réellement résoudre ce problème. Parfois, il a besoin de se rafraîchir. Si vous ouvrez le contrôle de lecture et que vous cliquez sur le fichier, actualisez tous les nœuds, puis que vous cliquez à nouveau sur jouer, cela devrait fonctionner. Je ne sais pas pourquoi il le fait parfois aussi pour mes autres jeux. Mais vous pouvez sortir et vous rafraîchir et cela fonctionne très bien. OK, maintenant vous pouvez voir que le clic de la souris fonctionne correctement. Et si j'en achète de plus en plus, cela fonctionne bien aussi. Il me montre le prix. Nous devons maintenant ajouter un point d'intervalle pour ce clic de souris. Et c'est ce que nous allons faire dans la prochaine leçon. 100. 11.02 Ajout du point d'apparition du curseur de souris: Pour ajouter la souris. Alors spawn point, allons-y et faisons-le ici Ouvrons les points d'apparition. Maintenant que nous avons des points d'apparition de cet objet, nous n'avons pas vraiment besoin de créer des enfants, souvenez-vous que nous n'utilisons que celui-ci Nous pouvons cliquer sur le premier et nous assurer qu'il s'agit d'un clic de souris. C'est par défaut parce que nous avons réorganisé l' énumération précédemment En cliquant sur ce clic de souris, ouvrez maintenant votre énumération et assurez-vous simplement que tout est correct dans l'ordre Je pense que l'un d'entre eux est faux, car il nous en reste dix et un clic de souris suffit pour indiquer que l'un de ces éléments manque. Assurez-vous simplement de cliquer sur chacune d' elles et de vous assurer qu'elles sont correctes. Je vais juste copier celui-ci ici. Laissez-moi m'assurer que la distance est la même que toutes les autres et que c'est comme ça. Je m'assure que c'est un clic de souris. Le suivant est Light Feather. Et parcourez-les ici. Le suivant est Torch et ainsi de suite. OK, maintenant ils sont dans le bon ordre. Allez-y et sauvez-les tous quand ils le seront. Maintenant, si vous cliquez sur jouer et que vous essayez de le faire apparaître, il n'apparaîtra pas N'oubliez pas que nous en avons défini certains dont nous devons nous occuper. Si vous ouvrez le mode jeu et vous vous souvenez de ce que vous avez fait avec les points des objets, nous avons créé ici cette fonction appelée définir des objets contre des points et obtenir des points d'objets. Ouvrons celui-ci, Set items pinpoints. Nous devons en créer un pour les clics de souris. Je vais dupliquer celui-ci. Je vais appeler ça des points de clic de souris. Allez-y, ajoutez-le ici. Assurons-nous de n' avoir rien d'autre. Compilons. Passons également à la section Obtenir des objets, épingler des points. Permettez-moi de copier-coller ceci ici. Supprimez celui-ci et ajoutez les clics de souris à la place. Allez-y, connectez-vous. Compiler. Je pense que cela devrait être le cas. Cliquez sur celui-ci, vous verrez qu'il fonctionne correctement, tout comme les autres éléments. Maintenant, cela fonctionne très bien. Maintenant, il y a un problème avec cela en ce moment, car il ne devrait pas afficher zéro DPS, et il ne devrait pas non plus afficher zéro DPS en cours Le problème avec celui-ci, pour le moment, c'est que la souris n'est pas vraiment endommagée par seconde, elle est endommagée par clic. Au lieu d'afficher les dégâts par seconde, nous devons afficher les dégâts par clic. heure actuelle, il est indiqué zéro DPS car dans les informations sur l'objet, nous n'avons pas précisé ampleur des dégâts par seconde qu'il devrait subir Par exemple, vous pourriez dire cinq. Et si je clique sur Play, vous pouvez voir qu'il est écrit cinq. Mais encore une fois, ce ne sont pas vraiment les dégâts par seconde qui nous intéressent, mais plutôt les dégâts par clic. Alors allons-y et réglons ce problème comme prochaine étape. 101. 11.03 Afficher correctement le texte de dommage: Pour que le texte s'affiche correctement ? De toute évidence, nous devons maintenant accéder à l'interface utilisateur et jeter un œil à l'infobulle. Entrons ici. Passons maintenant au DPS pour nous assurer que le texte s'affiche correctement. Maintenant, pour ce qui est des dégâts, je vais juste écrire quelque chose comme 40 pour m'assurer que ce que je regarde est faux ou statique. I. Je m'assure que lorsque je clique sur jouer, je regarde vraiment ce qui se passe ici , juste pour m'assurer que je n'ai pas d'époque. Maintenant, dans le graphique, nous devons nous assurer qu' il est indiqué chaque clic de souris inflige cinq dégâts par clic. Et actuellement , par exemple, cinq dégâts par clic au lieu d'un DPS. Le premier texte, rappelle-toi comment ils s'appellent. Le premier est appelé, donne le DPS et le second donne le montant du DPS. Maintenant, nous n'avons pas vraiment besoin de changer celui-ci, suffit de donner DPS et de faire le montant du DPS , revenons Celui-ci donne le montant du DPS. Au lieu de dire celui-ci, je vais le déconnecter. À partir d' ici, je vais dire « Select ». Nous devons maintenant utiliser un nœud de sélection. À présent, qu' allons-nous sélectionner ? Nous allons choisir s'il s' agit d'un clic de souris ou non. N'oubliez pas que nous avons les informations sur l'article ici. Et si je cachais simplement cette miniature parce que nous n'en avons pas besoin Mais je montre cet élément que nous pouvons faire glisser d'ici et dire «   égal, égal » si c'est égal à clic de souris et à le brancher ici Maintenant, ce que nous pouvons dire, c'est que n'oubliez pas que nous devons utiliser un format de texte. Encore une fois, je vais faire glisser le pointeur ici et dire formater le texte. Je vais également en utiliser un ici, pour formater le texte. Maintenant, pour celui-ci, s'il ne s' agit pas d'un clic de souris, il devrait simplement dire la même chose que précédemment. Allez-y et collez-le dans Enter pour le voir. Maintenant, c'est le montant du DPS, comme avant. En fait, je vais le ramener ici, et je vais juste le repousser pour avoir un peu d' espace comme celui-ci. Maintenant, pour celui-ci, s'il est vrai qu'il s'agit d'un clic de souris, ce que je veux dire ici, c'est qu'au lieu du DPS, disons simplement le montant des dégâts Imaginons les dégâts par clic. Maintenant, je vais parler de dégâts par clic. En gros, les dégâts par sont ce DPS ici. Ce DPS, nous pouvons choisir de le régler en fonction de l' ampleur des dégâts qu'il doit vous infliger ou de vous infliger chaque fois que vous achetez en boutique Si je me contente de compiler et que je reviens à mon tableau de données juste pour m' assurer qu'il est correct, ouvrez les informations sur l'article qui ne coûtent pas réellement un article pour cela. Je dois juste dire que cela m' inflige 25 dégâts à chaque mise à niveau. Et assurez-vous également d'accéder à vos Google Sheets et de le modifier ici, sinon ce sera faux. Chaque fois que vous importez ce tableau, assurez-vous qu'il est, par exemple, égal à 25 ici. Maintenant, à l'intérieur d'ici, revenons à l'infobulle et continuons Cela devrait être correct. Je peux supprimer celui-ci et tout mettre de côté pour les avoir dans la vue. C'est bon. Je réorganise juste les choses bien. Maintenant c'est correct. Maintenant, nous allons continuer. La prochaine chose est ce texto qui fait du DPS. Celui-ci avant que vous ne puissiez faire glisser le pointeur d'ici et dire « Sélectionner ». Ensuite, juste avant le formatage pour le premier, formatez le texte, formatez le sexe pour le second. Encore une fois, il doit choisir s'il s' agit d'un clic de souris ou non. Je vais juste faire glisser ça ici comme avant. Si ce n'est pas le clic de la souris, ajoutons simplement celui-ci que nous avions auparavant. Nous ne le changeons pas maintenant. Cependant, s'il s' agit d'un clic de souris, nous voulons dire ici le montant total des dégâts. Par exemple, celui-ci représente le montant total des dégâts. Celui-ci va essentiellement dire qu'il inflige actuellement, par exemple, 60 dégâts. Vous pouvez également parler de dommage par clic si vous voulez rester cohérent. Disons que c'est le dommage par clic. Pour ce qui est des dégâts, ce n'est pas vraiment ce DPS que nous ajoutons ici, mais il est plus correct d'ajouter la variable d'endommagement du curseur Souvenez-vous qu'à l'intérieur du lecteur, si j'y retourne, c'était il y a longtemps. En fait, dès le début du cours, nous avons créé ce flotteur de dégâts dû au curseur ici, nous pouvons même ajouter celui-ci. Je reviens à l'infobulle, nous avons déjà le joueur si je peux le faire glisser hors du joueur et dire « dommage causé par le curseur ». Maintenant, nous pouvons l'ajouter ici et cela devrait très bien fonctionner. Encore une fois, je vais supprimer celui-ci pour ce numéro. Encore une fois, branchez-le ici pour qu'il ne soit pas faux. C'est ce que nous avions avant. Je vais juste bien réorganiser les choses. Très bien, juste comme ça et allez-y, compilez et sauvegardez le tout. Cliquons sur Play et voyons ce qui se passe si je passe la souris dessus. Il est dit que chaque clic de souris inflige 25 dégâts par clic. Vous pouvez aussi l'appeler DPC, je crois que c'est un terme en fait. Au lieu de DPS, vous pouvez appeler DPC pour les dégâts par clic si vous Vous pouvez voir qu'il ne dit rien vraiment et c' est parce que nous ne le mettons pas à jour comme tous les autres que nous faisons. C'est en fait la prochaine chose que nous devons faire. Nous devons mettre à jour l'action actuelle, car elle vous inflige en fait 25 dégâts par clic. Mais vous ne pouvez pas le voir car vous ne mettez pas à jour le texte situé en dessous. Vous n'êtes pas en train de mettre à jour cette variable d'endommagement du curseur. Passons à la leçon suivante et faisons-le. 102. 11.04 Mise à niveau des dommages du curseur de souris: Il est maintenant temps de mettre à jour la souris lorsque vous cliquez sur jouer et acheter. La souris clique ici, vous pouvez voir qu'elle inflige des dégâts automatiques, ce qui n'est pas censé se produire car le clic de souris est essentiellement l' endroit où vous cliquez sur l'ennemi et cela devrait infliger plus de dégâts. Allons-y et améliorons les dégâts infligés à la souris au lieu du DPS automatique Fermons ça. Et c'est ce que nous avons fait à l'intérieur du lecteur. Si vous ouvrez le lecteur et que nous revenons au graphique des événements, si vous souhaitez dire organiser, vous pouvez toujours cliquer avec le bouton droit de la souris ici et fermer les onglets sur la droite afin que nous n'ayons pas à tout voir. Lorsque nous avons acheté le M, souvenez-vous que ce que nous avions fait précédemment, c'est que nous avons mis à jour le DPS total, c' est-à-dire cette fonction ici Au lieu de mettre à jour le DPS total lorsque nous achetons un clic de souris, faisons-le ici Nous voulons plutôt améliorer la souris. Voici la droite dans les fonctions, on peut cliquer sur le signe plus. Créons une nouvelle fonction appelée augmenter les dégâts du curseur. La seule chose que cela va faire ici dans l'entrée, c'est d'ajouter un float et d' appeler celui-ci damage to add. Prenons l'endommagement du curseur que nous avons créé plus tôt. Ajoutons les dégâts que nous voulons ajouter. Remettons-le ensuite dans cette variable. Nous avons donc maintenant ce nouveau curseur endommagé. C'est essentiellement la fonction de cette fonction ici, est-à-dire qu'elle ajoute simplement la quantité de dégâts que nous voulons ajouter aux dommages causés par le curseur et la définit ici comme une nouvelle valeur. Revenons au graphique des événements et utilisons celui-ci pour augmenter les dégâts infligés au curseur au lieu du DPS total de la souris Maintenant, pour savoir si c'est la souris dont nous parlons ou non, souvenez-vous qu'ici, dans la structure de l'objet, nous pouvons cliquer sur les informations de l'article et tout masquer pour le moment. Ici, dans l'article, souvenez-vous que dans l'énumération, nous avons fait l'énumération par clic de souris, je vais le faire, cliquer ici et je vais faire glisser le pointeur à partir Et puis je vais dire énumération égale, égale. Et puis allez-y et sélectionnez cette souris, cliquez ici. Si cette énumération est égale à un clic de souris, si cet élément dont nous parlons est égal à un clic de souris La façon dont nous savons que c'est dans le tableau de données que vous définissez vos informations. Si vous ouvrez les informations sur l'article et que vous cliquez sur le bouton de la souris, souvenez-vous que nous avons défini l'article comme un clic de souris ici, afin qu'il sache ce que vous avez choisi. Si vous avez mal sélectionné quelque chose ici, vous recevrez un message d'erreur si l'élément ici est un clic de souris et que nous pouvons faire glisser le pointeur d'ici pour créer une branche. Maintenant, je vais l'ajouter. Après avoir créé l'objet, je vais en fait déconnecter celui-ci Et faisons-les glisser ici. Maintenant, avant de mettre à jour l'interface utilisateur, comme nous devons le faire avant de mettre à jour l'interface utilisateur, celle-ci est correctement mise à jour. Nous devons ajouter les informations, nous allons générer l'objet, puis nous allons connecter cette branche OK, c'est le clic de la souris. Si l'objet est le clic de la souris, nous voulons augmenter les dégâts des cristaux. Si ce n'est pas le cas, nous voulons mettre à jour le DPS total. Alors n'oubliez pas de les reconnecter à ici. Si vous souhaitez rester un peu plus organisé, vous pouvez toujours double-cliquer sur celui-ci sur un nœud de route arrière comme celui-ci. Et tu peux le prendre et brancher ici, pour qu'il soit plus beau. Nous voulons maintenant ajouter les dégâts que nous voulons ajouter ici. Prenons simplement le DPS. Si je clique ici, je clique sur le DPS et je peux le faire glisser jusqu' à la fonction comme celle-ci Encore une fois, je vais créer des nœuds de route arrière pour cela. Et juste comme ça, OK, maintenant le DDPS est bloqué Désormais, chaque fois que nous allons améliorer le clic de souris, nous allons l'ajouter à l'augmentation des dégâts infligés par le curseur au lieu du DPS total . Maintenant, si je compile et clique sur Play et que je mets à jour ici, vous pouvez voir que mon interface utilisateur est correctement mise à jour. Si je clique sur l'ennemi, il inflige également le bon montant de dégâts. Si je clique sur lui, ça indique 65. Si je fais une nouvelle mise à niveau, il est indiqué 90. J'effectue une nouvelle mise à niveau plusieurs fois. Il est écrit 240, et il devrait indiquer 340 maintenant. Et vous voyez qu'il inflige la bonne quantité de dégâts. Nous avons maintenant terminé de mettre à jour le curseur. 103. 11.05 Designing du widget de curseur de souris: Pour rendre les choses un peu plus intéressantes, changeons le curseur de la souris, car vous pouvez voir que nous avons le curseur de souris Windows normal. Mais changeons-le en une autre icône, pour que cela soit un peu mieux. Je vous ai donné ici des informations sur les coûts, des curseurs de souris que j'ai utilisés dans Farm Tail, mais nous pouvons les utiliser maintenant. Passons maintenant à l' interface utilisateur et aux icônes. Faisons simplement glisser ces icônes ici. Vous n'avez plus besoin d' appliquer du papier à ces paramètres, car il ne s' agit pas du lot de pixels. Revenons à l'interface utilisateur. Et faisons un clic droit ici pour créer de nouveaux widgets d' interface utilisateur. Allez-y et cliquez ici. Appelons cela un curseur de souris. Ouvrons-le à l'intérieur d'ici. Ce que je veux faire d'abord, c'est ajouter un panneau de toile. Faisons-le glisser vers le bas. La seule chose que nous voulons ajouter est une image. Et ce sera le curseur. Ce que je vais faire encore une fois, cliquer ici et indiquer « souhaité » à l'écran pour cette image. Nous pouvons lui donner une taille. Maintenant, pour ce qui est de la taille de l'image, elle dépend de la taille du curseur de la souris. Si je vais sur les icônes et que je jette un coup d'œil à ce curseur de souris, c'est 93 fois 101. Écrivons donc que, 93,100.1 Comme vous pouvez le voir, la taille de l'image ne change pas C'est parce que vous devez cliquer sur Taille par rapport au contenu, et maintenant ce sera correct. OK, c'est correct. Maintenant, ce que nous voulons faire, c'est le centrer également sur l'écran. Et comme je ne suis pas ici, je vais changer l' ancre au milieu. Et je vais écrire 00 ici dans le x et le y. Et nous ne voulons pas écrire 0,5 dans les alignements, car la souris va en fait cliquer au milieu de ce canevas C'est correct jusqu'à présent. En cliquant sur ce widget, changez-le en curseur. Et c'est celui par défaut. Le curseur de la souris est ici. Et laissez-nous compiler et enregistrer. Je pense que nous devons le réduire car il occupera une place très importante dans le jeu. Mais nous devons d' abord le tester avant de le savoir. De plus, pour cette image, je veux la configurer pour qu'elle ne soit pas testable, afin que cela n'affecte pas le jeu Il est maintenant prêt à être utilisé. Revenons à la manette du joueur. À l'intérieur du contrôleur du joueur, comme nous l'avons fait avec l'interface utilisateur précédemment, nous voulons travailler avec celui-ci ici dans le lecteur initialisé Maintenant, nous n'allons pas ouvrir et fermer un widget ici. Cela n'a aucun sens de le créditer. Nous allons plutôt l' ajouter au joueur initial. Je vais juste copier ces widgets. Et cherchons le curseur de notre souris. Faisons grève, cliquez ici. Promouvez-la en variable et appelez-la curseur de souris. Maintenant, si vous faites glisser le pointeur d'ici, vous recherchez simplement la souris et voyez quelque chose appelé Set mouse cursor widget. Il s'agit d'une fonction par défaut dans Unreal Engine. Si vous cliquez dessus, ce que vous voulez faire ici est essentiellement de sélectionner Par défaut. Ce sera notre curseur par défaut. Nous avons maintenant défini que ce widget nous venons de créer est désormais le curseur par défaut. Si vous cliquez sur jouer, vous pouvez maintenant voir qu'il s'agit de la souris. Nous pouvons l'utiliser pour cliquer, et vous pouvez voir que c' est très précis. Maintenant, je vais le pousser un peu vers le haut, car comme vous pouvez le voir, il clique un peu vers le haut. Si nous revenons au widget, je pense que je vais le réduire un peu parce qu' il est peut-être trop grand. Revenons en arrière et réglons ce problème. Revenons à l' interface utilisateur, ouvrons le curseur. Vous pouvez toujours cliquer ici et dire, par exemple, moins cinq ici, moins cinq ici. Moins cinq hivers également. Je pense que je vais encore dire moins cinq, moins cinq. Si je clique sur jouer et que je jette un œil, je pense qu'il peut être un peu plus petit. Encore une fois, moins dix, peut-être moins dix ici. Cliquez sur jouer. Je pense que c'est beaucoup mieux maintenant. Maintenant, si vous voulez le pousser vers le haut, vous pouvez toujours ajuster la position dans les X et Y. Si vous écrivez cinq, cela fait en fait moins cinq pour aller dans l'autre sens Disons un moins cinq par moins cinq. C'est bien mieux. Vous pouvez encore une fois essayer de l' ajuster le mieux possible ici lorsque vous êtes satisfait. Maintenant, c'est la souris que nous avons. Maintenant, nous avons également besoin d'un événement de clic, car comme vous pouvez le voir lorsque nous cliquons, cela ne donne pas vraiment un autre effet. Et je pense que nous pouvons l'améliorer un peu en ayant un effet de clic. Il s'agit de l'autre curseur que nous avons importé. C'est la pression, OK, donc si nous revenons ici maintenant, je mets cette position x à moins huit et moins cinq pour l'améliorer un peu. Maintenant, lorsque vous êtes prêt, passons au graphique et intervenons. Supprimons tout cela. Je souhaite créer un nouvel événement personnalisé. Créons un nouvel événement personnalisé et appelons-le une image fixe. Ce que nous voulons faire ici, c' est en fait un nouveau recensement Si vous accédez au plan et que vous ouvrez les énumérations, cliquez avec le bouton droit de la souris et effectuez une nouvelle énumération Cela va essentiellement contenir une liste des états de la souris pressée. Si j'appelle simplement son état, je l'ouvre, en fait je lui donnerai un S ici à la fin. Maintenant, pour les états du curseur de la souris, nous pourrions avoir un curseur de souris par défaut, nous pourrions avoir un curseur de pression sur la souris. Nous avons maintenant ces deux états. Si je reviens maintenant au widget et que je l'ajoute comme entrée, cherchons souris et sélectionnons cette énumération que nous venons Je vais l'appeler Moussa indique l'objectif ici. Ce que nous essayons de faire, c'est de changer cette image selon que nous avons appuyé ou non. Je vais juste appeler cette image curseur de souris. Mettons-le sur variable afin de pouvoir le modifier dans le code. Si je reviens ici, je fais glisser ceci et je dis « définir le pinceau à partir de la texture ». Maintenant, la texture dépend état du curseur de la souris. Si je fais simplement glisser le pointeur d' ici et que je dis sélectionner, je sélectionne ce nœud ici, et nous pouvons le faire glisser dans l'index. Maintenant, s'il s'agit de l'état par défaut, c'est ce que nous avons écrit dans l'énumération S'il s'agit de l'état par défaut, je souhaite sélectionner ce curseur de souris. S'il s'agit de l'état pressé, je souhaite sélectionner ce curseur de souris ici. Nous pouvons maintenant utiliser cette image définie, en fonction de ce que nous faisons dans le jeu. N'oubliez pas d'appuyer sur les boutons. Nous l'avons fait à l'intérieur du lecteur. Si je reviens au joueur, je vais au graphique des événements, c'est correct. Nous devons maintenant trouver l'événement que nous avons utilisé chaque fois que nous cliquons sur l'ennemi. Maintenant, nous n'en avons pas vraiment créé un parce que jusqu'à présent , nous avons fait ce que nous avons fait à l'intérieur de l'ennemi Nous avons cet événement de clic ici. Ici, j'ai cliqué sur le composant de la capsule. Nous n'avons pas vraiment organisé d'événement ici. Chaque fois que nous cliquons avec notre souris, nous devons également le faire. Pour ce faire, nous devons travailler avec des intrants. C'est ce que nous allons faire dans la prochaine leçon. 104. 11.06 Ajout d'une entrée de clic de souris: Très bien, pour terminer, nous devons ajouter une entrée de souris à chaque fois que nous cliquons avec la souris afin de pouvoir changer l'image. Pour cela, nous devons ajouter une entrée pour le joueur. Si je me contente d'écrire, de cliquer ici et de créer un nouveau dossier, je vais simplement l'appeler Player. Et glisse-le ici. Dans ce lecteur, je vais écrire Click and Create à nouveau un nouveau dossier, appelé Input. Et entrons dans ce dossier, cliquez avec le bouton droit de la souris à l'intérieur de la saisie ici. Si vous ne l'avez jamais utilisé auparavant, c'est ici que vous ajoutez les touches du clavier, etc. Donc, chaque fois que vous entrez dans un jeu RPG et ainsi de suite. Donc, en gros, juste la saisie pour le clavier, la souris et les pads. Créons d'abord un contexte de mappage d'entrée. C'est ce que tu dois faire. Appelons cela IMC. Pour le contexte de mappage d'entrée, vous pouvez simplement l'appeler default. OK. Cliquez à nouveau avec le bouton droit. Entrée, et nous devons créer ce qu' on appelle une action de saisie. Allez-y, créez-en un. Appelons cela un clic de souris, par exemple clic de souris. Ouvrons celui-ci. Maintenant, à l'intérieur d' ici, il ne nous reste pratiquement rien à faire. Fermons-le, car il suffit de cliquer sur la souris pour que quelque chose se passe, donc nous n'avons pas vraiment besoin de faire quoi que ce soit ici. Ouvrons le contexte de mappage des entrées. À l'intérieur, il faut cliquer sur le signe plus. Maintenant, lorsque vous cliquez sur le signe plus, vous devez ajouter une action de saisie. C'est ce que nous venons de créer, appelé un clic de souris. Pour cette action de saisie, vous devez attribuer un bouton. Maintenant, pour celui-ci, je vais juste cliquer ici. Puis cliquez sur le bouton gauche de ma souris. Et il l' attribuera automatiquement. Trouvez-le également ici si vous recherchez simplement la souris et vous pouvez voir que vous pouvez sélectionner toutes ces choses ici, mais nous l'avons déjà ici. Bouton gauche de la souris Je vais cliquer ici dans les déclencheurs, je vais cliquer sur Plus et sélectionner celui appelé pressé. La raison pour laquelle je le fais est que si vous ne le faites pas, vous allez cliquer plusieurs fois. En fait, je vais vous montrer que si je le supprime pour le moment, nous pouvons simplement le laisser et nous pouvons y revenir. Nous devons maintenant l'ajouter au lecteur. Si je reviens au lecteur, je l'ouvre, nous devons y ajouter le contexte de mappage d'entrée. Avant que cela ne fonctionne, faisons-le avant de mettre à jour le nombre d'icônes et de dégâts, etc. Alors faisons-le à l'intérieur d'ici. Ce que nous pouvons faire, c'est avoir besoin de la manette du joueur. En fait, je vais prendre cette manette de joueur, vous pouvez rechercher améliorée, vous voyez celle-ci appelée sous-système Enhanced Input Local Player Allez-y, sélectionnez-le avant de continuer et de travailler avec. Procédez toujours directement à partir d' ici et dites que c'est valide, car cela vous donnera parfois une erreur lorsque le fichier n'a pas été chargé et que vous déplacer le joueur ou essayez de déplacer le joueur ou d'effectuer des actions de saisie. Allez-y et sélectionnez est valide en premier. Chaque fois que c'est valide, nous pouvons faire glisser le pointeur d'ici et dire « entrez celui-ci ». Ajoutez un contexte de mappage, allez-y et sélectionnez. Ensuite, pour le contexte de mappage, sélectionnez celui que vous venez de créer. Maintenant, cela devrait fonctionner correctement pour tester si cela fonctionne réellement ou non. Vous pouvez simplement vous rendre ici et écrire, cliquer et rechercher le nom de l' action d'entrée que vous avez créée. J'ai créé celui qui s'appelle un clic de souris. Allez-y, sélectionnez-le. Je vais juste imprimer une chaîne à l'écran. Compiler. Si je clique ici, tu peux voir qu'il dit bonjour. Si je clique avec la souris, elle me dit bonjour. La raison pour laquelle nous devons ajouter un déclencheur enfoncé pour l'action de saisie est que vous pouvez voir si je tiens la souris enfoncée pour envoyer du spam à ce code que j' écris ici. Et ce n'est pas ce que nous voulons. Si je reviens au contexte de mappage des entrées et aux déclencheurs, je clique sur le plus et j' ajoute cet état pressé. Ce que cette pression signifie, c'est que le code ne sera joué qu'une seule fois chaque fois que je cliquerai ici. Et ce code va fonctionner si j' écris à nouveau une chaîne d'impression et que je clique sur jouer. Maintenant, si je tiens ma souris enfoncée, vous pouvez voir que ce n'est pas du spam. Il ne le dira qu'une seule fois. Chaque fois que je clique, je clique plusieurs fois. Maintenant, vous pouvez voir qu'il n' imprime qu'un faible chaque fois que je clique sur la souris et qu'il ne l'imprime qu'une seule fois. C'est juste pour l'optimisation, afin de ne pas y jouer encore et encore. Maintenant, nous pouvons réellement utiliser cette action de saisie. Laisse-moi juste déplacer tout ça vers le haut. Permettez-moi d'ajouter celui-ci ici. Nous pouvons maintenant l'utiliser pour afficher le curseur de notre souris. N'oubliez pas que le curseur de la souris se trouve à l'intérieur de la manette de jeu. Encore une fois, prenons la manette de jeu. À partir de là, cherchons le widget que nous avons créé. Si vous recherchez la souris et allez en bas, c'est toujours là que se trouvent vos variables. Nous avons créé ce curseur de souris en forme de B à l'intérieur d'ici. Si vous ne vous en souvenez pas, nous revenons simplement au rappel. Accédez au graphique que nous avons créé. Celui-ci s'appelle définir l'image du curseur de la souris. Si je vais dans le lecteur, je fais glisser le pointeur et je dis « définir la souris par image ». Chaque fois qu'il est déclenché, nous allons régler le P pour qu'il soit pressé. Maintenant, au lieu de simplement faire cela, nous devons faire deux choses. Chaque fois qu'il est terminé et qu'il est déclenché. Chaque fois qu'il est déclenché, nous allons le configurer pour qu'il soit appuyé, puis copions-le et collons-le. Et faites-le glisser vers la cible chaque fois qu'il est terminé. Faisons celle par défaut, voyons vraiment ce qui se passe. F p, vous pouvez voir que cela fonctionne réellement, mais cela se déclenche très rapidement. C'est parce que cela déclenche cela ici. Mais chaque fois qu'il sera terminé, ce qui se produit presque immédiatement, il le redéfinira par défaut. C'est en fait ce qui se passe. C'est pourquoi ça ressemble à ça. Maintenant, pour résoudre ce problème, revenons au contexte de mappage d'entrée à l'intérieur d'ici. Ajoutons-en encore une autre. Ajoutons simplement la même chose. Le bouton gauche de la souris, cliquez ici. Cliquez sur le bouton gauche de votre clavier ou sur la souris dans les déclencheurs. Cliquez sur le bouton maintenant, au lieu de simplement appuyer ici. Nous devons également sélectionner Related. Allez-y et faites-le. Enregistrer. Revenons-en au joueur. En fait, tu n' as rien à faire. C'est correct Si je clique sur jouer, maintenant tu peux voir si je clique, je relâche. C'est maintenant correct. C'est Do the mouse. Vous pouvez maintenant voir que l'effet est plus cool avec la souris lorsque nous avons remplacé le curseur par celui-ci au lieu de celui par défaut. Et nous avons également les États pressés. À l'avenir, si vous souhaitez ajouter d' autres états à des widgets de souris, encore une fois, vous devrez entrer dans l'énumération, les plans, puis ajouter les états à l'intérieur d'ici autres états à des widgets de souris, encore une fois, vous devrez entrer dans l'énumération, les plans, puis ajouter les états à l'intérieur d' Ensuite, n'oubliez pas d'accéder à l'interface utilisateur, ouvrir le curseur de la souris et, dans le graphique, sélectionner les bonnes images que vous souhaitez utiliser ici. 105. 12.01 Designing de la carte finale: Très bien, il est maintenant temps de concevoir la carte. Je clique donc sur Play. Tout se présente bien. Nous avons le niveau, la boutique, les pièces, le curseur de la souris. Mais maintenant, concevons également le niveau lui-même. Maintenant, je vais le faire pendant mon temps libre, mais juste pour vous rappeler que nous devons passer en revue les actifs et les environnements. Ici, nous devons passer en revue les actifs et les environnements nous avons cette prison de pierres précieuses en mosaïque que nous avons créée plus tôt. N'oubliez pas que vous pouvez passer configuration de vignettes à l'autre ici. Tu as les accessoires. Si vous souhaitez ajouter des accessoires, par exemple celui-ci, vous pouvez cliquer dessus Vous pouvez également cliquer et faire glisser le pointeur ici et sélectionner les deux. Vous pouvez les ajouter ici. N'oubliez pas de travailler avec la couche avant, la couche de base et les décorations. Vous pouvez toujours créer d'autres couches si vous le souhaitez, car si vous peignez simplement sur la couche de base ici, vos carreaux seront supprimés. Vous devez donc créer une nouvelle couche , puis l'ajouter afin de pouvoir l'ajouter au recto. Si vous voulez que cela apparaisse à l'arrière, vous pouvez toujours cliquer sur cette flèche. Maintenant, il est sous les carreaux, vous ne pouvez donc pas le voir. Je vais supprimer celui-ci pour le moment. Ce que je vais faire maintenant, c'est simplement augmenter la taille de la carte, c' est-à-dire sa largeur et sa hauteur. Par exemple, vous pouvez écrire quelque chose comme 50 par 50 ou ce que vous voulez. C'est peut-être trop grand, mais essayez de trouver la largeur de carte qui vous convient. Le truc, c' est que nous essayons d'éviter tous ces espaces noirs sur le côté, juste de l'adapter davantage. Il suffit de deviner, par exemple. Vous pouvez simplement créer une carte plus grande et essayer d'ajouter quelque chose comme ceci. Et si vous cliquez sur Play, vous pouvez toujours voir où il atteint et vous savez où vous arrêter ici. Mais en gros, je vais agrandir cette carte juste pour éviter les espaces noirs. Nous n'avons pas vraiment besoin de faire autre chose. En gros, il suffit d'agrandir la carte, d' essayer de travailler avec les couches. Allez-y et sélectionnez la vignette. Essayez de peindre la carte comme vous le souhaitez. Maintenant, en gardant à l'esprit que vous disposez de tous ces points d'apparition pour ces objets, vous pouvez toujours, par exemple, simplement avoir une idée, créer des pièces pour ces objets ou créer un trou pour ces objets En gros, faire en sorte que ces objets entrent dans le jeu et que cet ennemi apparaisse peut-être au milieu C'est le centre d' attention de ce jeu. Concevez-le simplement du mieux que vous le pouvez. Il n'y a pas vraiment de règles ici. Je vais juste le concevoir du mieux que je peux. Essaie juste de jouer avec tout ça. Essayez peut-être de jouer avec le corner. Découvrez comment ils travaillent ensemble. Par exemple, celui-ci avec celui-ci, comme celui-ci et celui-ci ici. En gros. Essaie du mieux que tu peux de concevoir la carte et je reviendrai avec toi. Bon, maintenant je suis de retour. J'ai passé environ 30 minutes à essayer de concevoir cette carte. Comme vous pouvez le constater, j'ai conçu la carte. Et c'est ici. Je viens dessiner la carte à l'intérieur de la carte en mosaïque. La largeur et la hauteur de la carte sont de 50. Je viens d'ajouter quelques tuiles aléatoires. Concevez simplement la carte comme vous le souhaitez. Peu importe la façon dont vous le concevez, cela n' affectera pas vraiment ce cours. Essayez simplement d'être aussi créatif que possible et amusez-vous une fois que vous aurez terminé. Et vous pouvez voir ici que j'ai également déplacé les points d'apparition des objets pour qu'ils soient au sol ici Chaque fois que j'achète quelque chose, il apparaît à l'intérieur de ce truc ici Maintenant, je peux augmenter le nombre de lignes d'objets qu'il peut générer ici Je voudrais peut-être l'augmenter. Essayons de le faire. Passons au plan Et c'est ce que nous avons fait dans le mode jeu. Si j'ouvre le mode jeu, et que nous verrons ici nous avons cette fonction de points fixes. À l'intérieur de cette fonction, nous avions des variables locales. Ici, le nombre local de lignes est de deux. Je voulais rester deux. Nous pouvons maintenant avoir le dernier index de la boucle locale. Il s'agit du nombre d' articles. Il s'agit de dix articles. Parce que c'est le cas, souvenez-vous que 0 à 9, c'est dix éléments , moi, essayons d'en ajouter trois Je vais acheter quelques articles. Ici, ça ressemble à ça. Et maintenant, il correspond à la carte. C'est ce que je vais choisir. C'est ma carte pour le moment. De plus, je voudrais augmenter légèrement le chronomètre parce que je trouve qu'il est trop petit et que c'est une question centrale dans le jeu. Fermons ça. Passons à l'interface utilisateur. Ouvrez. Voyons voir ici, l'interface utilisateur principale ici. Cliquons sur le texte. Au lieu de 28, écrivons peut-être 36 et pour l'icône, nous devons l'augmenter, peut-être 60 par 60. Cliquons plutôt sur jouer. Je pense que c'est beaucoup mieux parce que c'est toujours l'objectif principal. Nous pouvons même l'augmenter encore, peut-être 40, et celui-ci est de 60, 64 par 64. Par exemple, en cliquant sur jouer, voici à quoi cela ressemble. Je pense que c'est beaucoup mieux parce que c'est, encore une fois, l' objectif principal du jeu. Tout a l'air bien. Maintenant, si vous voulez changer quoi que ce soit dans le jeu ici, en gros, vous pouvez toujours y aller et ajuster les choses. Mais je l'aime bien tel qu'il est en ce moment. J'aime tout ce qui s'y trouve. Vous pouvez même augmenter le nom et l'état de santé si vous le souhaitez. En fait, je vais le faire légèrement, juste pour que nous puissions mieux le voir. En cliquant ici, au lieu de 28, je vais écrire 32 pour l'appel. Je vais écrire 55, 55 également pour la santé. Je vais plutôt cliquer sur le Health 32. Compilez le com Play. Et maintenant, vous pouvez voir qu'il est beaucoup plus grand et que c'est à nouveau le point central du jeu. C'est donc toujours agréable d' avoir cette interface utilisateur plus grande. Bien, passons maintenant à la suivante. 106. 12.02 Préparation des indices sonores: Très bien, nous sommes maintenant arrivés à un stade où nous pouvons ajouter des effets sonores au jeu, ainsi que de la musique. Et cela va rendre le jeu bien meilleur. Les effets sonores ajoutent près de la moitié de l'expérience du jeu. Vous pouvez voir que même si nous avons créé un jeu amusant, il reste ennuyeux sans aucun son. Et oui, ajoutons des effets sonores pour le rendre plus intéressant. Maintenant, dans le dossier de contenu, je vais écrire, cliquer et créer un nouveau dossier appelé Audio. Et à l'intérieur d'ici, allons-y. Dans le matériel de calcul des coûts, j'ai inclus tous ces effets sonores pour vous dans le matériel de calcul des coûts. Allez-y et ouvrez le dossier SFX. Tout cela, allez-y, sélectionnez-les et faites-les glisser dans le dossier audio. Lorsque vous les insérez, vous voyez tout cela, et d' ailleurs, beaucoup d' entre eux sont très bruyants. Ne cliquez pas sur Play pour le moment, sinon vos tympans pourraient exploser. Vous pouvez toujours baisser le son pour cela, mais le volume est très élevé. Ce que nous voulons faire, c'est créer ce que l'on appelle des signaux sonores à partir de ceux-ci. Commençons par, par exemple, celui-ci appelé achat. Écrivons, cliquons et créons Q pour que vous puissiez le créer ici. Comme j'ai l'habitude de l'appeler, c'est que je supprime ce Q à la fin. Et je l'appelle SC pour sound que. C'est ce qu'on appelle le sound que purchase. Maintenant, je vais double-cliquer sur ce son. Et à l'intérieur d'ici, c'est très simple, nous pouvons simplement en réduire le son. Je vais écrire 0,2, puis je vais cliquer sur Play pour voir si c'est fort ou s'il y a des notes. C'est le son de tout ça. Je peux peut-être en faire 20,4 quelque chose comme ça Nous pourrons toujours ajuster le son plus tard, mais c'est ce que je veux que tu fasses. Par exemple, prenons un autre exemple, celui-ci appelé FX punch, clic droit. Et j'en crée une nouvelle fois. Appelons-le Sound Punch, ouvrez-le plus bas. Le son est peut-être 0,4 Toujours très fort. Peut-être même plus bas. Comme cela va être spammé dans le jeu, peut-être 0,1 ou 0,05, je ne sais pas, nous allons le découvrir Maintenant, voici une méthode pour le coup de poing que vous pouvez utiliser, elle sonne de la même manière si vous cliquez sur l'ennemi Cela devient un peu agaçant comme lorsque vous entendez le même son encore et encore. Pour changer les choses, tu peux toujours frapper à partir d'ici. Vous pouvez voir qu'il n' y a pas grand-chose que vous puissiez faire à l'intérieur d'ici, comme dans les schémas que nous voyons habituellement Mais je veux que tu utilises celui-ci appelé modulateur. Allez-y, sélectionnez-le et connectez-le ici à la place. Maintenant, ce que fait un modulateur, il va modifier la hauteur du son Si vous cliquez dessus et que vous modifiez le ton minimum à 0,9 et le maximum à 1,1, enregistrez tout. Maintenant, si vous cliquez plusieurs fois sur Play, vous pouvez entendre que le son change à chaque fois que vous cliquez sur Play. Ce n'est pas tout à fait le même son. Il essaie de réguler ou modifier la tonalité minimale et maximale. C'est fait pour celui-ci. Maintenant, si nous avons plusieurs sons, par exemple, j'ai celui-ci appelé Death 01020304 Tout cela va de pair. Si je les sélectionne toutes, cliquez avec le bouton droit de la souris pour en créer une seule. Lorsque nous l'aurons créé, je vais simplement le renommer Sound Or Death Allez-y et entrez dedans. Et maintenant, vous pouvez voir qu'il l'a déjà fait pour vous. Cela a créé un nœud aléatoire. Il y a branché tous ces sons. Il va en fait choisir le son au hasard lorsque vous cliquez sur Play. Maintenant, avant de faire cela, réduisez également le son et cliquez sur Play Super Loud. Peut-être 0,10 0,15 Peut-être que 0,2 est vraiment bon. 0,2, c'est bien. Ça a l'air sympa. Maintenant, tout cela va bien. Fermons-le pour le moment. L'Ascension à nouveau, cliquez avec le bouton droit de la souris. Créez un A et supprimez-le. Appelez ça SC, Ascension. Ouvrez-le, réduisez le volume à 0,2 par exemple , fermez-le. Passons ensuite à la suivante , le survol du bouton. Faisons un clic droit pour créer un Q pour celui-ci. Encore une fois, disons que c'est un bouton et réduisons le son 20.2 Ferme-le. Passons à la suivante, qui est le clic droit sur le bouton droit de la souris, pour créer un son comme celui-ci. Vous pouvez voir que c'est la même méthode encore et encore, juste pour réduire le son. Maintenant, en appuyant sur un bouton, je souhaite également ajouter un modulateur. Modulateur pour celui-ci également. Et connectez-le, tonalité minimale et maximale. Réglons-le alors de 20,9 à 1,1. Maintenant, le son est différent à chaque fois que nous appuyons sur le bouton, ce qui est vraiment sympa. Maintenant, nous avons de nouveau Night Death. Clic droit Créez un sound que. C'est une leçon un peu ennuyeuse parce que nous faisons essentiellement la même chose. Mais je veux juste vous montrer comment vous les créez. Juste pour que je sache que vous avez le concept, faisons en sorte qu'un 0,2 sonne bien. Le prochain est le niveau débloqué, cliquez avec le bouton droit de la souris. Créez un que. Renommons-le pour ouvrir le bus déverrouillé de ce niveau. Réduisez le son à 0,2 Fermez-le. Maintenant, le suivant est le clic droit normal déverrouillé. Créez un que, appelez-le Sound que comme ceci, puis ouvrez-le à nouveau, réduisez le son à 0,2 Vous pouvez voir la même méthode encore et encore. Passons maintenant à la musique. Faisons à nouveau un clic droit ici, créons un sound que, appelons-le Sound Music Now pour la musique. Ouvrons-le, et cliquons ici. Assurons-nous d'avoir coché la case. C'est une boucle parce que vous devez mettre la musique en boucle, sinon elle ne bouclera pas et elle s'arrêtera à un moment donné Maintenant, le C, nous l'avons déjà fait. Voici le ou la mort. Nous l'avons déjà fait. Le punch aussi, l'achat. Nous avons fait la mort pour les roquettes. Cliquez avec le bouton droit sur Nous avons presque terminé. Cela a été une leçon ennuyeuse. Appelons-le Sound Q Rogue 0.2 Nous allons nous asseoir. Le squelette. Maintenant, sélectionnons le squelette. Cliquez avec le bouton droit de la souris, créez une seule que. Encore une fois, changeons-le en 0.2 Et je dois également me rappeler de changer le nom de celui-ci. Le dernier est le magicien. Cliquez avec le bouton droit sur Créer. Appelons-le Sound que, ouvre-le. 0.2 Maintenant, je vais régler tous ces volumes pendant mon temps libre, régler tous ces volumes pendant mon temps libre car il suffit de cliquer sur Play ici. Ensuite, écoutez à quel point les sons sont forts, en ajustant simplement le volume lorsque vous avez terminé. Passons à la leçon suivante. 107. 12.03 Ajout de SFX à l'interface utilisateur: Bien, maintenant que vous avez fini de créer tous les indices sonores, revenons à l'interface utilisateur. Maintenant, je veux que tu les prennes un par un. Le premier, je peux voir les informations sur l'ennemi. Nous n'avons pas vraiment d'effets sonores pour ceux-ci, c'est juste du texte et des parties relatives à la santé. La première est la carte de niveau. Chaque fois que nous cliquons sur ce bouton de niveau, cliquons sur le bouton. Allons ici. Et vous voyez ce que l'on appelle appuyer sur Sound and hover. Son Allons-y et changeons cela. Maintenant, si vous cliquez dessus, vous pouvez voir tous les signaux sonores et le son que vous avez importés dans ce moteur. Maintenant que celui-ci est pressé, si nous cherchons simplement appuyer sur Press et que nous sélectionnons celui-ci ici, nous recherchons le survol et sélectionnons celui-ci Compiler. Maintenant, si vous cliquez sur Play et que vous l'essayez, vous pouvez voir que c'est le survol, c'est la presse C'est un peu plus intéressant qu'ils aient des sons ici. Fermons-le. Passons à la suivante. Permettez-moi de supprimer cette carte de boutique juste pour voir ou tester cette interface utilisateur ici. Nous n' avons rien qui fasse vraiment du bruit ici. Fermons-le. Ouvrons l'article de la boutique, Cod. À l'intérieur, nous avons de nouveau ce bouton. Passons à la recherche , en appuyant sur celui-ci. Cherchons le son du survol qui est corrigé. Fermons-le. La dernière est l'infobulle qui ne contient rien non plus. Allons-y et sauvegardons tout maintenant. Avant de terminer, ajoutons également le clic de souris. La meilleure façon d'y parvenir est d'ouvrir les ennemis et d' ouvrir la base ennemie. Souvenez-vous qu'à l'intérieur d' ici, nous avons cliqué. Nous avons également tous ces dégâts appliqués. Effet Spawn Float et effet hit. Faisons-le vraiment ici. Si vous faites glisser le pointeur à partir d'ici, si vous recherchez simplement du son, vous avez ce qu' on appelle Play Sound two D. Vous avez aussi quelque chose que je recherche, Play Sound a quelque chose appelé Play Sound two D, et jouez le son sur place. La fonction Play Sound at location est généralement utilisée normalement. Par exemple, dans les jeux en trois D où un ennemi se trouve loin et où vous pouvez entendre le son au loin à un certain endroit. Cependant, il s'agit d'un jeu en deux D et nous avons essentiellement un son en deux D. Jouons le son en deux D. Il est principalement utilisé pour les éléments de l'interface utilisateur. Vous pouvez également le survoler et il émet un son directement sans atténuation, ce qui signifie que vous ne pouvez pas l'entendre comme si vous veniez de loin ou d'un endroit Il est parfait pour les sons de l'interface utilisateur. Sélectionnons celui-ci pour le son. Vous pouvez continuer et sélectionner le coup de poing. Et allez-y, sélectionnez-le maintenant, vous pouvez le faire comme ça ou vous pouvez aussi simplement le transformer en variable et vous pouvez l'appeler, par exemple, punch sound effect. C'est toujours une bonne chose, car au lieu de le rechercher plus tard dans le jeu lieu de le rechercher sans vous souvenir de qui il s'agit, vous pouvez toujours cliquer ici et modifier l' effet sonore à partir d'ici. Maintenant, nous avons l'effet sonore du punch si je clique sur Play now et que je l'essaie. Maintenant, l'autre chose que nous pouvons faire est que chaque fois que vous débloquez un niveau, allons-y et émettons un son. Je pense que ce sera également beaucoup plus intéressant pour débloquer les niveaux N'oubliez pas que vous l'avez fait en mode jeu. En mode jeu, si je reviens au graphe de ventilation et que nous examinons le niveau de déverrouillage, jouons-y à partir d'ici. Allons-y et faisons-le ici. Faisons glisser le pointeur à partir d'ici. Et encore une fois, jouez à Sound Two D, j'ai inclus deux sons différents pour vous. Si vous revenez à l' audio et que vous l'ouvrez, vous pouvez voir ici que vous avez quelque chose appelé déverrouillage et déverrouillage normal Selon que l'ennemi est un boss ou un ennemi normal, nous pouvons réellement en faire quelque chose. Maintenant, encore une fois, nous pouvons faire glisser le pointeur d' ici et dire « sélectionner », car nous pouvons désormais sélectionner le son, en fonction de la valeur, pour obtenir le statut du prochain ennemi. Par exemple, s'il s'agit d'un boss ou d'un ennemi normal. N'oubliez pas que nous pouvons dire «   obtenir des informations sur l'ennemi ». Allez-y et sélectionnez Obtenir des informations sur l'ennemi. Allez-y et cassez-le. Détruisez la structure à partir d'ici, nous connaissons le type d'ennemi ici. Allons-y et branchons-le. Selon qu'il s'agit d'un boss ou d'un boss, nous pouvons sélectionner, en fait, cliquez avec le bouton droit de la souris ici, pour promouvoir cette variable à la place. Appelons cela Level Unlocked FX. Celui-ci est normal. Faisons un clic droit sur celui-ci et promouvons cette variable. Appelons ça un boss à la fin. OK, nous avons maintenant ces deux broches sélectionnées et non connectées Maintenant, pour ce qui est du nom de l'ennemi, où le trouvons-nous ? N'oubliez pas que nous pouvons toujours cliquer avec le bouton droit de la souris et dire « obtenir des informations sur le niveau ». Allez-y, sélectionnez-le. Maintenant, le niveau à partir duquel nous voulons l' obtenir est le niveau débloqué Allez-y, branchez-le, car le niveau débloqué a toujours une longueur d'avance sur le niveau actuel Dissocions encore une fois. Et maintenant, nous avons le nom que vous pouvez brancher, masquer les broches non connectées Allez-y, rendez-le simplement plus structuré comme ça. Nous avons maintenant cette information. Il ne sera joué qu'une seule fois car chaque fois que nous débloquerons le niveau, le son ne jouera qu'une seule fois. Laissez-nous compiler et enregistrer tout cela. Vous pouvez maintenant y aller et l'essayer. Mais avant cela, ajoutons le son pour le son normal, nous pouvons rechercher le son déverrouillé, déverrouillé et rechercher le son normal Pour le prochain, pour le boss. Allons-y, sélectionnons le boss débloqué, compilons le jeu et essayons-le. Il s'agit du son lorsque vous débloquez un niveau. Si je recommence, vous verrez qu' y a aucun son parce que je joue toujours au niveau 1. Si je reviens au niveau deux, passe au niveau deux, maintenant j'ai le son. Génial. Maintenant c' est le dernier. Quand je tue celui-ci, il devrait jouer l'effet sonore du boss ou le niveau débloqué par le boss Essayons de le faire. Maintenant c'est un boss. Vous pouvez voir que c'est beaucoup plus intéressant de jouer avec. Maintenant, avant de continuer à donner des effets sonores à l'ennemi , allons-y et donnons également un effet sonore à l'achat. Pour l'achat, nous l' avons dans le lecteur. Rappelez-vous encore une fois que nous avons l'article acheté. Allons-y et ajoutons l'effet sonore ici avant de faire quoi que ce soit d'autre. Encore une fois, cliquez avec le bouton droit sur Play. Sonnez deux D, allez-y et ajoutez-le ici. Permettez-moi de cliquer avec le bouton droit de la souris sur celui-ci et dire « Acheter des effets sonores ». Et fais-le glisser vers le bas comme ça. Maintenant, pour celui-ci, cliquons d'abord dessus Compilé et recherchons un achat. Et cela devrait fonctionner, très bien si je clique sur Play et que j' achète quelque chose. Maintenant, je vois que le son retentit. Je vais juste passer à l'audio et le baisser un peu. Je pense que c'est trop fort. Si je l'ouvre, que j'écris 0,4 à la place et que je rejoue, je peux voir qu'il fonctionne également. OK, maintenant nous avons implémenté tous ces effets sonores. Sauvegardons tout maintenant. Ajoutons des effets sonores pour l'ennemi. 108. 12.04 Ajout de SFX à l'ennemi: D'accord, en gros, chaque ennemi peut avoir un effet sonore unique. Pour ce faire, n'oubliez pas que nous avons créé une structure. Si j'ouvre la structure et que j'ouvre les informations sur l'ennemi, nous pouvons y ajouter du son. Parce que n'oubliez pas que chaque fois que vous ajouterez une variable ici, elle sera propre à cet ennemi. Par exemple, si nous cliquons sur Ajouter ici, nous pouvons dire effets, mort, effet sonore. Et si nous cherchons simplement un son, allez-y et sélectionnez ce son. Donc, ce que vous pouvez faire, c'est accéder à Google Sheets. Dans vos Google Sheets, allez-y et ouvrez les informations sur l'ennemi ici sur la droite. Allez-y et écrivez le décès sous forme d'effets que vous venez de provoquer. Maintenant, ce que vous pouvez faire, c'est ajouter des références juste avant. Nous pouvons toujours passer à l'audio maintenant. Maintenant, pour le premier, voyons voir, ce sont les quatre premiers qui sont les suivants, allons-y. Nous avons le C one. Il suffit de le trouver ici, ici, en cliquant avec le bouton droit de la souris. Et puis copiez la référence comme avant. Allez-y et ajoutez-le maintenant. Techniquement, vous pouvez avoir un effet sonore de mort orc unique à chacun d'entre eux Mais je vais juste utiliser le même ici. Parce que j'ai ajouté ici, souvenez-vous que dans le signal sonore, nous en avons ajouté un au hasard, il va juste sélectionner un son de mort aléatoire. Mais en gros, vous pouvez attribuer un son de mort unique à chaque ennemi. Maintenant pour le magicien, je vais encore une fois redescendre ici, trouver le magicien Death, cliquer avec le bouton droit de la souris, copier, référencer, coller ici. Le suivant est le squelette. Trouvons le squelette qui se trouve ici. Je vais le renommer et le supprimer, 01, cliquer avec le bouton droit de la souris, copier la référence et le coller sur Les quatre suivants, ceci, ceci et ceci Nous avons maintenant la mort des voyous et la mort nocturne. Cherchons le voleur. La nuit est arrivée. Copiez la référence passée pour la nuit pour le voleur. Cliquez avec le bouton droit de la souris sur Copier la base de référence pour le voleur. Encore une fois, cliquez sur le fichier, téléchargez-le sous forme de fichier CSV. Maintenant, allez-y et apportez ces informations sur l' ennemi aux tables de données. Et en gros, il suffit de le faire glisser et il devrait contenir toutes les informations. Maintenant, allez-y et économisez. Maintenant, chaque fois que l'ennemi meurt, et cela se produit à l'intérieur de la base ennemie, ouvrons la base ennemie, sauvegardons tout, compilons. Et voyons ici où nous pouvons l'ajouter, afin de faire le maximum de dégâts. Ici, à la fin, nous avons le « Death F », double-cliquez dessus. Et c'est ici chaque fois que l'ennemi joue au dé. Faisons-le vraiment ici. Chaque fois que nous jouons au flip book. Laisse-moi juste jouer le son avant de jouer le flip book. Maintenant, je ne pense pas vraiment que ce soit important que vous jouiez d'abord à une chose ou à l'autre, mais je vais juste le faire de cette façon. Rejouons Sound Two D. Allez-y, connectez-le comme ça. Et allez-y, connectez ces effets à ici. Il va maintenant sélectionner cet effet sonore, en fonction des informations que vous lui avez fournies dans le tableau de données. Alors allez-y et compilez. Cliquez sur Play, et essayons-le. OK, ça marche bien. Très bien, nous avons maintenant le problème du son qui joue souvent. Donc, si vous baissez simplement le volume, cela pourrait devenir ennuyeux. Si vous cliquez sur Acheter quelque chose ici, vous l'avez acheté plusieurs fois. Vous pouvez voir que lorsque l'ennemi meurt, il joue beaucoup de fois. Et c'est un peu embêtant. Allons à la base ennemie ici. Jetons un coup d'œil à la mort. Si je crée juste une chaîne d'impression, imprimez-la simplement pour voir si elle est jouée. Quelques fois, je peux cliquer sur jouer. Je peux à nouveau acheter quelque chose. Je peux voir qu'il joue de nombreuses fois. Allons-y et résolvons ce problème ici. Nous pouvons utiliser ce que l' on appelle un nœud unique. Prenons ceci et disons une fois, puis sélectionnons-le une fois. Ensuite, il va jouer cet effet sonore ou en gros tout ce code ici. Une seule fois, j'achète quelque chose. Vous pouvez voir maintenant que c'est corrigé car il ne sera joué qu'une seule fois. Il s'agit d'une réinitialisation essentiellement automatique. Parce que n'oubliez pas que nous sommes en train de détruire l'acteur. Chaque fois que l'acteur meurt , un nouvel acteur réagit. Ils en auront donc un nouveau, un nœud. Nous n'avons pas vraiment besoin de réinitialiser celui-ci. Tout fonctionne bien ici. Fermons-le et passons à autre chose. 109. 12.05 Ajouter de la musique: Pour terminer l' effet sonore, ajoutons de la musique. Et c'est super simple, donc si nous ouvrons à nouveau le son, nous pouvons y insérer cette musique. Je vais cliquer à nouveau dessus. Réduisez également le son. Je ne sais pas à quel point c'est fort. 0,2, c'est bien, je pense. Laissez-moi le fermer. Maintenant, nous l'avons. Je vais juste dire que d'ici 02h00, peu importe où il se trouve Maintenant, si vous cliquez sur Play, vous pouvez voir que vous pouvez entendre le son. C'est super simple ajouter de la musique et ça va tourner en boucle pour toujours. Tout sonne bien. OK. Allons-y et sauvegardons tout. Et passons à la suivante. 110. 13.01 Designing de l'interface utilisateur d'ascension: Très bien, alors travaillons maintenant sur l'Ascension. En gros, si vous ne le savez pas déjà, ce qu'est Ascension , c'est que chaque fois que vous atteignez une progression, une certaine progression dans le jeu, vous pouvez appuyer sur un bouton de redémarrage. Cela donne une rejouabilité au jeu. Lorsque vous redémarrez le jeu, cela vous inflige plus de dégâts de base. Par exemple, tout inflige 300 % de dégâts en plus. Peut redémarrer le jeu en gros et infliger plus de dégâts. Et vous pouvez continuer car à un moment donné, si vous ne redémarrez pas, le jeu deviendra trop difficile et vous devrez recommencer pour obtenir ce bonus de dégâts afin de continuer les niveaux. OK, allons-y et commençons par le mécanisme de l' Ascension. Donc, la première chose que je veux faire est concevoir l'interface utilisateur et de m'en débarrasser. Passons au dossier de l'interface utilisateur. Faisons un nouveau widget à droite . Appelons cette fenêtre contextuelle Ascension. Et nous travaillerons avec la fenêtre contextuelle dans la prochaine leçon, mais pour l'instant, c'est terminé. Passons au Main. Ajoutons le bouton Ascension ici, et nous le ferons apparaître chaque fois que les critères seront atteints. Commençons par là. Tout d'abord, je veux prendre cette superposition et la faire glisser vers le bas vers le panneau de toile Minimisons simplement tout cela. Nous avons maintenant cette superposition. Je veux que cette interface utilisateur soit A, ici en bas, point d'ancrage, en bas. Montons 00 dans les positions x et y. Maintenant, pour le x, nous devons augmenter 0,5. Pour le y dans l'alignement, nous devons en écrire un. C'est ici sur l'écran. Ensuite, nous avons besoin de l'interface utilisateur. Ajoutons d'abord une image. En ajoutant cette image, ce sera l'image de fond. Ce sera le même que celui-ci. Je vais juste copier cette image. Cliquez ici, collez-le. Maintenant c'est terminé. Ensuite, nous voulons une boîte verticale. Ajoutons une boîte verticale à cette superposition. Ce que je veux, c'est du texte et un bouton en dessous. Ajoutons du texte. Je vais juste en copier un. Par exemple, celui-ci, contrôle C, descendez ici, contrôlez V dans la case verticale. Ajoutons également le bouton, et nous pouvons l'ajouter en accédant simplement à cette carte de niveau. Nous pouvons cliquer sur tout cela, le copier-coller ici dans la case verticale. Et je peux retirer ce crâne. Maintenant c'est tout. Cliquons sur cette image. Faisons-le remplir horizontalement et verticalement. Maintenant, cliquons ici sur la superposition. Et laissez-nous simplement redimensionner les éléments, ou en gros, vous pouvez simplement les dimensionner en fonction du contenu Je pense que je vais plutôt le faire. Ensuite, nous pouvons ajouter du texte pour ce bouton. Je vais écrire Ascend ici. Ici, nous pouvons écrire Ascension disponible. Maintenant, pour le texte d' arrière-plan, je vais en fait copier cette couleur de contour. Descendez ici et collez-le pour celui-ci afin qu'ils aient la même couleur. Nous pouvons également cliquer sur cette case verticale et lui donner un peu de rembourrage Si vous écrivez quelque chose comme 50, peut-être pas tant que ça. Si nous cliquons à nouveau ici, écrivons 30. Peut-être que quelque chose autour de 30 ou 35 est quelque chose comme ça. Je trouve que ça a l'air sympa. Donnons-lui maintenant un peu d'espacement en bas pour qu'il ne touche pas le bord Et c'est la position en position Y -30, le X. Écrivons zéro. Encore une fois, allez-y et compilez. Vous pouvez cliquer sur la plaque pour voir à quoi elle ressemble. Je pense que ce texte semble peut-être trop long. Au lieu de 24, écrivons-en un. Donnons-lui également un peu d'espace. Je vais juste cliquer ici. Donnez-lui un peu de rembourrage en bas, par exemple quatre, compilez et cliquez sur Play Je pense que c'est sympa. Maintenant, cette ascension est disponible, et nous avons également un effet sonore pour le bouton, c'était tout pour cette interface utilisateur. Fermons-le et passons au suivant. 111. 13.02 Designing the Ascension popup: Bien, maintenant il est temps de concevoir l'Ascension Pub. Et nous pouvons le faire facilement en copiant simplement ceci pour le moment. Copiez tout ce que nous avons fait dans la dernière leçon et ouvrez l'Ascension Pub Up. Accélérez ça ici. Maintenant, au lieu d'ici. En fait, ajoutons un panneau de toile. C'est pourquoi il a l'air si énorme. Ajoutez un panneau de toile , puis ajoutez-le ici. Assurez-vous que lorsque vous cliquez sur la superposition, celle-ci est ancrée au milieu Et 0,5 dans l'alignement pour les X et Y. Et aussi 00 dans les positions X et Y. Et ici, sélectionnez ce que vous souhaitez à l'écran. Très bien, donc ce que je veux faire ici, c'est que vous recommencerez votre progression, mais avec 300 % de dégâts supplémentaires Par exemple. Nous pouvons toujours écrire un nombre dynamique pour ce pourcentage de dégâts, mais pour l'instant, écrivons-le comme suit. Si vous voulez le réduire un peu dans la largeur, vous pouvez toujours descendre ici et dans l'emballage, vous trouverez ce texte d'emballage. Je vais juste augmenter ce chiffre et nous pouvons essentiellement encapsuler ce texte à un certain nombre. Résumons le tout à quelque chose comme 360. Je peux voir que l' image est en fait floue en arrière-plan au lieu de l'image Remplaçons-le en boîte et écrivons 0,5. Ça a l'air beaucoup mieux. Faisons-le également dans l'ensemble. Je ne pense pas que nous l'ayons fait. revenant en arrière, en cliquant dessus, en le changeant en case et en écrivant 0,5 Revenons en arrière. Maintenant, ici, je vais dupliquer ce bouton, mais nous en avons besoin dans une boîte horizontale. Je vais chercher une boîte horizontale. Allez-y, ajoutez-le ici. Et ajoutez ce bouton à la case horizontale. Et dupliquez cette superposition. En cliquant sur le contrôle D, nous pouvons cliquer sur la première superposition. Cliquez sur Phil. Cliquez sur la deuxième superposition. Cliquez sur Phil. Maintenant, le premier va dire « Oui », c'est bon. Le second va dire « annuler », parce que nous voulons revenir en arrière. Si nous ne voulons pas continuer, nous pouvons cliquer dessus. Nous pouvons changer la couleur pour la rendre un peu plus unique. Le bouton d'annulation est un peu plus rouge, quelque chose comme ça ici. Et je vais également copier cette couleur sur le survol et sur le pressoir, pour le as Je vais également changer la couleur pour quelque chose d' un peu plus vert comme celui-ci. OK, passons aux autres. Vous l'avez ici. Si je compile et enregistre, c'est maintenant terminé. Passons à la suivante. 112. 13.03 Ouverture de la popup d'Ascension: Très bien, il est maintenant temps d'ajouter cette fenêtre contextuelle d'ascension à l'interface utilisateur. Si je reviens au contrôle du joueur, souvenez-vous que c'est ici que nous avons créé toute l'interface utilisateur et nous avons créé cette fonction de widget d'affichage et de masquage. Ouvrons la fonction show widgit. Nous nous rendrons compte qu'il faut l'ajouter à l'énumération. Allons-y et faisons-le. Ouvrons le, passons aux widgets du jeu. Additionnons l'Ascension. Sauvegardons ici et revenons à la manette du joueur. Et maintenant tu vois que tu as une épingle pour ça. Copions maintenant ce widget partiel et cherchons, voyons voir ici, la fenêtre contextuelle Ascension, cliquez avec le bouton droit de la souris. Promouvez-la en variable et appelez-la ascension pop up, comme avant. Prenons cette fenêtre contextuelle d'ascension et convertissons-la en un get validé lorsqu' elle n'est pas valide. Nous allons créer l'interface utilisateur. Cependant, chaque fois que c'est valide, faisons glisser le pointeur à partir d'ici et disons « ajouter au point de vue ». Nous allons l'ajouter à l'écran. Si c'est valide, allons-y et ajoutons-le simplement à l'écran. Cela n'a aucun sens de le créer s' il est déjà valide. Ajoutons celui-ci ici et ajoutons-les vers le haut. Revenons maintenant au widget de masquage ici. Ce que nous devons faire, c'est que chaque fois que nous fermons le widget, faisons glisser cette fenêtre contextuelle d'ascension, cliquez avec le bouton droit de la souris, convertissez-la en un get validé connectez-la et supprimez-la du parent. Chaque fois que nous voulons le fermer, nous pouvons le supprimer de l'écran en disant « Supprimer du parent ». Je sauvegarde tout. Nous sommes maintenant prêts à l'utiliser. Passons aux plans, ou plutôt à l'interface utilisateur Maintenant, cela se produit chaque fois que je clique sur le bouton dans le widget principal. Si je vais ici, avec ce bouton ici, je vais changer le nom en Button Ascend Je vais voir le graphique. Vous pouvez maintenant cliquer dessus et cliquer sur l'événement sur lequel vous avez cliqué Que doit-il se passer lorsque vous cliquez sur ce bouton ? Ce qui devrait se passer, c'est que je veux récupérer ma manette de jeu et afficher le widget, le menu contextuel. Je peux voir ici que je n' ai pas de variable de contrôleur de joueur. Je vais en fait le créer ici dans la structure de l' événement comme celle-ci. Faisons comme avant d' obtenir la manette du joueur, puis obtenons la référence de la manette de jeu à partir de l'interface Blueprint Et cliquez avec le bouton droit de la souris pour le transformer en contrôleur de lecteur à appels variables. Maintenant, nous l'avons. Allons en bas. Faisons glisser cette manette de joueur et disons Afficher et masquer les widgets. Allons-y et sélectionnons Canine Pop up. Cliquons sur Afficher. Mais nous voulons également masquer le menu principal. En fait, en gros je vais aussi le faire glisser et dire Afficher et masquer les widgets. Je vais masquer l'interface utilisateur principale. C'est déjà assis comme ça. Compiler. Si vous cliquez sur Play, vous cliquez sur l'assentiment, vous pouvez voir qu'il apparaît. Faisons exactement la même chose ici. Supprimons cela de l'écran. Chaque fois que nous cliquons sur un crayon, appelons-le «   crayon bouton-haut » ici. Passons au graphique et cliquez sur «  Supprimons tout cela pour le moment ». Encore une fois, nous avons besoin de la manette de jeu. Allons-y donc et élaborons cette construction d'événements. Je vais juste le copier à partir de la page principale. Il suffit de copier tout cela et de le coller ici. Comme avant, n'oubliez pas de cliquer sur cette ligne de commande de vol créée sous forme de variable comme celle-ci. Alors maintenant, nous l'avons. En fait, copions-collons ici. Nous n'avons pas besoin d'écrire les mêmes choses encore et encore. Chaque fois que nous cliquons sur le bouton Annuler, nous voulons ouvrir l'interface utilisateur principale, mais nous voulons fermer la fenêtre contextuelle Ascension. Essayons ça. Ouvrez-le, cliquez sur Annuler, et je peux voir qu'il fonctionne très bien. Allez-y, sauvegardez tout, et passons à la suivante. 113. 13.04 Paramétrage de l'événement de jeu de redémarrage: Bien, maintenant, chaque fois que nous cliquons sur le bouton Ascend ici, je vais supprimer la musique juste que nous puissions travailler ici sans la musique Je vais juste cliquer dessus. Puis cliquez sur le multiplicateur de volume à zéro. Et si je clique sur jouer maintenant, chaque fois que je clique sur Ascend et Ascend ici, je veux redémarrer le C'est essentiellement ce que je veux faire. Il s'agit essentiellement de redémarrer le jeu et d' infliger des dégâts supplémentaires au joueur Allons-y et redémarrons le jeu. La façon dont nous procédons, faisons-le en mode jeu, car c'est là que cela prend le plus de sens ici. Faisons un clic droit pour créer un nouvel événement personnalisé. Appelons ça un redémarrage du jeu. Nous devons redémarrer de nombreuses variables , car nous devons en fait redémarrer toutes les variables avec lesquelles nous avons travaillé jusqu'à présent. Pas tous , mais ceux qui sont très importants et affichés à l'écran. Commençons par exemple par le niveau que vous avez débloqué et le niveau actuel Permettez-moi simplement de faire glisser ce niveau déverrouillé, faire glisser vers l'intérieur et de le régler sur un Encore une fois, c'est ce que c' était depuis le début. Il en va de même pour le niveau actuel. Faisons-le glisser et définissons-le sur un. Supprimons également tous ces boutons ici. Lorsque vous avez tous ces boutons, vous devez les supprimer. Faisons-le en nous procurant la manette du joueur. Trouvons le Maui. Allez-y, prenez-le. Ensuite, nous devons obtenir la liste des niveaux. C' est ainsi que nous l'avons appelé. Si vous ne vous souvenez pas comment vous l'avez appelé, vous pouvez toujours ouvrir le Maui Vous pouvez cliquer sur cette liste et vous l'avez appelée liste de niveaux. Nous allons recevoir ce menu. Nous allons obtenir la liste des niveaux. Allez-y, prenez-le. Nous pouvons en tirer un enfant clair. Nous allons supprimer tous les composants « enfants dans cette liste. Chaque fois que je les supprime tous, souvenez-vous que nous supprimons également le niveau 1. Nous devons également ajouter le niveau 1. Nous pouvons le faire directement à partir de la manette du joueur et nous avons celle-ci appelée interface utilisateur à boutons. Si vous ne vous en souvenez pas , c' est normal car nous travaillons sur ce sujet depuis un certain temps et parfois j'oublie aussi comment je l'ai appelé. C'est toujours agréable de revenir en arrière et de voir une interface utilisateur à boutons. En gros, cela ajoute ce niveau actuel à la liste des serveurs. Si je reviens au mode jeu et que nous ajoutons cette interface utilisateur à boutons de niveau, c'est le niveau 1. En gros, le niveau débloqué que nous avons ici. Faisons glisser le niveau déverrouillé et ajoutons-le. Nous avons maintenant les bons niveaux. La prochaine chose sur laquelle nous voulons travailler est le nombre de pièces dont dispose le joueur. Nous avons besoin d'une référence au joueur, et je vois que nous n'avons pas de variable pour le joueur. Ajoutons-en un ici. Laisse-moi faire traîner tout ça. Maintenant, celui-ci en est au début de la partie. Au début de la partie, cliquez avec le bouton droit de la souris et dites « obtenir le personnage du joueur », disons « obtenir la référence du joueur depuis l'interface du plan Allez-y, connectez-le. Faisons un clic droit pour promouvoir cette variable appelée pion du joueur Reconnectons-nous à celui-ci et repoussons-les à nouveau, Compilez. Maintenant, ce que nous pouvons faire ici, c'est affronter ce joueur et nous pouvons dire le nombre de pièces. Nous pouvons définir le nombre de pièces à zéro, mais nous devons également mettre à jour l'interface utilisateur. Je ne me souviens pas tout à fait de la logique ici. Si je reviens au joueur, ouvre le joueur ici, nous avons mis à jour le nombre de pièces. Et c'est celui-ci dans le WB main, nous l'avons appelé update coins amount Copions simplement cette partie du code. Revenons au mode de jeu, collez-le. En gros, nous n'avons pas besoin d'écrire plus de code. Nous pouvons simplement copier-coller ceux que nous avons déjà et les connecter. Créez un nœud de route arrière comme celui-ci. Et maintenant c'est réglé. OK, la prochaine chose que nous voulons également corriger est le nombre d' articles que nous avons achetés ici. Nous devons donc également le redémarrer. Pour le port des objets, nous avons également cette place variable à l'intérieur du joueur. Si je reviens au mode jeu, je copie le plan du joueur ici, je le cherche l'avance et je le trouve correctement à partir d'ici. Et puis dites « clair », vous effacerez toutes les valeurs de cette carte chaque fois que je les effacerai. Je souhaite également mettre à jour l'interface utilisateur. Lorsque vous mettez à jour l'interface utilisateur des fiches articles, vous recréez simplement tous les articles Parce que n'oubliez pas que lorsque nous avons créé les fiches d'articles de la boutique, nous avons essentiellement effacé les cartes précédentes. Nous pouvons continuer et revenir au mode jeu. Nous pouvons prendre la manette du joueur ici et nous pouvons faire glisser et dire « Créer des cartes d'articles de boutique ». Allez-y, connectez-vous. Enfin, nous devons également mettre à jour le DPS du joueur Nous devons rétablir le DPS total et les dégâts causés par le curseur. Revenons au mode de jeu. Reprenons le joueur comme ça. Prenons le DPS total, mettons-le à zéro, car c' est ce qu' il est par défaut Prenons l'endommagement du curseur et définissons le niveau d'endommagement du curseur. Maintenant, les dégâts du curseur sont de 15, je crois. Donc, si vous cliquez dessus, vous pouvez voir la valeur par défaut que vous avez définie pour votre jeu. Et je vais juste le remettre à 15, ce qui est la valeur par défaut pour mon jeu ici. Et nous pouvons simplement faire une note d'art arrière et tout est parfait. OK, donc la dernière chose est que nous voulons définir le niveau actuel dans lequel nous nous trouvons, car nous avons ce niveau actuel défini et il fait apparaître l'ennemi pour ce niveau et commence au moment où nous en avons besoin Revenons ici. Disons définir le niveau actuel. Ajoutons le niveau dans lequel nous nous trouvons au niveau actuel. Le niveau actuel, nous avons redémarré à un. Encore une fois, si vous vous souvenez du premier, niveau actuel défini sur un devait être défini sur un Nous en avons maintenant terminé avec ce redémarrage du jeu. Voyons vraiment si cela fonctionne. Si nous y retournons, voyons voir si je ferme tout ça. J'ouvre l'interface utilisateur. J'ouvre cette fenêtre contextuelle d' ascension. Je clique sur cette ascension, je descends et je clique sur le bouton cliqué pour cette ascension Je vais copier tout cela parce que nous devons afficher l'interface utilisateur principale et nous devons également supprimer la fenêtre contextuelle Ascension. Lorsque nous cliquons sur ce bouton, changeons son nom. Ce n'est pas le niveau des boutons, c'est l'ascension des boutons. Retournons en arrière. OK, ici, nous voulons également redémarrer le jeu. Je vais cliquer avec le bouton droit de la souris et dire « obtenir le mode de jeu », puis « obtenir la référence au mode de jeu ». Ensuite, je vais dire redémarrez le jeu. Cela devrait très bien fonctionner. Allez-y, sauvegardez et laissez-nous jouer et essayer. Ennemi. J'achète quelque chose ici et je passe au niveau supérieur. Si je clique sur « assentiment » puis sur « monter », vous pouvez voir que le chronomètre redémarre Cela redémarre le nombre d'articles que j'ai achetés. Cela relance également la progression des niveaux ici et le nombre de pièces dont je dispose. Essayons encore une fois. Si je dis simplement à l'ennemi que j' achète quelque chose dans les magasins, nous recommençons et tout fonctionne bien. C'était tout pour redémarrer le jeu. Et passons à la suivante. 114. 13.05 Afficher l'ascension à la fin de partie: Ce que nous voulons maintenant nous assurer, c'est que lorsque vous cliquez sur jouer, nous voulons nous assurer que cette ascension disponible ne s' affiche que lorsque le joueur a atteint la fin de la partie. Par exemple , selon mes critères, chaque fois que le joueur a acheté tous les objets pour un certain montant , cette ascension disponible sera affichée. Allons-y et faisons-le. Faisons-le dans le mode jeu. Ouvrons le mode de jeu à l'intérieur d'ici. Créons une nouvelle fonction. Appelons cette fonction lorsque les critères sont remplis. Par exemple, il va vérifier si les critères sont remplis. Et puis il va afficher ce widget maintenant pour s'assurer qu'il est masqué dès le début. Passons à l'interface utilisateur. Tout d'abord, ouvrons l'interface utilisateur principale. À l'intérieur de l'interface utilisateur principale, cliquons ici. Ici, sur la couverture de l'Ascension. Je vais simplement changer le nom de cette superposition parce que nous allons la masquer Il est donc toujours agréable de connaître son nom Je vais l'appeler Overlay Ascension et le définir comme variable C'est également un point de départ dans le domaine de la visibilité. Au lieu de ne pas appuyer sur testable, définissons-le sur collapsed Ce n'est pas le cas à notre avis. Si vous jouez le clip maintenant, vous pouvez voir qu'il n'est plus affiché. Nous allons le montrer chaque fois que ces critères seront remplis. Maintenant, les critères, chaque fois que vous aurez acheté un certain nombre de ces articles, indiqueront que nous avons besoin de la carte des objets. C'est à l'intérieur de notre lecteur. Trouvons ou obtenons une référence au joueur, et nous l'avons déjà ici. Continuez à jouer. Sortons-le et disons où se trouvent les objets. Récupérons cette carte que nous avons créée précédemment. Maintenant, nous devons en récupérer toutes les clés. Les valeurs sont essentiellement appelées clés. Toutes les clés sont là. Nous pouvons également voir leurs valeurs. Partons d' ici, répétons les touches et faisons glisser le pointeur, puis connectons-nous ici Maintenant, nous avons toutes les clés. Ce que je veux d'abord vérifier, c'est si nous avons tous les articles ? Parce que cela n'a pas vraiment d' importance de boucler tout cela et vérifier combien d'articles nous avons si nous n'en avons même pas. Juste pour des raisons d'optimisation, vérifions d'abord si le joueur possède tous les objets avant de les parcourir en boucle et de voir combien il y en a de chaque objet. Supposons que la longueur soit cette longueur, est-ce égal ? Allez-y, sélectionnez-le. Cela correspond-il au nombre d'articles que vous avez dans la boutique ? Et comment obtenons-nous le nombre d'articles de boutique dont nous disposons ? C'est en fait super facile car nous pouvons maintenant, dans le mode jeu, définir cela dans le joueur au début. Jouez ici en mode jeu après avoir défini les pions et les points d'apparition Faisons-le avant de faire apparaître l'ennemi. Déconnectez celui-ci et partons d' ici et disons obtenir une table de données. Jusqu'à présent, nous avons utilisé celui-ci. Obtenez la ligne du tableau de données , mais utilisons maintenant celle-ci. Obtenez les noms des lignes des tables de données. Nous allons obtenir les noms de toutes les lignes de la table de données pour la table de données d'information. Voici tous les noms des articles ainsi que leur longueur, cela vous indiquera combien d'articles nous avons. Par exemple, si vous avez 11 articles, il sera indiqué 11. Faisons un clic droit sur celui-ci et faisons-en une variable et appelons-le quantité d'articles de la boutique. Allez-y, connectez-le. Maintenant, comme ça, connecte-le également. Maintenant, ce que nous pouvons faire, compilons. Si vous voulez voir ce qu'il fait, vous pouvez toujours créer une chaîne d'impression. Utilisez toujours une chaîne d'impression si vous voulez voir ce que vous faites. C'est un indicateur. Vous pouvez cliquer sur jouer, et il est écrit 11 en haut à gauche. Cela fonctionne parfaitement. Compilons. Revenons aux critères remplis. Mettons cette quantité d'articles de boutique ici, puis créons une succursale. Ce que nous faisons essentiellement, c'est obtenir les clés des objets, nous en prenons la longueur. Nous vérifions essentiellement combien de ces articles nous avons achetés. Et nous le comparons au nombre d'articles de la boutique. Si le nombre d'articles que nous avons achetés est égal au nombre d'articles de la boutique, cela signifie que j'ai acheté tous ces articles au moins une fois. Une fois que je saurai que j'ai acheté tous ces articles au moins une fois, la longueur du pot sera la même que le nombre d'articles de la boutique. Si c'est vrai, allons-y et continuons le code. Si ce n'est pas vrai, nous le pouvons, nous pouvons simplement le laisser parce que nous ne voulons rien faire. Continuons à partir d'ici. Et maintenant, nous voulons faire glisser les valeurs à partir d'ici Ou vous pouvez simplement, juste pour le rendre plus clair, vous pouvez toujours faire glisser à nouveau le pointeur ici , puis faire glisser et énoncer des valeurs. Vous obtenez maintenant les valeurs de ces clés. En gros, les clés sont ici et les valeurs sont là. Maintenant, vous jouez sur les valeurs ici. maintenant aux valeurs que vous allez dire pour chaque boucle avec Brick. En prenant celui-ci, nous voulons vérifier si nous en avons acheté une certaine quantité. Par exemple, supposons que le joueur doive acheter au moins dix articles de chaque objet Par exemple, supposons que le joueur doive acheter au auparavant. L'ascension apparaît. Nous allons examiner toutes les valeurs des articles et vérifier si elles correspondent au montant du bot. En gros, quel que soit ce que nous définissons, si je dis s'il est supérieur ou égal à ce que j'écris ici, par exemple, s'il est supérieur ou égal à dix et je peux créer une branche. Ensuite, ce que je veux faire, c'est créer un compteur. Faisons une variable locale. Et je vais juste l' appeler comptoir local. Ce sera juste un compteur qui comptera pour moi. Cela commence à zéro. Nous allons dire ce compteur plus plus. Chaque fois que nous constaterons que ce critère est rempli, nous en ajouterons un à ce compteur. Si nous avons acheté dix articles de chacun de ces articles, alors ce compteur devrait être de 11, car nous en avons 11. Chaque fois qu'il y a 11 dans la version terminée, cela les parcourt toutes en boucle et c'est ce L plus local, ce qui signifie en gros plus un. Si c'était zéro, ce sera un. S'il y en avait un, il y en aurait deux, et ainsi de suite. Ça va les traverser en boucle. Et si ce comptoir local est égal au nombre d'articles de la boutique, qui est de 11, en gros, ce compteur sera de 11 si nous avons acheté une certaine quantité d' articles pour chacun de ces articles, parce que nous en avons encore 11, créons une succursale et disons : est-ce vrai ? Si tel est le cas, nous voulons dire que les critères sont remplis. Je vais en fait créer une nouvelle variable ici. Et c'est juste un lingot appelé critère d' ascension rempli. Et changez-le en lingot, connectez-le ici et configurez-le pour qu'il soit vrai Oui, ça devrait être ça. En fait, c'est ce que nous faisons ici. Faisons une pause, d'ailleurs, car nous n'avons pas besoin de le parcourir en boucle sans le casser. Parce qu'ici, nous utilisons un pour chaque boucle avec pause. Et cela signifie que nous allons boucler ce code. Cependant, cela n'a aucun sens de continuer à les parcourir en boucle Si nous découvrons que n'en avons pas acheté dix pour la plume légère, pourquoi devriez-vous toutes les parcourir en boucle Parce que ça ne va pas se voir de toute façon. Parce que celui-ci n'en a pas dix. Au lieu de cela, c'est essentiellement pour l'optimisation, sorte que vous ne parcourez pas le code sans aucune signification. Si nous le parcourons en boucle et que nous découvrons que l'un des articles n'en contient pas dix. Mais comme nous l'avons écrit ici, nous pouvons faire glisser le pointeur ici et dire pause. Nous sommes en train de briser la boucle. Ce que nous voulons dire, par exemple, c'est que nous sommes en train de parcourir en boucle, de regarder la plume légère Il dit, par exemple, que oui, nous en avons acheté dix. Ensuite, nous allons utiliser le comptoir local. Ensuite, il jette un coup d'œil à la torche. Et peut-être n'en avons-nous acheté que neuf. Il dira faux, vous n'en avez pas acheté dix. Si c'est faux, nous allons simplement rompre la boucle. Nous ne faisons donc plus cela en boucle parce que cela n'a aucun sens. Nous n'avons pas acheté tous les articles dix fois. Cela va briser la boucle et cela va se terminer. Le compteur local n'est pas égal au nombre d'objets à emporter, car il n'y en avait peut-être que deux ici Alors ce sera faux et rien ne se passera. Les critères d'ascension ne seront satisfaits que lorsque le comptoir local est égal au nombre d'articles de la boutique. Vous devez maintenant vous demander où il est judicieux de vérifier cela ou d' appeler cette fonction ici ? Maintenant, c'est essentiellement dans l'article d'achat que cela a le plus de sens . Revenons-en au joueur. C'est ici que nous l'avons fabriqué. Nous avons cet article d'achat. Chaque fois que nous achetons un article, nous devons vérifier si les critères sont remplis. Faisons-le ici. À la fin, c'est en mode jeu, nous devons donc prendre le mode jeu et dire ascension. Et prenons ce critère d' ascension, nous allons l'appeler chaque fois que nous achetons quelque chose parce que nous devons vérifier, si nous devons montrer l'ascension, le ferait-il. Maintenant, si vous cliquez sur Jouer et que vous les achetez tous, cela ne s'affichera pas. Parce que n'oubliez pas que nous avons défini la superposition Ascension. Donc, si je reviens à l'interface utilisateur principale, nous configurons cette superposition pour qu'elle soit réduite. À un moment donné, nous devons le montrer. Revenons maintenant au mode de jeu, ici dans les critères d'Ascension, et maintenant montrons cette superposition N'oubliez pas que cette superposition se trouve à l'intérieur de WB main, qui contient la référence à l'intérieur de la manette du joueur Si je prends juste la manette du joueur et que je recherche WB main, je l'obtiens et ensuite j'obtiens l'ascension en V. C'est essentiellement comme ça que je l'ai appelé. Ensuite, je peux dire définir la visibilité. Réglons la visibilité pour qu'elle ne soit pas testable. N'oubliez pas que le visible bloquera essentiellement clics de votre souris et nous ne voulons pas le faire. Faisons-le de manière testable, compilons et sauvegardons. Maintenant, juste à des fins de test, écrivons-en un. Si je désactive les sons avant de cliquer sur Play, je pense que ce serait ennuyeux pour vous que je continue à jouer les sons ici, dans la base ennemie. Chaque fois que l'ennemi meurt. Je vais juste désactiver cette option Play sound to D. Pour l' instant, cliquez sur Play. Je vais juste acheter. Chaque article. Maintenant, c' est le dernier et je vais l'acheter. Je vois que rien ne se passe, même si cela devrait se produire. En fait, c' est une bonne occasion essayer de le déboguer ensemble et vous pourrez voir comment je le débogue Allons-y et revenons au mode de jeu. En gros, l'erreur se produit ici. Faisons imprimer des notes à cordes. C'est ce que je fais habituellement pour déboguer ici. Écrivons une chaîne d'impression. Disons si le code passe. En gros, ce que je regarde, c'est que le code passe ? Si c'est le cas, cela signifie que cela fonctionne. Écrivons d'abord ici, par exemple, peu importe. Ce que vous écrivez ne fait aucune différence. Permettez-moi d'écrire, par exemple, en second lieu. Chaque fois que je lis le code ici, ce qu'il affiche ici s'il indique « second », cela signifie que la longueur de ces clés est égale à celle des articles de la boutique, ce qui signifie que le code fonctionne avant que je ne continue. Essayons simplement de le faire. Maintenant, en disant le premier c'est bien, devrais dire le second chaque fois que j'achète le dernier. Mais vous pouvez voir que c'est en fait dit en second. Chaque fois que j'ai acheté celui-ci, je ne l'ai pas encore acheté. Donc, en fait, j'ai le nombre d'articles de la boutique déjà le nombre d'articles de la boutique avant d' acheter le dernier article. Soit j'ai une valeur par défaut à l'intérieur de cet endroit par erreur, que je vais examiner dans une seconde, soit le nombre d' articles de la boutique est incorrect. Jetons d'abord un coup d'œil à la quantité d'articles de la boutique. Je vais juste supprimer la chaîne d'impression. Je vais revenir au graphique des événements du mode jeu. Je vais imprimer la quantité d'articles de boutique que je reçois réellement, est-ce 11, ce que je suis censé obtenir. Il est écrit 11. Il y a un problème avec l'autre variable, problème avec le point de l'élément. Si je retourne au joueur et que je clique sur les objets, mais que je peux voir ici, c'est en fait une erreur. Par défaut, j'ai cliqué sur le signe plus et ajouté un élément vide au hasard Et je peux cliquer sur Supprimer ici, puis sur Compiler et jouer. Essayons à nouveau maintenant. Si j'achète un article de chaque article, cela fonctionnera maintenant. Et cela va également me montrer l'Ascension disponible. Je peux cliquer sur Ascend et monter ici, puis redémarrer le jeu Maintenant, nous devons le cacher à nouveau Chaque fois que nous ascensionnons, faisons-le très rapidement Nous pouvons le faire. Fermons ça. Revenons à l'interface utilisateur. Et ouvrons cette fenêtre contextuelle ici. Faisons-le ici chaque fois que nous cliquons sur Ascend, ici chaque fois que nous cliquons sur Ascend et redémarrons le jeu Faisons-le avant de recommencer le jeu. Reprenons la manette du joueur. Passez-le, accédez à la page principale de la Banque mondiale. Alors revenons à V Ascension. Alors éloignons-nous encore davantage de cette question. Nous voulons essentiellement définir la visibilité comme avant, mais maintenant nous voulons définir la visibilité pour qu'elle soit réduite comme avant , réduite, puis connecter celle-ci. Et puis ça devrait très bien fonctionner. OK, maintenant tout fonctionne et passons au suivant. 115. 13.06 Créer la structure d'ascension: Ce que je veux faire maintenant, c'est créer le multiplicateur pour l'Ascension. Chaque fois que nous passons à un nouveau niveau ou que nous redémarrons le jeu, j'ai envie de m'infliger plus Par exemple, le joueur doit subir 300 % de dégâts en plus qu'avant, et tout inflige 300 % de dégâts en plus Définissons le multiplicateur et nous pouvons le faire très facilement grâce à une nouvelle structure et à un tableau de données. Revenons aux structures et cliquez avec le bouton droit sur Blueprints , puis créons une nouvelle structure Appelons celle-ci Sainte-Ascension. Vous pouvez également appeler le multiplicateur d'Ascension , et c'est ce que c'est. Ouvrons-le plutôt qu'ici, transformons-le en float. Et en gros, ce que nous voulons faire, c'est simplement avoir le multiplicateur de dégâts d'Ascension. C'est la seule valeur dont nous avons besoin. Maintenant, fermons-le. Passons aux tables de données et faisons un clic droit sur Table de données diverses. Et sélectionnons la structure que nous venons de créer. Vous pouvez voir dans le plan que vous faites essentiellement la même chose encore et encore. Et chaque fois que vous devenez vraiment bon dans ce domaine, vous pouvez créer vos propres mécanismes en utilisant simplement les outils que vous avez appris. Celui-ci s'appelait simplement ascension. Pour celui-ci, sauvegardons et ouvrons maintenant les Google Sheets. En gros, ici, faisons-en un nouveau. Je vais juste dupliquer cet objet pour, par exemple, appeler ce nouvel objet T, ascension. Supprimons tout maintenant. Car l'identification indique à quel niveau d'ascension nous nous trouvons. Nous commençons par le niveau zéro car nous n' avons aucune ascension. En gros, vous pouvez le comparer au nombre d' ascensions que nous avons effectuées ou à partir de 01, et vous pouvez continuer jusqu'au nombre que vous souhaitez Ensuite, vous pouvez dire multiplicateur de dégâts. En gros, vous devez l' appeler du même nom, Ascension Damage Multiplier. Donc le même nom que celui que vous avez écrit dans la table de données. Maintenant, pour ce qui est du multiplicateur, il doit être de un lorsque vous aucune ascension, car vous allez tout multiplier par un, qui signifie que vous ne subissez que les dégâts que vous venez de subir , c'est-à-dire les dégâts de base que vous avez définis ici dans les informations de votre objet, tout multiplié par un Maintenant, chaque fois que nous montons, vous pouvez par exemple dire trois Cela signifie que vous subissez désormais trois fois plus de dégâts qu'auparavant. Ensuite, vous pouvez dire, par exemple, sept. Et je vais juste écrire des nombres aléatoires, je vais dire ceci multiplié par 1,5 ou peu importe. Et vous pouvez simplement faire glisser le pointeur vers le bas, puis cliquer ici pour supprimer toutes les décimales Maintenant, nous pouvons simplement l'utiliser. OK, allons-y et cliquez sur Télécharger le fichier, télécharger le CSV. Maintenant, j'ai cette ascension DT. Et je vais retourner à mon moteur. Et ici, nous pouvons maintenant le faire glisser dedans, et il devrait tout charger correctement. Bien, maintenant vous avez les multiplicateurs. Et continuons en allant dans les bibliothèques. Ouvre-le. Créons une nouvelle fonction ici. Cliquons sur Ajouter, cliquons sur fonction, appelons-le y comme multiplicateur par exemple, ou multiplicateur de dégâts d'ascension. Tu peux l'appeler comme tu veux. Maintenant, pour cette entrée, nous devons essentiellement savoir à quel niveau nous situons. Combien d'ascensions avons-nous faites jusqu'à présent ? En le transformant en un entier, nous pouvons l'appeler niveau d'ascension. Disons maintenant une table comme avant. Trouvons le tableau des données de l'Ascension. Encore une fois, vous ne pouvez pas connecter cela à cela car vous devez d'abord dire deux chaînes. Vous devez le convertir en chaîne, puis vous pouvez le connecter ici, et il le convertira automatiquement en un nom pour vous. Vous pouvez faire glisser le pointeur à partir d' ici et dire « retour ». Vous pouvez renvoyer les informations ici en les faisant glisser Et maintenant, vous pouvez dire Ascension info, par exemple, compiler. Et n'oubliez pas de cliquer sur cette fonction et de cliquer sur Pure. Encore une fois, nous ne recevons que quelques informations d'ici. Sauvegardons tout. Et maintenant, nous pouvons l'utiliser dans les prochaines leçons. 116. 13.07 Ajout du multiplicateur d'ascension: Maintenant, nous devons multiplier tous les dégâts que nous infligeons dans le jeu avec le multiplicateur. Nous obtenons donc le bon montant de dégâts. Pour ce faire, nous devons savoir où nous avons fait tous les dégâts. Nous pouvons facilement le trouver. Passons d'abord au joueur. Maintenant, dans le lecteur ici, par exemple, dans l'article d'achat, nous l'avons fait, TPS Maintenant, ce que vous pouvez faire, c'est que vous pouvez toujours cliquer avec le bouton droit de la souris ici et cliquer dessus. Ce que je ferais, c'est trouver des références à ce sujet parce que nous avons le DPS ici Si nous pouvons trouver toutes les références ici dans tous les plans, nous pouvons trouver où nous faisons du DPS ou où nous prenons ces informations, en cliquant avec le bouton droit sur Rechercher des références, puis en cliquant sur cette petite icône pour trouver les références à l'intérieur de tous les Pas seulement celui-ci. OK, je vais le mettre sur mon deuxième moniteur et je travaille d'abord avec celui-ci. Maintenant, ce que je veux faire, c'est multiplier ce nombre de DPS par le multiplicateur de l'Ascension, obtenir le bon montant de dégâts par rapport au multiplicateur de l'Ascension Je vais cliquer avec le bouton droit de la souris et dire Obtenir le multiplicateur de dégâts d'Ascension. Nous pouvons prendre cela et dire Break now, nous pouvons le multiplier par celui-ci. J'aurais peut-être dû l'appeler quelque chose de plus court, mais c'est toujours bien d'avoir un nom descriptif pour savoir ce que l'on fait. En gros, lorsque nous sortons ce DPS, nous voulons le prendre et dire multiplier Et je vais juste le déconnecter d' ici et le mettre ici. Cela ne fait pas vraiment de différence, mais c'est plus beau. Je vais multiplier le DPS par le multiplicateur, puis je vais le faire glisser maintenant et le brancher ici à la place Il suffit de le faire glisser vers le bas pour qu'il ressemble mieux à ça. Nous multiplions maintenant le multiplicateur, donc par exemple, si le multiplicateur est trois, nous pouvons dire trois fois le DPS Et cela indiquera ou augmentera les dégâts du curseur de la bonne quantité. Il nous faut maintenant l'essentiel du roman. Nous devons savoir à quel niveau nous situons ? Créons cette variable dans le mode de jeu. Si vous ouvrez le mode de jeu et que vous vous y trouvez, créons une nouvelle variable appelée niveau d'Ascension. Transformons celui-ci en entier. Compilez pour le moment. Nous n'avons rien fait avec ce niveau d'ascension, mais cela n'a pas vraiment d' importance pour le moment. Revenons au joueur et passons au mode jeu. Maintenant, si je peux le trouver ici, niveau du mode jeu. Et nous pouvons simplement passer au niveau de l' Ascension et le relier à celui-ci. Nous obtenons essentiellement le niveau d'ascension, qui est actuellement nul Si le niveau d'ascension est nul, si vous revenez aux tables de données au niveau zéro, vous obtiendrez le multiplicateur égal à un, ce qui signifie essentiellement que le DPS multiplié par un, c'est-à-dire juste le DPS Cela ne changera rien. Cependant, si vous montez pour la première fois que vous atteignez le niveau 1, vous infligerez trois fois tous les dégâts, ce qui signifie que vous aurez 300 % de dégâts supplémentaires Trouvons maintenant tous les endroits où nous avons un DPS. Et je vais juste copier tout ce code pour que tu n' aies pas à le réécrire. Copiez tout ce code. Maintenant, je vais en parler à nouveau. Cliquez sur le premier, c'est juste ici. Cliquez sur le neuf deuxième. Info, nous ne faisons aucun dommage ici. Cliquez sur le troisième, nous ne faisons aucun dommage. Cliquez sur le quatrième, ici nous avons quelques dégâts. Cela fait partie de la mise à jour des fonctions. Mise à jour totale du DPS total du DPS. Nous allons le faire, puis nous allons à nouveau multiplier ce DPS par le multiplicateur de dégâts d' ascension et le brancher ici D'ailleurs, je peux déjà constater que nous avons un bogue car nous mettons à jour le montant total de DPS en récupérant tous les articles que nous avons achetés Nous leur obtenons des TPS, puis nous les ajoutons au DPS total Cela se produit également avec la souris ici. Cela ajoute en fait cela au DPS total. Ce que je veux faire ici pour éviter le bogue, c'est cliquer sur l'article. Alors je vais dire pas égal. Et allez-y et sélectionnez «   Pas égal à un clic de souris ». Nous ne voulons pas ajouter le nombre de clics de souris DPS) au nombre total de DPS Un petit bug qui était là. Assurons-nous simplement de ne pas ajouter cela. Et je vais créer une branche. Allez-y, connectez-le ici. Et connectez-le à nouveau. Et maintenant, cela devrait très bien fonctionner. Maintenant, je vais juste restructurer les choses à nouveau. Très bien, maintenant c' est terminé et nous multiplions cela par le multiplicateur d'ascension Passons à la suivante. Si je reviens en arrière et que je trouve mes références précédentes et que je clique sur la suivante, nous faisons également du DPS Ceci met à jour le ToolTipi. Encore une fois. Collez-le dedans. Allez-y, multipliez cela avec le multiplicateur d'Ascension, et reconnectez-le ici Maintenant, nous multiplions correctement. Compilez Et nous avons un bogue ici. Cela dit que nous n'avons pas de référence au mode de jeu, et nous n'en avons pas vraiment. Allons-y et trouvons la référence Gamode. Maintenant, avant de faire tout cela, je vais dire obtenir le mode jeu , puis obtenir la référence au mode jeu. Et allez-y, connectez ceci. Ça, je vais juste partir d'ici et le connecter. Maintenant, vous pouvez également cliquer à nouveau avec le bouton droit de la souris et le promouvoir dans notre variable si vous le souhaitez. Faisons-le simplement pour le rendre un peu plus propre. Connectez-vous, vous pouvez le faire dans les deux sens. Il suffit de le connecter directement ou prendre cette variable du mode de jeu et de la connecter ici. C'est pareil. Bien, compilons également maintenant. Vérifions-nous que les dommages causés par le curseur s'affichent correctement. Et il s'affichera correctement car nous multiplions déjà les dégâts dans le joueur chaque fois que nous augmentons les dégâts infligés par le curseur à l'intérieur du joueur Ici, chaque fois que nous achetons un article, nous le multiplions déjà par trois, par exemple, et nous l'ajoutons au curseur endommagé. Cet endommagement du curseur devrait être correct. Ces dégâts sont déjà multipliés par le multiplicateur d'adhésion. C'est donc également correct. Revenons maintenant aux références . Cliquez sur le suivant. Pas de DPS ici. Cliquez sur le suivant. Pas de DPS ici non plus. Maintenant, tout devrait bien fonctionner. Maintenant, il suffit de s'assurer que les dégâts d'ascension s' affichent correctement. Revenons maintenant au mode de jeu ici. Chaque fois que nous redémarrons le jeu, prenons ce niveau d'ascension et disons plus, plus. Nous allons en ajouter un au niveau d'Ascension à chaque fois que nous ascensionnons Nous y infligeons donc le bon montant de dégâts. Maintenant allons-y et essayons ceci. Si je clique sur Play et que j'en achète un de chaque ici, je vais acheter le dernier et je vais cliquer sur Ascend Celui-ci ne s'affiche pas vraiment correctement, il agit que d'un texte statique. Mais cliquons sur Annuler et voyons les dégâts ici pour voir s'ils s' affichent correctement. Moi, chaque souris reçoit 25 DPS et chaque plume lumineuse donne cinq Cela devrait donc afficher 15. Par exemple, si je clique sur Ascend, puis sur Ascend Maintenant, cela affiche 15. Cela affiche 75, qui est tout à fait correct. Maintenant, j'ai trois fois plus de dégâts. Laisse-moi juste essayer de jouer, et laisse-moi essayer de m'élever à nouveau. Très bien, maintenant je vais acheter le dernier article ici. Cliquez sur le dernier élément. Je peux le voir encore une fois. Je clique sur Ascend. Puis remontez. Et maintenant, les dégâts causés par les plumes légères sont de 35, ce qui est correct, et de 175, parce que le multiplicateur est maintenant de sept, tout fonctionne correctement car sept fois cinq sont égaux à 35, ce qui est correct Et maintenant, nous avons le bon montant de dégâts. OK, maintenant ça marche. Et aussi, juste pour nous assurer que nous sommes optimisés, revenons à la vérification des critères d' ascension remplis. Chaque fois que je crée des boucles, je fais toujours attention à ce que je fasse réellement tourner cette boucle aux moments nécessaires. Par exemple, nous exécutons ici la boucle correcte. Cependant, avez-vous vraiment besoin de lancer cette boucle chaque fois que les critères d' ascension sont remplis ? Parce que maintenant vous savez que les critères d' ascension sont remplis. Vous n'avez pas vraiment besoin de réexécuter cette boucle car vous savez qu'elle est respectée. Prenez ce lingot ici, les critères d' ascension étaient remplis au début du code Nous voulons juste gérer ça. Les critères d'ascension remplissaient cette fonction ici. Nous voulons l'exécuter chaque fois que celui-ci est faux. Laissons de là et disons lingot, l'ascension n'est pas vraie, ce qui signifie que c'est faux. C'est faux. Nous voulons aller de l'avant et vérifier si les critères sont remplis. Cependant, si cela devient vrai, nous n'allons pas courir parce que nous devenons simplement faux et que nous n'exécutons pas le code. Nous ne voulons pas exécuter tout ce code. Les critères d'ascension sont déjà remplis car ils ne sont pas nécessaires. Nous avons déjà satisfait à ces critères. OK, souvenez-vous que nous devons rendre cela faux à un moment donné, sinon prochaine fois que vous monterez, ce sera vrai par défaut parce que vous l'avez défini sur vrai ici et vous ne le définissez plus jamais sur des défauts Revenons au redémarrage du jeu après cela. N'oubliez pas de prendre les critères d'ascension remplis et de les définir sur False chaque fois que vous redémarrez le niveau ou que vous redémarrez le jeu ici. Allez-y, sauvegardez tout et passons à la suivante. 117. 13.08 Affichage du multiplicateur d'ascension: Très bien, à cette dernière étape, nous devons afficher le montant correct des dégâts multiplié. Donc, si je vais dans l'interface utilisateur ici dans la fenêtre contextuelle d'ascension, nous devons essentiellement afficher le montant correct ici. Maintenant, je vais juste écrire un faux numéro, afin que nous puissions réellement voir que nous le changeons de manière dynamique. Je vais donc juste écrire 00 pour le moment ici. Passons maintenant au graphique et nous devons essentiellement modifier ce texte. Maintenant, cela s'appelle Text Round Timer, et je vais plutôt passer au texto Ascension, que cela ait plus de sens. Et compilons. Et maintenant, nous pouvons définir ce texte chaque fois que cette fenêtre contextuelle s'ouvre. Chaque fois que je clique, le bouton Ascent apparaît et nous voulons le mettre à jour immédiatement Nous pouvons le faire dans la construction de l'événement, qui est jouée chaque fois que cette fenêtre contextuelle est ouverte. Faisons-le ici. Ce que nous voulons faire, c'est définir le texte. Prenons ce texte et répétons le texte défini. Nous devons utiliser un format de texte car nous changeons les choses de manière dynamique. Encore une fois, directement à partir d'ici et dites formater le texte. Sortez et sélectionnez-le. Vous pouvez voir que nous utilisons les mêmes nœuds encore et encore. Si vous continuez à vous entraîner, vous vous souviendrez de tous les nœuds et vous saurez essentiellement quoi faire chaque fois que vous devrez créer vous-même un nouveau mécanisme. Revenons au designer. Je vais juste copier tout ça. Je vais le coller ici. Cela indiquera que vous allez redémarrer la progression, mais nous avons maintenant besoin de ces crochets ici à la place Et disons le pourcentage de dégâts, pourcentage de dégâts similaires, puis plus de dégâts. Cela signifie que vous allez redémarrer le jeu, mais avec, par exemple, 300 % de dégâts supplémentaires Essayons de le faire. Connectons d'abord celui-ci. Maintenant, ce que nous devons utiliser, c'est comme avant, nous devons cliquer avec le bouton droit de la souris et dire « get Ascension Multiplier ». Parce que c'est essentiellement de là que nous obtenons les informations. Nous allons encore une fois faire une pause pour le niveau Ascension, nous avons besoin du mode de jeu pour avoir ces informations. Dessinons tout ici. Disons passer en mode jeu. Ensuite, partons d' ici et disons « obtenir la référence du mode de jeu ». Sortons et connectons-le. Maintenant, pour le mode de jeu, nous avons besoin du niveau Ascension. Allez-y, obtenez le niveau d' Ascension, et vous pouvez le connecter ici. Comment obtient-on le pourcentage ? Nous atteignons maintenant le niveau d'Ascension. Ce que nous devons faire, c'est obtenir le multiplicateur après avoir redémarré le jeu. Parce qu'en gros, ce que vous faites ici, c'est que chaque fois que ouvrez cette fenêtre contextuelle vous ouvrez cette fenêtre contextuelle et que vous n'obtenez que ce niveau d'ascension, qui est nul pour le moment, parce que vous commencez au niveau d' ascension zéro, parce que vous commencez au niveau d' ascension zéro, cela signifie un, en gros 100 %. Maintenant, nous devons diviser le multiplicateur qui se gros 100 %. Maintenant, nous devons trouve après, si j'ouvre simplement le tableau de données pour que ce soit plus compréhensible, ce que nous devons faire, c'est diviser ce nombre qui vient après chaque fois que nous montons , divisé par le 13/1 actuel. Et vous pouvez toujours le faire glisser dans la vue et dire 3/1 c' est-à-dire trois fois 100, soit 300 %. Maintenant, si vous l' essayez avec l'autre, si vous l'essayez avec le sept, si vous l'essayez avec le sept, disons que nous sommes montés une fois et que je suis au niveau 1 et j'ai besoin indiquer le pourcentage de dégâts que vous allez subir en passant au niveau deux. Maintenant, nous allons dire 7/3 fois 100. Cela équivaut à 233 % de dégâts supplémentaires d'ici à ici, ce qui est tout à fait logique. Laissez-nous le faire. Ce que nous devons faire, c'est prendre ce niveau d'ascension, y ajouter un, car nous devons obtenir le prochain multiplicateur du niveau d'ascension. Maintenant, lorsque nous avons cette information, par exemple, elle est divisée en sept, par exemple, 7/3, ce qui correspond à l'information actuelle , à l'actuelle Nous devons essentiellement copier tout cela et nous devons le supprimer plus un et simplement le connecter. En gros, nous nous demandons quel est le prochain multiplicateur de dégâts ? Nous divisons ce chiffre par le montant actuel. Ensuite, cela doit être converti en pourcentage. Maintenant, vous pouvez le faire de deux manières. Vous pouvez soit le prendre et le dire pourcentage, soit le sélectionner et le connecter ici. Maintenant, je n'aime pas cette méthode parce qu'elle va vous montrer les décimales Par exemple, si c'est 7/3 ici et que nous disons multiplié par 100, cela donnera 233,33. Je n'aime pas flottants ou les décimales sans lesquels je veux que Au lieu de cela, je vais juste dire multiplié par 100 comme ceci. Ensuite, vous pouvez soit dire sol et lire à ce sujet, si vous maintenez la souris dessus, cela signifie que -1,6 devient -2,1 0,6 devient un, soit utiliser celui appelé rond Et celui-ci est fondamentalement le contraire. 1.6 devient deux, et ainsi de suite. Je vais juste dire « sol ». Il va essentiellement supprimer les décimales , puis il va vous l'afficher Maintenant, cela devrait très bien fonctionner. Maintenant, si je le connecte ici, il définira le texte chaque fois que j'ouvre cette fenêtre contextuelle et que je pourrai compiler. Et voyons si cela fonctionne maintenant si j' achète chacun de ces articles comme avant, puis si je peux cliquer sur Tel. Maintenant, il va dire que nous allons recommencer la progression, mais avec 300 dégâts supplémentaires. Maintenant, nous avons besoin du pourcentage, évidemment, du signe. Revenons donc en arrière et réglons ce problème rapidement. Si je clique simplement ici et que je définis un signe de pourcentage, cela devrait fonctionner, compilez très bien. Très bien, maintenant je vais acheter le dernier et je vais cliquer sur As. Et maintenant, cela va me montrer à 300 % ce qui est correct. Maintenant, je vais cliquer sur Ascend, et je vais rejouer au jeu voir si tout fonctionne pour le moment J'achète à nouveau le dernier article et je vais monter pour la deuxième fois. Et maintenant, vous allez recommencer la partie progression avec 233 % de dégâts supplémentaires, puis continuer et monter Et maintenant, vous pouvez voir que tout est multiplié correctement, d'accord. C'était donc ça. Pour l'instant, tout fonctionne correctement. Nous pouvons maintenant passer à la section suivante où nous finalisons le jeu Et nous pouvons aller de l'avant, tout nettoyer et emballer le jeu. Alors allons-y et passons à la leçon suivante. 118. 14.01 Nettoyage du projet: Très bien, maintenant nous en avons terminé avec le jeu et maintenant vous devez nettoyer le projet. Maintenant, ce que je fais habituellement, c'est que si j'ai un projet plus important, je le nettoie au moins une fois par semaine. Alors peut-être tous les vendredis, tous les samedis, je ne sais pas. D'habitude, je ne le nettoie pas tous les jours car le code change constamment. Parfois, vous nettoyez quelque chose, mais vous devez le changer le lendemain. Cela n'a aucun sens car vous devez le nettoyer à nouveau, donc c'est trop de travail. Je le nettoie généralement une fois par semaine ou deux fois par semaine au maximum. Passons donc, par exemple, au plan directeur. Je vais juste y aller pour cette leçon. Le but est de vous donner conseils sur la façon de nettoyer le projet. Et je vais également nettoyer ce projet et vous le donner comme projet final. Par exemple, si nous démarrions la manette de jeu. Donc, si vous ouvrez la manette de jeu ici et que vous ouvrez le graphique des événements, vous voyez que c'est un peu compliqué. Ce que je fais habituellement, c'est , par exemple, ici, vous pouvez sélectionner tous les événements, Commencer, jouer ici, et cliquer dessus en cliquant sur C, vous créez un commentaire et je peux, par exemple, écrire Begin, Play. Je sais que c'est Begin. Jouez. Chaque fois que je fais un zoom arrière, je peux également cliquer sur ce commentaire et sur la bulle d'affichage. Lorsque je zoome, je peux le voir chaque fois que je fais un zoom arrière. Je sais que c'est le début de la partie, donc je n'ai pas besoin de zoomer constamment pour voir de quoi il s'agit. Vous pouvez également cliquer dessus et changer la couleur du commentaire. Vous pouvez le modifier comme bon vous semble. Vous pouvez changer la couleur ici, changer l'alpha, etc. Cliquez sur OK. Maintenant, vous pouvez également enregistrer cette couleur en cliquant dessus et en la faisant glisser vers le haut. En cliquant sur OK. La prochaine fois que vous créerez un commentaire. Par exemple, pour ce lecteur initialisé, vous pouvez cliquer sur C. Par exemple, vous pouvez écrire Initialize Vous pouvez cliquer sur Afficher la bulle et zoomer. Par exemple, vous pouvez cliquer sur cette couleur de commentaire. Et vous pouvez maintenant cliquer sur la couleur enregistrée ici. Et cliquez sur OK. Je vais en fait le faire tout au long ce projet avant de vous le confier. La deuxième chose que vous pouvez faire est de cliquer sur ces variables. Et vous pouvez leur attribuer une catégorie ici. Par exemple, je peux dire widgets, et je peux appuyer sur Entrée. Et maintenant, vous pouvez voir qu'il se trouve dans une catégorie de widgets. Si je clique sur le widget suivant ici, je peux cliquer ici et je peux cliquer sur les widgets. Et je peux essentiellement le faire pour chacun d'entre eux. Tous les widgets sont regroupés dans cette catégorie. Et vous pouvez voir que je peux le minimiser. Maintenant, ils sont à l'intérieur. C'est également ainsi que vous pouvez nettoyer toutes les variables dont vous disposez. Allez-y, compilez et enregistrez tout maintenant. En gros, vous pouvez le faire dans chaque plan. Par exemple, passer en mode jeu. En mode jeu, je peux peut-être réunir tous ces points d'apparition Je peux donc écrire une catégorie appelée points de spawn, par exemple Et je peux en gros les faire entrer ici. Allez-y et faites-le. Allez-y et nettoyez votre projet. Créez des biens communs. Maintenant, la troisième chose que j'ai l'habitude de faire, encore une fois, c'est de créer des notes de redirection Comme vous l'avez appris, double-cliquez. Créez des notes de redirection et essayez de nettoyer votre projet le mieux possible Ce que j'ai l'habitude de faire également, c'est de réorganiser tous les événements que j'ai créés Par exemple, il s' agit des articles découpés dans la boutique, il s'agit de l'article d'origine Par exemple, vous pouvez le prendre et le coller ici à côté et peut-être le commenter. Vous pouvez également revenir ici pour voir s'ils sont dans le bon ordre. Par exemple, si vous voulez que ce soit plutôt ici, et ainsi de suite. Alors allez-y et essayez de l' organiser le mieux possible. S'il y a certaines choses que vous souhaitez convertir en fonction plutôt qu'en événement, vous pouvez également le faire. Imaginons, par exemple, que le jeu redémarre. Si vous voulez le faire en tant que fonction, allons-y et transformons-en une fonction. Généralement, pour les fonctions, vous ne pouvez pas convertir des éléments en fonction s'il s'agit d'événements chronométrés Par exemple, si j'ai un retard. Vous pouvez voir que cette icône signifie un événement chronométré, fy rod. Cliquez dessus et dites «   réduire » pour que cela fonctionne. Cela me donnera une erreur car vous ne pouvez pas convertir les fonctions en fonctions. Combattez, cliquez et dites également la chronologie et ajoutez une chronologie. C'est aussi une question de temps. Je ne peux pas cliquer avec le bouton droit de la souris et réduire pour fonctionner, cela me donnera une erreur. Je peux le voir en regardant l'icône en haut et je n' ai pas le temps. Je peux essentiellement le transformer en fonction. J'ai l'habitude de le faire parfois parce que si vous créez trop d'événements dans un graphe d'événements, il commencera à le faire. Si vous avez un jeu suffisamment volumineux, il commencera à apparaître chaque fois que vous aborderez ce plan Vous pouvez désormais transformer ces événements en fonctions ou créer de nouveaux graphiques d'événements. Si vous cliquez ici sur le signe plus, vous créez un nouveau graphique d'événements. Par exemple, nous l'avons fait dans le cadre du cours de tir à la première personne. Par exemple, vous pouvez appeler cela une ascension. Et vous pouvez avoir tout le code d' ascension à l'intérieur d'ici. S'il s'agit d'une grande quantité de code, vous pouvez essentiellement copier tout cela contrôlant x pour supprimer et vous pouvez passer au graphique pair suivant. Vous pouvez cliquer sur le contrôle V. Vous l'avez maintenant dans ce graphique pair. Vous n'êtes pas obligé de le voir ici comme d'habitude, mais vous l'avez ici en bas. Au lieu de cela, il suffit de cliquer sur contrôle Z car nous n'avons pas vraiment beaucoup de code ici. Je vais supprimer ce graphique pair si vous voulez transformer des éléments en fonction. Vous pouvez également le faire en revenant au graphique des événements ici. Ensuite, ce que vous faites ou ce que je fais habituellement, c'est que je peux sélectionner tous les nœuds ici sans l'événement. Je peux à nouveau écrire click collapse dans une fonction. D'habitude, je l'appelle pour commencer. Si je le fais glisser ici, j'appelle ça un redémarrage du jeu. Ensuite, j'écris en cliquant sur cet événement pour voir où je l'ai utilisé. Trouvez des références et cliquez sur l'icône, tous les endroits où je l'ai utilisé. Ces références ne sont essentiellement que celle-ci, ce n'est pas ce que j'ai utilisé. En cliquant sur le suivant , Redémarrer le jeu. Ici, je peux maintenant faire glisser le pointeur depuis ce mode de jeu et dire Redémarrer le jeu. Maintenant, j'utilise ma fonction au lieu de mon événement. Je peux le supprimer et le connecter ici. Je compile juste ici, reviens au mode jeu, supprime cet événement maintenant. Et supprimez cette fonction, car maintenant vous utilisez essentiellement cette fonction pour redémarrer le jeu. J'utilise aussi parfois cette méthode pour nettoyer mon graphe d'événements. Lorsque je constate que certains événements ne sont pas nécessairement nécessaires, je peux les transformer en fonction. Maintenant, quelle est la différence entre cette fonction que j'ai créée et cet événement ? Absolument rien En gros, il nettoie simplement votre graphe d'événements Maintenant, vous pouvez voir que ça devient plus propre. Et même si vous voulez que ce niveau déverrouillé soit une fonction, vous pouvez le faire en le réduisant en N'oubliez pas de cliquer dessus avec le bouton droit de la souris pour trouver des références. Allez-y et cliquez sur la petite icône. Partout où vous l'avez utilisée ici dans la base ennemie, vous pouvez en faire une fonction et vous pouvez utiliser la version de la fonction à la place. Ensuite, vous pouvez supprimer celui-ci. Allez-y et nettoyez votre projet de cette façon. Allez-y et n'oubliez pas de toujours enregistrer votre projet, et passons au suivant, ou nous le préparons. 119. 14.02 Emballage du jeu: Très bien, il est maintenant temps de préparer le projet. Nous pouvons donc l'envoyer à des amis et ils pourront essayer d'y jouer ou d'essayer d'y jouer à leur famille. Donc, pour le faire avant le package, j'aimerais ouvrir le débogueur ou le journal Donc, sortez les journaux si vous cliquez simplement sur Fenêtre et journal de sortie pour les afficher. Nous pouvons donc maintenant voir si nous avons des erreurs lorsque nous l'exportons. Avant de le faire, je vais cliquer avec le bouton droit de la souris ici et effacer les journaux. Je pars de zéro, afin de voir ce qui se passe en ce moment. En cliquant sur les filtres ci-dessus, vous pouvez voir les messages d' avertissement et d'erreur. Parfois, je supprime simplement les messages comme celui-ci, je ne peux voir que les avertissements et les erreurs. C'est essentiellement ce qui est important, afin que nous puissions y remédier. Mais pour l'instant, passons au message. Permettez-moi de minimiser un peu cela pour que je puisse réellement voir ce que je fais. Juste comme ça, en cliquant ici sur les plateformes, en accédant à Windows, puis en sélectionnant Expédition. Maintenant, lorsque vous sélectionnez l'expédition, vous devez également vous rendre ici. Permettez-moi de clore ceci pour le moment. Pour accéder à la section Modifier les paramètres du projet , ici, vous devez accéder à l'emballage. Maintenant, à l'intérieur de l'emballage, ce qui est important, c'est l'option Avancé, ici, en cliquant sur Avancé. Alors, redescendons. Maintenant, dans la version avancée, vous devez inclure les cartes que vous souhaitez empaqueter ici dans la liste des cartes à inclure dans une version de package, vous devez cliquer sur le signe plus, puis vous devez cliquer sur les cartes. En cliquant sur ces trois points, sélectionnez les cartes dont vous disposez. Si je viens de le faire, nous sommes à l'intérieur du projet ici dans le dossier de contenu et nous avons créé ce dossier de cartes. Je vais sélectionner cette carte, Dungeon. En gros, la carte principale sur laquelle nous travaillons en cliquant sur Ouvrir. Maintenant, si vous avez des films, par exemple, lorsque les jeux démarrent et qu'ils ont un écran de démarrage, vous pouvez également les inclure. Si vous avez des répertoires supplémentaires dans votre moteur, vous ne les utilisez pas, vous pouvez également les ajouter ici. Mais en gros, c'est tout ce que nous devons faire ici. De plus, pour la configuration intégrée au projet, je vais plutôt la remplacer par l'expédition. Et il dit que si le projet contient du code ou exécute un éditeur construit localement, je suis en fait pour la version je vais juste dire toujours construire. Chaque fois que nous passerons à une expédition ici pour la reconstruction, je vais cliquer dessus ou sur distribution. Je vais aussi cocher cette case. Et maintenant, vous êtes également prêt à l'améliorer. Allez-y et cliquez sur les paramètres du projet. Encore une fois, ici, recherchez un FPS fluide, ici, une fréquence d'images fluide. Il est très important de cocher cette case, car si vous ne le faites pas, votre jeu fonctionnera au plus haut nombre d'images par seconde que l'ordinateur du joueur peut atteindre. Je l'ai fait avec Farm Tail au départ par erreur parce que je ne connaissais pas cette option que nous utilisons, par exemple, à 500 images par seconde. 600 images par seconde. Et cela va vraiment blesser leurs ordinateurs, car ils vont fonctionner très vite et vous pouvez entendre les ventilateurs fonctionner très vite. En cliquant dessus, je n'ai pas besoin d' avoir plus de 60 images par seconde dans ce jeu. Ce n'est pas un jeu de tir ou quoi que ce soit d'autre. Et je peux atteindre 22 images par seconde si l'ordinateur est très lent de la part du joueur. Mais en gros, maximisons le FPS à 62. Vous pouvez également passer à 122 images par seconde si vous le souhaitez, mais je vais juste le laisser atteindre 62 images par seconde. Ferme-le. Cliquez sur Fichier, puis sur Enregistrer tout. Vous pouvez maintenant cliquer sur Plateformes, Contenu du package Windows. Mais permettez-moi d'ouvrir à nouveau. La sortie de ma fenêtre se verrouille pour que je puisse voir ce qui se passe. Cliquez avec le bouton droit pour effacer les verrous avant de le faire. Maintenant, ce que vous devez également vous rappeler de faire ici, cliquez sur Filtrer et tout afficher également. Je peux voir tous les messages. Je peux les voir tous aussi . Ils ont juste tous coché Allez-y, cliquez sur Plateformes, puis sur Windows. Ensuite, allez-y et empaquetez le contenu. Maintenant, j'ai créé un dossier ici sur mon bureau appelé Packages. En gros, allez-y et créez un nouveau dossier quelque part sur votre ordinateur, cela n'a pas vraiment d'importance. Et allez-y, cliquez sur Sélectionner un dossier, et le package se trouvera à l'intérieur d'ici. Maintenant, cela va prendre un certain temps. La première fois qu'il fait cela et cela, il affiche généralement quelques erreurs car je n'ai jamais empaqueté pour la première fois sans aucune erreur. Parce que des erreurs aléatoires apparaissent à un moment ou à un autre. Très bien, maintenant je peux voir que nous avons un bogue indique « Défaillance de cuisson inconnue ». Et vous arrêtez simplement d'emballer parce que nous avons une erreur. Alors cliquez ici et cliquez sur les messages, et voyons de quoi il s'agit. Et ça dit propriété de la structure et ça dit structure inconnue. Maintenant, il s'agit d'un bogue connu dans moteur Uneral et c'est un peu ennuyeux Je ne sais pas pourquoi cela se produit, mais en gros, cela indique que vous avez une structure inconnue. Cela n'a aucun sens parce que nous l'avons fait, cela fonctionne et tout va bien. Mais faites attention à l' endroit où il se trouve et à l'intérieur de votre interface utilisateur. Informations sur l'ennemi Web. Si vous accédez à votre interface utilisateur, accédez à l'interface utilisateur, ouvrez les informations sur l'ennemi. C'est essentiellement ce qui vous dit. Ouvrez les informations sur l'ennemi, accédez à Graph. La seule chose que vous devez faire pour une raison quelconque est cliquer sur Fichier, Actualiser toutes les notes. Et puis ça devrait régler le problème. Le fichier actualise toutes les notes. Ensuite, le code suivant est le code de niveau B dans l'interface utilisateur. Minimisez cela, je passe également au niveau Cod ici. Fichier graphique, actualisez toutes les notes. Ce que je fais aussi habituellement, c'est d' actualiser toutes les notes de la bibliothèque. Pour l'ouvrir, cliquez sur le premier, le fichier d'informations sur l'ennemi, actualisez toutes les notes. Le second actualise toutes les notes, le troisième juste pour s'assurer que ce bogue ne se reproduira pas. Chaque fois que nous cuisinons et que nous cliquons sur Enregistrer tout, cela devrait maintenant fonctionner. En cliquant à nouveau sur Plateformes, permettez-moi d'abord d'ouvrir le journal de sortie P, de cliquer avec le bouton droit de la souris, d' effacer le fichier journal ou les plateformes, puis de recompresser le projet ici. Maintenant, cliquez ici et affichez également tous les messages juste pour voir si nous avons une boîte maintenant. Cela ne devrait pas vraiment se produire. Cela se produit généralement simplement lorsqu' il est indiqué Structure inconnue, vous suffit d'actualiser toutes les notes pour une raison quelconque. Je ne sais pas pourquoi cela arrive, mais c'est un peu ennuyeux. Mais maintenant, vous pouvez voir que tout est cuire et que tout fonctionne parfaitement. Nous n'avons aucune erreur. Cela ne prend qu'une minute ici. Maintenant, vous pouvez toujours cliquer ici et supprimer les messages. Maintenant, la cuisson est terminée, le package est terminé. D'habitude, je supprime les messages pour voir s'il y a des erreurs dans mon jeu. Et vous pouvez voir que le projet est super propre. Nous n'avons pas un seul avertissement. Nous n'avons pas une seule époque. Le jeu fonctionne parfaitement, et c'est ce que nous voulons. Passons maintenant au dossier Packages à l'intérieur de mon bureau. Et à l'intérieur, je peux ouvrir le dossier Windows qu'il a créé, et maintenant le jeu est dedans. Essayons de lancer ce jeu en dehors du moteur. Comme je peux le constater, j'ai quelques erreurs ici, des problèmes que je dois résoudre. Mais comme vous pouvez le constater, le jeu fonctionne très bien. Je dois réappliquer la musique et ainsi de suite. Mais je peux aussi voir que l' arrière-plan est flou. Je vois aussi que ce texte est trop proche l'un de l'autre. Alors allons-y, corrigeons ce problème et revenons aux quatre. Pour le fermer, je vais supprimer ce dossier pour le moment. Voyons maintenant quel est le problème du flou. Maintenant, le problème est flou si vous ouvrez, par exemple, cette texture de prison de donjon Passons ici au réglage de la texture. Cliquons sur Avancé. Ici, vous voyez ce qu'on appelle le filtre nucléaire. Vous devez plutôt remplacer celui-ci par le plus proche. Lorsque vous la remplacez par la valeur la plus proche, cela signifie qu'elle ne brouillera pas votre texture lorsque vous l' exporterez ou que vous l'empaqueterez Vous devez en fait le faire pour toutes les textures. Voyons maintenant comment nous pouvons le faire facilement. Maintenant, si je clique sur Assets, que je clique vers le haut , que je descends ici, et que nous avons une texture, je vais simplement cliquer dessus ici. Ce faisant, nous pouvons voir toutes les textures présentes dans le jeu dans ce dossier Assets. Essayons simplement de le faire pour chacun d'entre eux. Permettez-moi de cliquer sur le premier, Shift, de regarder le dernier, de cliquer avec le bouton droit de la souris, puis de passer à Asset Action Edit Selection in Property Matrix. Nous essayons juste de tout faire en même temps. Si je clique à nouveau sur la texture ici et que je peux voir ce filtre, remplacez-le par le plus proche, ce qui est le réglage correct que nous pouvons enregistrer. Voyons ensuite si les tuiles ont été incluses ici. Je vois que les carreaux sont inclus. Tout va bien. Tout est inclus ici. En gros, tout devrait bien fonctionner. OK, maintenant c'est fait. Nous avons également un problème avec le nom. Corrigeons cela également. Si je clique ici et que je supprime cette texture pour que je puisse tout voir, encore une fois, je peux cliquer sur l'ennemi. Si je reviens aux plans, ouvrez les ennemis et la base ennemie Et je clique sur la fenêtre d'affichage. Maintenant, en cliquant sur la barre de santé, il me suffit de la déplacer légèrement en dessous Je crois que si vous cliquez ici, cliquez sur Play. En tant que jeu autonome, vous devriez pouvoir voir à quoi il ressemble ici sans essayer packager le projet ouvert ici sur mon deuxième écran et je peux voir à quoi il ressemble Maintenant, vous pouvez voir que plus rien n' est flou. Cependant, comme vous pouvez le voir maintenant le niveau et nous pouvons le faire baisser légèrement, ainsi que la santé. Fermons-le. Cliquez sur les widgets d'informations sur l'ennemi. Je vais également le déplacer à -25 pour la barre de santé. Essayons -45 Et compilons et cliquons à nouveau sur jouer. Maintenant. Il est beaucoup plus beau en plein écran, tout semble jouable et tout semble beau si vous le souhaitez Vous pouvez également effectuer une opération non filtrée pour l'interface utilisateur, juste pour vous assurer que tout est beau et non flou Vous pouvez toujours revenir à l'interface utilisateur. Si je passe au contenu, j'ouvre mes images, essentiellement ces éléments ici également. Si je fais juste le déplacement bouton droit de la souris, que je clique avec le bouton droit de la souris, que je sélectionne l'action acide , que je sélectionne dans la matrice de propriétés , que je passe à la texture et que le filtre devrait également être le plus proche. Pour ceux-ci, permettez-moi également d' ouvrir les textures ici. C'est l'effet hit. Juste pour vous assurer que l' effet de frappe n'est pas non plus flou, il suffit de l'ouvrir et de revenir à Avancé Changez-le en le plus proche, fermez-le. Passons maintenant aux icônes. Cliquez avec le bouton droit de la souris, définissez des actions, modifiez la texture de la matrice de propriétés, puis remplacez-la par celle qui est la plus proche, puis fermez-la des polices. Je n'ai pas vraiment besoin de faire quoi que ce soit ici. maintenant aux boutons. Encore une fois, modifiez-les et définissez le filtre de texture le plus proche possible. C'est maintenant chose faite pour chacun d' entre eux. Cliquons sur Enregistrer. Je vais régler le volume de ma musique par défaut, c'est-à-dire un. Encore une fois, au lieu des plans et à l'intérieur de la base ennemie, je vais également au lieu des plans et à l'intérieur de la base ennemie, réactiver mon son pour l'année ennemie pendant laquelle je me Compilez et enregistrez tout. Maintenant, permettez-moi de continuer et d'essayer de reformuler le projet. Maintenant que le projet a été empaqueté, permettez-moi de cliquer à nouveau sur le Dungeon Clicker assurer que tout fonctionne bien Et vous pouvez voir que plus rien n' est flou. Tout semble bon, l'interface utilisateur est bonne, tout le son fonctionne. Je peux jouer en gros en redémarrant les pièces. C'est quelque chose que j'ai oublié, mais ce n'est pas vraiment un problème pour le moment. Mais vous pouvez voir que tout fonctionne , que la liste fonctionne ici, et que l'Ascension fonctionne également en gros. Et je peux voir qu'il inflige le bon montant de dégâts et nous avons maintenant terminé le jeu. Très bien, maintenant nous en avons terminé avec le projet. Et vous devriez être vraiment fier de ce que vous avez fait jusqu'à présent, car nous avons vécu beaucoup de choses. Nous avons créé des points d'apparition, dégâts aux ennemis, nous avons créé ces deux D en les assemblant, les codant, en les codant, etc. Vous avez donc beaucoup travaillé, et j'espère que vous avez beaucoup appris grâce à ce cours. Et j'espère que c'était aussi très amusant d'apprendre. Et si vous le souhaitez, vous pouvez également consulter mes autres cours. J'ai beaucoup de cours approfondis et je continue d'en créer de nouveaux à ce jour. Alors merci beaucoup d'avoir regardé. J'espère que tu t'es bien amusée. J'ai pris beaucoup de plaisir à créer des discours. Et n'oubliez pas que si vous souhaitez obtenir de l'aide 2047, vous pouvez toujours rejoindre mon serveur de discours Nous sommes une communauté qui aime aider. Et nous pouvons également parler de choses liées au développement de jeux en général. Ou tu peux me montrer ton travail. Vous pouvez le montrer à la communauté. Une communauté vraiment saine à côtoyer. Merci beaucoup de vous être inscrit à ce cours et j'espère que vous vous amuserez Et je te verrai dans le prochain.