Bienvenue à mes collègues développeurs de jeux dans une toute nouvelle vidéo extrêmement longue.
Je sais que vous en avez marre.
Mais comme toujours, cela en vaut vraiment la peine car nous apprenons beaucoup.
Tout d'abord, nous créons un ennemi.
Nous y ajoutons une gamme.
Nous ajoutons un moyen de dessiner cette plage.
Et nous gérons également le jeu. Nous pouvons tirer sur l'ennemi.
Évidemment, il ne meurt pas pour l'instant,
mais on peut entrer dans le champ de tir.
Vous pouvez voir ici que le joueur est dans la gamme Chase.
Il est envoyé à chaque fois.
Si nous sortons de cette petite bulle, voilà,
vous voyez que le joueur est hors de portée.
Ne perdons donc plus de temps.
Commençons par cette longue vidéo.
Oh, il est donc temps pour certains ennemis.
Commençons.
La première chose que nous allons faire, c'est que nous allons
cliquer avec le bouton droit de la souris pour créer un objet de jeu vide.
Assurez-vous que sa position est réinitialisée.
Et la rotation, l'échelle et ainsi de suite.
Et nous allons simplement appeler cela l'ennemi pour l'instant jusqu'à ce que nous décidions quel ennemi voudra utiliser.
La prochaine chose que nous devrons faire, c'est d'aller dans les sprites.
Nous allons cliquer avec le bouton droit de la souris pour créer un dossier ici pour les ennemis.
Et l'intérieur des ennemis ira dans les ressources et
nous allons traîner dans le monstre et les créatures.
Et mettons-le ici.
Nous attendrons donc que tout soit importé. Nous allons ouvrir ça.
Et comme vous pouvez le constater, nous avons quatre types d'ennemis
que j'ai téléchargés depuis les arts du jeu ouvert.
Bien sûr, comme toujours,
vous pouvez trouver vos propres ennemis.
Ce sont ceux que j'ai utilisés et ils seront dans le lien, dans les ressources.
Et que dois-je choisir ?
Je pense que je vais en choisir quatre maintenant,
le, voyons lequel.
Je n'y ai vraiment pas pensé.
Les ennemis.
Il suffit de choisir le squelette et d'être très générique.
Comme vous pouvez le constater, nous avons attaqué trois morts, soit cetera, et cetera.
Donc, je vais juste aller au ralenti.
Je vais faire en sorte que plusieurs Sprite Editor s'appliquent.
Et allons-y en tranchant, non pas automatiquement,
mais en fonction d'une taille de grille.
Et si vous étiez un peu confus par ce que j'ai fait la dernière fois,
je vérifie la longueur du sprite entier.
Il est donc 600 et je le divise par le nombre de squelettes que nous avons.
Nous avons donc quatre ou une seule rangée,
divisée par quatre.
Cela signifie que c'est 150 sur 150, comme toujours.
Pour une raison quelconque, je suis surpris.
Nous allons donc dans l'épissure, trancher.
Splice, pense que c'est une épissure de film, bien sûr, tranche.
On y va. Appliquer.
Maintenant, nous avons nos petits squelettes ici.
Je vais le faire glisser.
Et la scène, c'est un énorme
squelette, n'est-ce pas ?
C'est de l'ironie.
Si vous ne l'avez pas récupéré.
Quoi qu'il en soit, on aura 50 ans. On y va.
On ne peut toujours pas le voir parce qu'on a besoin d'avoir et de postuler.
Allons de l'avant et créons ici une couche qui sera l'ennemi ou les ennemis.
Et je vais mettre les balles à rendre devant l'
ennemi et aussi le joueur pour rendre un complot de l'ennemi.
Allons de l'avant et placons l'ennemi juste ici.
Alors, tu y vas.
C'est toujours un très petit ennemi.
Sauvons ça. Faisons-le un peu plus grand.
Donc, un ralenti 50, faisons-les 32.
Appliquez cela.
Peut-être même plus gros.
Faisons de lui 16 ans. Donc 16.
Oui. On y va.
OK.
C'est trop gros.
Quand D peut-être 20.
Oui, je pense que 20 ça suffit.
Cela a changé ces deux points. Voyez si cela aide.
Oui, on y va. Il a l'air beaucoup mieux,
encore un peu granuleux,
mais pas de soucis à ce sujet.
Nous l'avons gratuitement.
De toute façon.
Voyons voir, c'est le corps.
Ce serait le corps.
Et je vais l'enfouir sur l'objet de jeu ennemi.
Maintenant, nous avons l'ennemi ici et le corps.
Mettons-le juste à 00.
La position est relative,
bien sûr aux objets du jeu ennemi ou maintenant nous nous déplacons
l'aide de l'ennemi et vous pouvez voir qu'il est rendu derrière le joueur,
derrière le canon et qu'il devrait également être rendu derrière les balles. Vas-y à droite.
Maintenant que nous avons cela,
prochaine chose que nous devons faire est évidemment
un comportement ou d'un moyen de contrôler le comportement de notre ennemi.
Nous allons donc entrer dans les ressources, les scripts,
nous allons cliquer ici avec le bouton droit de la souris,
créer un nouveau dossier,
et appelons cela les ennemis.
Entrez.
Peut-être en créez-en un ici pour le joueur,
qui sera la manette du joueur.
Et voyons voir, nous allons également en créer un pour les puces et le temps maintenant.
Créez donc un nouveau dossier pour les puces.
Et nous allons les placer dans la balle.
Pourquoi ?
Parce que nous avons la balle,
la manette de balle du joueur et l'effet d'impact.
Ainsi et à l'intérieur des ennemis, cliquez avec le bouton droit de la souris,
créez un nouveau script C Sharp,
et nous l'appellerons le
contrôleur And EMI sur Entrée.
Attendez que cela soit compilé. Ok, super.
Et maintenant, dans l'ennemi,
nous pouvons aller de l'avant et ajouter un composant qui est le contrôleur ennemi.
Et nous allons ouvrir le script.
OK ? Donc, quelque chose que vous avez peut-être remarqué que tous les onglets ont disparu.
Ce n'est pas parce que je les ai fermés,
c'est parce que nous en avons changé le répertoire.
Nous avons donc déplacé, par exemple,
le contrôleur du lecteur des scripts de dossier vers les scripts du lecteur de dossiers.
C'est pourquoi nous ne l'avons pas,
mais ne vous inquiétez pas, c'est quand même,
si nous double-cliquons, nous pouvons facilement l'ouvrir.
Continuons.
De quoi avons-nous besoin ici à l'intérieur du contrôleur NMI ?
Bien que nous ayons besoin d'abord d'
une variable qui contrôlera la vitesse de l'ennemi.
Et nous aurons besoin d'une variable qui représentera le corps rigide de l'ennemi.
C'est ce que je vais faire.
Ce sont des choses très simples.
Pas besoin de beaucoup d'explications.
Il s'agit d'un champ sérialisé,
d'un flotteur et de la vitesse ennemie.
Et une autre variable qui sera un corps rigide privé 2D.
Et je viens de me souvenir.
Et EMI, corps rigide.
Le corps n'a pas besoin d'être capital.
Gardez ça.
Et je me souviens juste que nous avons évidemment oublié d' ajouter
quelques choses à l'ennemi, qui est ici.
Nous allons ajouter un composant qui sera un collisionneur de boîtes.
Et allons y aller de l'avant et y arriver.
Donc, sans le bouclier,
il est généralement préférable de garder les collisionneurs un peu plus petits que le corps réel.
Cela rendra le joueur de votre jeu désiré devenir plus précis.
Et nous pouvons aussi ajouter l'ombre, en passant,
sous l'ennemi, ce qui est une bonne idée.
Je vais ajouter un autre composant,
qui sera le corps rigide 2D.
De toute évidence, nous allons faire l'échelle de gravité 0.
Gardez cela, et nous fermerons les deux,
les deux vers le bas.
Déplacez le script sous les deux composants,
ou nous pouvons simplement le laisser là.
Quelle est la vitesse de l'ennemi ?
Quelle est la vitesse du joueur en premier, OK, c'est alors,
faisons en sorte que la vitesse ennemie soit de 5,5 de cela.
Gardez ça. Ok, super.
Maintenant, nous avons l'ennemi.
Nous avons un corps rigide et un collisionneur sur lui
pour pouvoir le tirer dessus et interagir avec lui physiquement.
Maintenant, ce que vous voulez faire, c'est que nous voulons commencer à déplacer l'ennemi vers le joueur,
mais pas tout le temps,
seulement lorsque le joueur se rapproche suffisamment.
Nous avons donc besoin d'une variable pour la plage à
laquelle le joueur sera dans un ordre pour que l'ennemi cesse de le poursuivre.
Et nous avons également besoin de la direction dans laquelle l'ennemi va se déplacer.
Tout d'abord,
nous allons créer un champ sérialisé,
qui sera un flotteur avec le joueur ou la plage de poursuite du joueur,
appelons cela la portée des chaînes de joueurs.
Donc la portée que le joueur devrait être pour commencer à le poursuivre.
Et nous allons créer un facteur trois privé.
Et ce sera la direction pour aller dans la direction de se déplacer et de sauver cela.
Ok, super.
Revenons ici.
Et quelle est la gamme Chase ? Et tu sais quoi ?
Gardons ça pour plus tard.
Et je vais vous montrer une façon très astucieuse de dessiner.
Alors, comment allons-nous savoir quelle est la portée de la chasse ?
Je peux donc, par exemple,
commencer à faire la plage de changement de cinq ou dix, ou 21.
Mais qu'est-ce que cela signifie ?
Qu'est-ce que cela signifie la portée de chasse ici ?
Nous devons donc chaque fois calculer ces petites cases
ici pour déterminer la distance ou la proximité de la déclaration.
Bien sûr que non.
Ce que nous allons faire, c'est que nous allons dessiner
un cercle ici qui n'apparaîtra qu'en mode scène,
mais pas dans le mode de jeu.
Comment allons-nous faire cela ?
Si nous y retournons et que nous avons quelque chose qui s'appelle les gadgets de tirage.
Et vous pouvez le trouver dans la documentation Unity.
Et là, vous
pouvez voir que nous avons quelque chose sous le comportement mono,
qui est OnDraw gizmo select.
Et vous pouvez voir ici l'implémentation OnDraw est sélectionné pour dessiner
l'objet gizmo est sélectionné.
Remarquez ce que nous avons dit, si l'objet est sélectionné et que vous pouvez le voir ici,
nous avons le test de gizmos et comment l'utiliser.
Nous créons donc un gadget OnDraw vide.
Et ici, nous pouvons créer la couleur gizmo afin de sélectionner la couleur que nous voulons dessiner.
Et que voulons-nous dessiner,
c'est la sphère.
Nous pouvons donc cliquer sur la troposphère et la voir ici, c'
est-à-dire que le public attire la peur,
dessine une sphère solide avec un centre et un rayon.
Nous allons donc mettre en œuvre cela.
Et utilisez-le pour dessiner notre propre cercle ou sphère autour de l'ennemi et connaître sa portée.
Et si nous regardons attentivement la méthode et que nous voyons ici que cela attire la peur,
nous avons besoin d'un centre et d'un rayon.
Quel devrait être le rayon ?
Pensez-y pendant que nous créons cette méthode.
Donc ici, nous allons dire sur les gadgets de tirage sélectionnés.
Et nous allons d'abord choisir une couleur.
Donc ce sera la couleur des points gizmos
et elle sera égale à la couleur, disons le rouge.
Gardez ça.
Ensuite, nous allons accéder au gizmos dot Draw wire, sphère.
Alors pourquoi une sphère dessine-t-elle une sphère filaire avec un centre et un rayon ?
C'est donc un peu différent de la sphère,
mais parce que nous jouons en 2D,
nous n'avons pas besoin de dessiner toute la sphère,
nous avons juste besoin du fil autour de celle-ci.
Et voyons ce qui devrait être le centre.
Le centre doit évidemment être la position du point de transformation ou
transport est le transport de l'objet qui possède le contrôleur ennemi.
Je sais que je l'ai dit un million de fois,
mais pour ceux d'entre vous qui sont encore confus,
je sais que j'étais un peu confus quand j'ai commencé à le faire
il y a quelques années, il y a bien des années.
Et je me souviens, alors d'où est-ce que ça vient ?
Eh bien, c'est la transformation de l'objet qui a le contrôleur ennemi dessus,
qui signifie que c'est celui-ci, l'ennemi V.
C'est le transformateur dont on parle ici.
Quel est le rayon ?
Eh bien, y avez-vous pensé ?
Quel devrait être le rayon ?
De toute évidence, c'est le champ de chasse du joueur.
Nous allons sauver cela.
Nous allons revenir dans Unity.
Et bien, alors que le cercle que vous demandez peut-être, eh bien,
si vous vous souvenez de quelques vidéos il y a quelques vidéos, nous avons désactivé les gadgets.
Peut-être que vous l'avez déjà vu,
vous ne l'avez pas remarqué, mais si nous cliquons dessus, nous y allons.
Et pourquoi l'avons-nous éteint ?
Parce que nous avions cet appareil photo et une icône ennuyeuse de la caméra.
Ce que nous pouvons faire, c'est que nous pouvons ouvrir les gadgets.
Vous pouvez voir que nous pouvons désélectionner beaucoup de choses ici,
mais l'une des plus importantes est que nous pouvons rendre ces icônes un peu plus petites.
Alors, tu y vas.
Nous ne voyons plus la caméra gênante partir, n'est-ce pas ?
Regardez donc ce grand cercle énorme.
Allons le rendre un peu plus petit.
Et vous pouvez voir qu'il change immédiatement.
Je vais le rendre grand.
Je vais mettre le joueur là.
Et la prochaine chose que nous devons faire est de calculer la distance entre le
joueur et l'ennemi et de voir si elle est inférieure à la portée.
Si c'est moins élevé, on peut commencer à courir après le joueur.
Si ce n'est pas inférieur à,
nous ne pourchassons pas le joueur.
Quelle est donc la première étape à faire ?
Eh bien, nous avons la portée,
nous avons la position de transformation de l'ennemi.
La prochaine chose dont nous avons besoin est une référence au joueur.
Comment allons-nous obtenir la référence du joueur ?
Eh bien, nous devons tout d'abord comprendre une méthode que je vais vous montrer,
c' est-à-dire l'objet point trouver des objets de type.
Et ce que cela fait,
l'objet t signifie qu'il dépend de l'objet que vous recherchez.
Ainsi, lorsque vous trouvez l'objet,
d devient ce type d'objet.
Ainsi, l'objet, le premier acte d'objet chargé qui correspond au type spécifique.
Il renvoie donc le premier objet chargé des types de type ou vous pouvez lui donner votre type.
Et si nous regardons ici,
nous pouvons en voir quelques exemples.
Disons donc que nous voulons trouver le moteur de rendu Canvas.
Si vous ne savez pas ce qu'est le moteur de rendu Canvas,
ne vous inquiétez pas, nous y examinerons plus tard.
Mais pour l'instant, regardez le moteur de rendu Canvas.
Nous créons une variable de tuyau de rendu de canevas avec le nom Canvas,
et nous utilisons un objet fini de type et nous obtenons le rendu du canevas.
Nous avons donc maintenant une référence à ce sujet.
Et parce que nous n'avons qu'un seul joueur,
nous pouvons l'utiliser.
Si nous avions plusieurs joueurs,
nous ne pourrions pas l'avoir parce que,
bien sûr, nous ne trouvons évidemment que le premier acte d'un.
Alors regardez cette méthode,
trouvez-la, étudiez-la, comprenez-la.
Ensuite, vous devrez relever ce défi.
Vous devez trouver l'objet joueur.
Créez donc une variable de type transformée pour représenter le joueur que nous voulons chasser
et commencer à utiliser trouver des objets de type 2, trouver le joueur.
Le type doit être la manette du lecteur.
Pourquoi ? Parce que nous devons trouver un type spécifique de joueur.
Alors, comment identifier le joueur ?
Il est comme tous les autres objets.
Qu'est-ce qui le rend unique ?
Il ne s'agit pas seulement du nom que vous pouvez trouver à travers le nom, le corps ou l'on.
Nous devons utiliser quelque chose de spécifique.
Et c'est quelque chose de spécifique, c'est le script de la manette du joueur.
C'est pourquoi le type d'objet que vous souhaitez trouver est la manette du lecteur.
Et enfin, utilisez la transformation par points sur l'objet que vous trouvez et
affectez-le à la variable que nous avons créée, la transformation par points.
Vous devez le savoir car le type que nous allons créer est la transformation.
Pourquoi se transforme-t-il ?
Eh bien, parce que nous voulons prendre la distance.
Comment pouvons-nous obtenir la distance ?
Bien sûr, parce que c'est une transformation.
Mettez la vidéo en pause dès maintenant.
Allez relever le défi.
D'abord, nous
allons commencer par créer une transformation privée et le joueur à chasser.
À l'intérieur du début,
nous allons dire que le joueur à chasser est égal à trouver des objets de type.
Et le type que nous recherchons est la manette du joueur.
Et quand on le trouve parce qu'on a déclaré deux Chase comme une transformation,
on va juste accéder à la transformation immédiatement de ma part.
J'espère donc que vous avez relevé le défi.
J'espère que ce n'était pas trop dur.
Je sais qu'il y a eu quelques astuces ici,
même si c'est la première fois que vous utilisez l'objet de type find,
je suis sûr que vous étiez au moins capable
de faire cette partie si vous n'aviez pas pu comprendre cela,
ne vous inquiétez pas à propos de cela était le temps venu, je comprendrai tout.
Mais maintenant, la prochaine étape consiste à aller de l'avant et à calculer la distance.
Je vais donc tout d'abord créer une déclaration if.
Et puis je vais écrire le vecteur 3 points.
Et vous pouvez voir que nous avons ici une méthode qui correspond à la distance et
renvoie la distance entre a et B.
Nous allons donc ouvrir cela.
Qu'est-ce que le A ?
Ce sera la position du point de transformation. Et qu'est-ce que le B ?
Ce sera le joueur qui va chasser la position des points.
Vous y allez.
Et quelle est la condition si la distance entre la position transformée,
qui est l'ennemi et le joueur à chasser,
c' est-à-dire le joueur et sa portée de poursuite inférieure à V joueur.
Ensuite, nous allons déplacer notre ennemi.
Mais c'est pour une autre vidéo.
Pour l'instant, je vais simplement utiliser le journal des points de débogage.
Et je vais dire que le joueur est dans le champ Chase.
Et une autre déclaration que nous dirons que dupliquer cette ligne, la déplacer vers le bas.
Et ça va dire que le
joueur hors de Chase est hors de portée.
Sauvegarde ça dans notre jeu.
Voyons ce que je veux juste faire quelque chose.
Je vais rendre cela public juste pour l'instant,
juste pour que nous puissions voir ce qui se passe.
Vous remarquerez donc que sur l'ennemi en ce moment
, nous avons un joueur à chasser, mais il n'y a rien.
Nous n'allons rien ajouter.
On va juste diriger le jeu. Vous y allez.
Vous pouvez voir que maintenant le joueur de la mort, si je clique dessus,
il y a la référence et maintenant le squelette,
notre ennemi a une référence au joueur.
Je peux même lui tirer dessus.
Je vais donc aller dans la console.
Qu'est-ce que c'est faux ?
Double-cliquez.
Ok, donc celui-ci et le joueur sont hors de portée.
Permettez-moi de placer la fenêtre du jeu à côté
de la scène lorsque celles-ci nous permettent de voir clairement le cercle ici.
Donc si je m'approche assez près,
on y va, vous pouvez voir que maintenant le joueur est dans le champ Chase.
Si je sors, le joueur est hors de portée.
Si je vais jouer comme NJ étrange,
voilà, tout fonctionne parfaitement bien.
J'espère que ça vous plaira.
Et la prochaine vidéo va réellement déplacer notre ennemi,
pas seulement imprimer quelque chose dans le débogage, vers le journal.
Permettez-moi de supprimer ce journal de points de débogage.
Gardez ça.
Permettez-moi de le rendre privé à nouveau parce que nous n'avons pas besoin de le voir.
Je voulais juste faire une démonstration.
N'oubliez pas de mettre en scène tous vos fichiers.
Et avant de partir,
qu'est-ce que je voulais aussi vous dire tous.
J'espère que ça vous plaira.
voit la prochaine fois.