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.