Bienvenue Mes développeurs de jeux préférés
à la dernière vidéo et celle-ci
nous allons corriger tous ces petits détails liés à l'affichage de
l'interface utilisateur,
liés au Bitcoin venant de niveau
niveau et tout les autres trucs amusants.
Donc, ne perdons plus de temps et commençons.
Oh, d'accord, donc maintenant nous devons résoudre
le problème du fait que nos ennemis ne trouvent pas le joueur.
Nous voulons également nous assurer que
le gestionnaire de jeu
un modèle singleton car nous voulons évidemment
maintenir nos bitcoins de niveau à niveau.
Pour cela, je vais lancer un défi,
et votre défi est de trouver
le joueur et de le trouver.
Tout d'abord,
assurez-vous que les ennemis continuent de chercher le
joueur jusqu'à ce que nous le trouvions.
Cela devra donc être une boucle de temps à
l'intérieur de la mise à jour et
du contrôleur ennemi. C'est un petit lui.
Nous voulons garder nos Bitcoins d'une scène à l'autre.
Faites donc du gestionnaire de jeu
un motif singleton comme nous l'avons fait avec la couche.
Assurez-vous de faire de même pour le gestionnaire de jeu.
Est-ce qu'il apparaît dans la hiérarchie et le résident détruit-il ?
Alors rappelez-vous que lorsque nous avons fait détruire la couche d'application Aidan,
elle est apparue dans la hiérarchie sous un certain onglet,
ce qui est fait surDestroy.
Le gestionnaire de jeu apparaît-il également ?
Alors testez-le parce que nous devons nous assurer que
le gestionnaire de jeu n'est pas un enfant des managers.
Donc la seule façon de s'assurer qu'il
ne soit pas détruit est de s'assurer
qu'il n'est pas un enfant de
l'ensemble des gestionnaires objets de jeu si bien que cette information.
Mettez la vidéo en pause maintenant et allez le faire seul.
Oh, d'accord, bon retour.
Donc, d'abord
nous allons entrer dans le contrôleur ennemi.
Défilons vers le haut pour mettre à jour et une mise à jour ici.
Je vais vérifier que même si
le joueur à chasser est égal à null,
nous allons aller de l'avant et amener le joueur à chasser ou à
définir dipolaire pour qu'il poursuive pour trouver des objets de type.
L'objet cinq, désolé.
Et ce sera la manette du joueur.
Et il va s'agir d'
transformation en v points parce que déclaré chasser,
comme nous nous en souvenons, est un transport.
Nous accédons donc à la transformation après avoir affiné
l'objet qui a la manette du joueur sur lui.
Cela devrait donc fonctionner,
mais tant que nous sommes là,
allons voir où est le gestionnaire de jeu ?
Faites défiler l'instance vers le haut.
Et ici, je vais trouver la manette du joueur.
Et ça joue maintenant, ok,
donc la manette du joueur, c'est ici.
Je vais copier
exactement le même code et
le coller ici et supprimer cette instance.
Gardez ça. Nous avons donc maintenant un modèle singleton.
Nous vérifions s'il y a une instance, nous la détruisons.
Si l'instance est différente de null,
nous avons détruit et nous avons défini une nouvelle instance.
Nous sauvegardons tout cela.
Revenons dans notre jeu
et voyons ce que nous devons faire ici.
La première chose que nous devons faire, c'est
d'ouvrir le gestionnaire de jeu ici
et de supprimer le gestionnaire de jeu.
Non, cela ne me permettra pas de voir dans le
préfabriqué si j'ai déjà les gestionnaires de gains.
Alors Manager, le gestionnaire de jeu.
Je vais donc ouvrir les managers
et je vais supprimer le gestionnaire de jeu.
Cela supprimera donc le gestionnaire de jeu
de toutes les autres scènes.
Et je vais m'assurer que je n'ai que
le gestionnaire de jeu ici.
Donc aucun autre manager,
un seul, désolé pour ça.
Nous n'avons besoin du gestionnaire de jeu que dans la scène.
Donc maintenant nous avons le gestionnaire de jeu,
nous avons 0 mais les pièces.
Sauvons tout ça.
Rendez cela un peu plus grand.
Allons-le encore une fois.
Et voyons ce qui se passe.
Donc on ramasse l'arme,
devient un peu de pièces,
on se fait frapper une fois.
Passons au niveau suivant.
Voyons voir, nous passons au niveau suivant.
Et nous y allons, Nous sommes au nouveau niveau et nous pouvons
voir que, pour une raison quelconque,
avons-nous les ennemis qui suivent ?
Non, ils ne suivent pas.
Il y a quelque chose qui cloche.
Et comme vous pouvez le constater, les bitcoins et la santé n'ont évidemment
pas été mis à jour.
Et c'est parce que si nous regardons le joueur,
si nous regardons le ne détruisez pas le gestionnaire de jeu,
les Bitcoins n'ont pas non plus été.
Donc si on regarde le joueur,
vous remarquerez que sa santé est de 490,
mais il n'est pas envoyé ici.
Pourquoi ? Parce que nous ne mettons à jour,
laissez-moi voir, et le responsable de la santé du joueur,
nous ne mettons à jour l'état de santé du joueur qu'une fois que
nous sommes touchés et non au moment où nous commençons réellement.
Nous devrons donc régler cela également.
Mais avant de le faire,
il y a quelque chose qui n'est
pas tout à fait approprié avec la MS.
Je vais donc mettre le jeu en pause ici
et voyons quel est le problème.
Vous pouvez donc voir que chacun de
nos ennemis n'est pas en mesure de nous trouver.
Je vais donc double-cliquer.
Et le problème, c'est avec le joueur Chase ici.
Voyons donc ce que nous allons faire à ce sujet.
Oh, d'accord, donc j'ai passé en revue
quelques choses et j'ai finalement trouvé la solution.
Le problème ici était donc,
et c'est très simple,
nous devons simplement déplacer
cela tout en boucle ici.
Et nous voudrions peut-être
extraire cela en une sorte de méthode.
Je vais donc appeler cette méthode pour
trouver un joueur ou m'assurer que nous avons le joueur.
Alors pourquoi le déplacer ici ?
Eh bien, parce que si nous essayons d'appeler
le mouvement vers la direction, sauvez cela.
Alors, quel est le problème dans tout le problème et
tout ce qui en est à l'origine, c'est quand nous passons
à un nouveau niveau avant que la couche,
qui est celle qui ne soit pas détruite,
passe au niveau suivant.
Les ennemis ont déjà une cible,
qui était le joueur précédent.
Donc, une fois que nous l'avons détruit,
nous ne pourrons plus le trouver.
Donc si nous essayons ça,
disons que nous voulions qu'ils atteignent le nouveau niveau,
nous avons tous les joueurs chasser ensemble
juste ici dans le début et puis nous le détruisons.
Ensuite, nous essayons de poursuivre
le joueur ou de nous diriger vers le joueur,
et c'est de là que vient l'erreur.
Ici, nous essayons donc de poursuivre le joueur.
Et une fois qu'il y a une erreur ici, rien en
dessous de cela ne fonctionne.
La mise à jour s'arrête, tout s'arrête.
C'est pourquoi nous devons avoir le joueur de recherche.
Tout d'abord, nous faisons une mise à jour avant de continuer,
alors que nous aurons peut-être juste besoin
la déclaration if ici, je crois,
mais gardons cela aussi,
au cas où cela prendrait un peu cinq.
Donc, avec cela,
si nous lançons maintenant le jeu,
nous devrions le voir quand nous passons au niveau suivant.
Nous y allons, nous n'avons aucune erreur.
On ouvre ça et on y va.
Les ennemis lâches
s'enfuient et ils tirent dessus.
La prochaine chose que
nous devons faire est évidemment
mettre à jour l'interface utilisateur du lecteur.
Je vais donc entrer dans le gestionnaire d'interface utilisateur.
Nous arrêtons le jeu. Oui, nous l'avons fait.
De retour dans le gestionnaire d'interface utilisateur.
Ici, je vais créer une méthode qui sera l'interface utilisateur de
la couche de mise à jour publique.
Et nous allons faire quelques choses ici.
La première chose que nous allons faire, c'est que nous
allons créer un gestionnaire de santé des joueurs.
La santé de la couche profonde est colorée,
et elle sera égale à null.
Et vous verrez pourquoi dans un peu,
car nous allons créer
une boucle de while qui vérifiera la santé du joueur.
Et même s'il est nul,
nous allons continuer à chercher
la santé du joueur soit égale pour trouver des objets de type.
Et ce sera le gestionnaire de la santé des couches.
Et une fois que nous l'avons trouvé,
nous pourrons sortir de la boucle while.
Et puis ici, nous allons
aller de l'avant et d'abord
obtenir la valeur maximale du curseur de santé.
Et il sera égal à la valeur maximale du point de santé du joueur
.
Il est donc évident que nous devons créer un moyen d' accéder
au maximum sur le gestionnaire de santé du joueur.
Qu'avons-nous d'une année, d'accord,
donc ils sont sérialisés sur le terrain.
Allons de l'avant et créons un public et
obtenons une santé de couche maximale.
Et nous allons juste retourner V-max.
Je n'ai pas eu.
Nous en avons déjà un.
Non, nous ne le faisons pas.
Allons de l'avant et créons la bonne couche,
la santé actuelle aussi longtemps que nous sommes ici.
Donc, la santé actuelle et de quoi avons-nous besoin d'ici ?
Nous aurons peut-être besoin du,
Nope, je pense que c'est tout ce dont nous avons besoin.
Donc, maintenant, nous pouvons obtenir un maximum de santé.
Ensuite, nous devrons définir
la valeur du point du curseur de santé pour qu'elle soit égale au point
santé de la couche pour obtenir l'état de santé actuel. Gardez ça.
Que devons-nous faire d'autre ?
Nous devons également trouver un moyen de mettre à jour notre texte.
Je vais donc dire le, comment s'appelait-il ?
Le texte sur la santé, s'agit-il de l'étape des technologies de la santé ?
On y va, et c'est aussi public.
Super.
Faites défiler ici.
Ainsi, le texte de points fléchis de santé
et de santé sera égal au point de santé du joueur à jour.
La santé actuelle.
Et c'est plus la barre oblique.
Et c'était la santé maximale.
Donc le point de santé du joueur GetMax self.
On y va. Donc, tout est prêt,
mais je vais faire quelque chose ici.
Et c'est vrai, un journal de points de débogage.
Et je veux juste suivre les mêmes actes Santé.
Et laissez-moi juste prendre celui-ci.
Et cela aura du sens dans un peu.
J'ai tellement bouleversé celui-là.
Et vous verrez pourquoi dans un peu.
Je vais donc sauver tout ça.
Je vais retourner dans Unity.
Je vais diriger le jeu.
Je vais choisir un appartement qui deviendra les Bitcoins.
Faites-vous frapper.
S'il vous plaît, prenez-le Bon, donc on y va.
Parcourez le monde,
passez par le portail, passez au niveau suivant,
et vous pouvez voir que c'est 100 ici,
même si j'appuie sur la couche, c'est pour 90.
Quel est, selon vous, le problème ?
Je vais juste vous donner quelques
secondes pour y réfléchir.
Le problème était et je vais vous dire quel est le problème.
Tout d'abord, nous devons mettre à jour la santé des joueurs.
Mettez donc à jour l'intégrité de la couche ou l'interface utilisateur du lecteur.
Maintenant, allons le tester.
Vous l'avez peut-être vu dans le débogueur.
Je viens de remarquer que nous ne les appelions même pas méthodes.
Alors, tu y vas. Le débogage fonctionne,
je vais l'obtenir.
Passez par la larve,
passez par le portail.
Et quelle est la santé ?
La santé maximale est donc de 50 et la santé actuelle est 0.
Selon vous, quel est le problème ?
Eh bien, le problème est
comme nous l'avons dit dans la vidéo précédente,
nous avions déjà un joueur
la scène et ce joueur a été détruit.
Donc, une fois que nous voulons fixer cette barre de maison et la taxe,
elles sont fixées en fonction de l'ancien joueur.
Donc, pour définir le nouveau joueur,
que pensez-vous que nous devrions faire ?
Bien qu'il existe de nombreuses solutions à ce problème,
mais j'ai trouvé que la meilleure consiste simplement à faire passer d'une
d'
voix publique à un art public et à un numérateur.
Et ensuite, nous allons donner un rendement.
Nouveau. Attendez quatre secondes.
Et attendons 0,1 et
ce sera le moment pendant que,
n'oubliez pas, nous avons une image évanouie
que nous avons désactivée juste
pour accélérer le processus de test.
Maintenant, ce qui va se passer, c'est que nous attendrons 0,1
seconde et pendant ce temps
le joueur plus âgé sera détruit,
le nouveau joueur sera retrouvé
et nous recevrons immédiatement notre mise à jour.
Donc ici, au lieu de mettre à jour le lecteur,
je vais commencer une co-routine,
qui sera la mise à jour de la couche de santé vous.
Je l'ai sauvegardé dans notre jeu.
Nous gérons le jeu. Nous l'avons compris.
Nous sortons, nous passons par celui-ci, et nous y allons.
Nous pouvons constater que notre santé a été
mise à jour et qu'elle est très transparente.
On y va,
on voit que tout fonctionne parfaitement bien.
Et tout d'abord, nous avons aussi les Bitcoins,
donc nous devons corriger cela également ici.
Et ce que nous voulons également faire, c'est que nous voulons nous assurer
que nous sommes apparus dans la bonne position.
Donc, actuellement, répondez juste à côté du portail,
ce qui n'est pas utile.
Notre objectif est d'accéder à
ce portail et non pas de simplement apparaître là-dedans.
Je vais donc,
tout d' abord ici,
voir ce que nous devons faire.
Nous devons donc avoir le texte Bitcoin,
les effets BTC. On y va.
Donc le texte BTC, le texte est égal à trouver ou non,
nous avons le gestionnaire de jeu, l'instance.
Oui, mais continue. On y va,
je crois que celui-ci retourne
les bitcoins tous connus sous le nom de Bitcoin.
Donc, si je vais au gestionnaire de jeu pour avoir,
obtenez Bitcoin actuel, afin que je puisse
obtenir des Bitcoins actuels, sauvegardez-le.
Et cela devrait fonctionner, sauf que ce n'est pas
parce que vous ne pouvez pas convertir implicitement
le type et deux chaînes.
Donc, les deux cordes,
cela convertit n'importe quoi de la chaîne de jeu, sauf ça.
Essayons ça un peu du jeu.
Et maintenant, nous prenons une pièce et nous passons au niveau supérieur.
Bon, donc maintenant, nous devrions voir
que nous avons ici dix, nous y allons.
Cela prend du temps, mais cela ne sera pas perceptible,
surtout une fois que nous aurons l'image du destin,
mais nous devons maintenant engendrer le joueur à un certain moment.
Je vais donc entrer dans
le responsable de niveau et je vais le faire
au niveau manager.
Et je vais faire défiler vers le bas ici.
Et je vais créer une nouvelle méthode.
Donc, ici, nous allons créer
une nouvelle méthode qui est un vide public et sa couche spot et
son lecteur de points et d'entrée en point,
nous allons obtenir l'instance de points du contrôleur du joueur,
point pas instancier, point danse,
joue une manette de balle.
Ok, donc instance de contrôleur de couche.
Et nous allons utiliser
la position de transformation des points
et elle sera égale à une sorte
de point d'apparition, la position.
Et maintenant, je vais copier ceci et
créer un champ sérialisé ici.
la transformation et ce sera le point d'apparition.
Faites défiler vers le bas et voyez à quoi cela ressemble. Oui, on y va.
Ce qui se passe ici, c'est que nous mettons le joueur sur
le point dès le départ.
Par où commence-t-il ?
Ici, nous allons mettre le point de calque.
Nous sauvegardons tout cela.
Et ce qui se passe ici, c'est dès que
le gestionnaire de niveaux démarre,
rappelez-vous que ce n'est pas un destructeur de tonnes,
ce n'est pas un seul combat sur l'instance de point du contrôleur du joueur
, la position du point est placée
. immédiatement sur place.
De retour ici,
nous avons déjà ces points de paume.
Nous sommes des points d'apparition 1.
Je vais donc créer un nouveau ici et ça va
être une couche sur le spawn.
Et où est-ce que c'est et la scène.
Voyons voir, et ça va se passer ici.
Sauvez que si nous passons à un autre niveau,
nous pouvons réellement aller de l'avant et passer outre cela.
Donc, dans le gestionnaire, remplacez
et vous pouvez choisir ce que vous voulez remplacer ?
Gardez à l'esprit que nous ne voulons pas écraser les points d'apparition,
car
pour chaque niveau
il y aura un point d'apparition différent.
Je vais donc appliquer le remplacement
du gestionnaire de niveau préfabriqué, peut-être aussi appliquer le gestionnaire
de préférence écraser.
On y va.
Et ici, le joueur engendre des points.
Allons de l'avant et
appliquons également le préfabriqué à l'ensemble du préfèrent.
Ok, super. Assurez-vous donc de ne pas postuler.
Tout, sauvez tout ça.
Et maintenant, je vais diriger le jeu.
Je vais passer à un nouveau niveau.
Et nous devrions le faire. Non, nous ne l'avons pas fait.
C'est parce que nous, oh, d'accord.
OK. OK.
Donc le problème est ici et 11 manager,
quel est le problème ici ?
Si nous faisons défiler jusqu'à eux,
nous apparions point et le gestionnaire de niveaux.
Quel est le problème ?
On y va aussi, c'est ici.
Nous devons le régler. Et maintenant, nous devons nous adresser
aux gestionnaires de niveau et appliquer les modifications.
Maintenant, lorsque nous courons,
nous devrions voir si nous passons au niveau suivant.
Non, ça ne fonctionne toujours pas.
Quel est le problème ?
La variable n'a pas été affectée.
Je pense donc qu'il y a quelque chose qui ne s'installe pas rapidement ici.
Appliquez donc au gestionnaire de niveau préfabriqué.
Et quel est le problème d'autre ?
Je pense donc qu'à l'autre niveau,
le point d'apparition n'est pas correctement réglé.
J'essaie donc d'appliquer les modifications.
Peut-être que cette fois ça marchera.
Non, ce n'est toujours pas le cas parce que si nous allons
au gestionnaire de niveau du manager,
point d'apparition du joueur sur le gestionnaire de niveaux,
il n'est même pas défini.
Alors, que pensez-vous d'un problème ici, c'est
que je pense que nous avons commis une erreur
parce que tout ici a été réinitialisé.
Vous pouvez donc voir ici que ces derniers ne sont pas fixés.
Je vais donc tout postuler pour l'instant.
Ce n'est pas la meilleure idée,
mais ne nous inquiétons pas pour l'instant.
Je vais passer au niveau suivant et m'assurer que
nous apparaissons enfin sur le bon point.
Mais à l'heure actuelle, nous allons aussi frayer.
Et ici, comme vous pouvez le voir,
mais nous ne voulons pas cela parce que
chaque niveau aura ses propres ennemis,
aura ses propres niveaux, désolé
, vagues, etc.
Mais comme vous pouvez le constater, tout fonctionne.
Le seul problème qui reste dans notre jeu est
le fait que lorsque nous passons à la porte,
cela surgit la première fois et lorsque nous l'ouvrons,
quand nous partons, cela ne disparaît
pas.
Je veux dire, les mots n'apparaissent
plus et la porte ne se referme pas.
Pourquoi ? Parce que dans la pièce
que vous avez créée et c'était une erreur de ma part.
Nous éteignons la porte.
Nous éteignons donc la porte,
mais l'affichage du texte est toujours sur la porte.
Je vais donc vous laisser un dernier défi.
Faites en dehors du domaine des partitions.
Il suffit
retirer ce texte affiché de la porte et de
le placer sur le portail ici,
puis de le déplacer ici.
Le Canvas devra donc être frappé à la porte,
il devra être sur le portail et vous devrez
éteindre la porte en fonction du texte,
il y aura quelques changements dans le code.
Mais je pense qu'à ce stade,
vous êtes devenu un bon développeur de jeux à un
niveau aussi élevé avec toutes les longues
longues vidéos que je vous ai enseignées.
J'espère que cette vidéo vous a plu.
J'espère que vous avez apprécié ce cours.
J'espère que vous avez beaucoup appris.
J'espère que vous apprécierez le voyage et le processus.
Et j'espère que vous n'étiez pas trop en colère quand j'ai commis des erreurs.
J'espère que vous appréciez
la transparence que je vous montre.
Et si vous n'avez pas déjà,
bien sûr, laissez-moi un commentaire,
assurez-vous de vous joindre à la discorde
et je ne vous verrai
peut-être pas dans la vidéo suivante car celle-ci,
c'est la dernière.
Peut-être qu'un jour dans le futur,
nous resterons en contact.
Ne vous inquiétez pas à ce sujet. Merci beaucoup d'avoir regardé.
Au revoir.