Créer un tir de tir dans Godot | Michael Mcguire | Skillshare

Vitesse de lecture


1.0x


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

Créer un tir de tir dans Godot

teacher avatar Michael Mcguire, Author | Programmer

Regardez ce cours et des milliers d'autres

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

Regardez ce cours et des milliers d'autres

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

Leçons de ce cours

    • 1.

      Introduction

      0:27

    • 2.

      Où télécharger Godot

      1:19

    • 3.

      Configuration du projet

      2:31

    • 4.

      Fond défilant

      13:33

    • 5.

      Multiplicateur de fenêtre

      4:36

    • 6.

      Configuration du joueur

      4:27

    • 7.

      Mouvement des joueurs

      11:06

    • 8.

      Animation de joueur

      9:56

    • 9.

      Mouvement diagonal

      3:23

    • 10.

      Barrières de jeu

      4:57

    • 11.

      Capacité de prise de vue

      16:46

    • 12.

      Créer des puissances

      2:38

    • 13.

      Animer des Power Ups

      6:03

    • 14.

      Puissance de frappe

      17:56

    • 15.

      Activation de puissance

      15:43

    • 16.

      Boucliers

      11:23

    • 17.

      Prise de vue multi-

      6:59

    • 18.

      Petits changements

      2:26

    • 19.

      Configuration ennemie

      5:09

    • 20.

      Prise de vue intérieure

      16:37

    • 21.

      Fuite de mémoire

      6:13

    • 22.

      Mouvement vertical

      3:40

    • 23.

      Spawner ennemi

      12:01

    • 24.

      Touche par balle

      5:58

    • 25.

      Dégâts à la santé et au bouclier

      6:53

    • 26.

      Gain de santé

      3:36

    • 27.

      Arrêter de tirer mutuellement

      5:01

    • 28.

      Animations spawn

      4:46

    • 29.

      Création d'interface utilisateur

      8:41

    • 30.

      Mettre à jour l'interface utilisateur

      10:32

    • 31.

      Explosion de particules

      12:12

    • 32.

      Jeu

      7:41

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

Généré par la communauté

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

74

apprenants

1

projets

À propos de ce cours

Apprenez à créer des jeux dans le moteur de jeu Godot en utilisant un langage de programmation de type python,

GDScript.In ce cours, nous allons créer un jeu de tir spatial qui est multi-plateforme pour MacOS, Windows, Linux, Android, IOS ou même intégré à un

browser.While votre parcours de développement de jeux, vous acquérerez les compétences et les capacités nécessaires pour créer le tir spatial que vous souhaitez.

****Si vous n'avez pas d'expérience en codage ou que vous souhaitez vous familiariser avec la langue, mon cours sur l'apprentissage de la langue GDscript est recommandé pour vous aider à apprendre au moins la terminologie et la structure de base du ****If


apprendrez :

  • Les calques et les masques

  • Créer des frayeurs

  • Groupes d'utilisation

  • scripts et objets réutilisables

  • Gestion d'inventaire

  • Réimporter des actifs avec différents paramètres

  • L'importance de l'organisation des fichiers

    Et plus encore...


    ****Si vous n'avez pas d'expérience en codage ou que vous souhaitez vous familiariser avec la langue, mon cours sur l'apprentissage de la langue GDscript est recommandé pour vous aider à apprendre au moins la terminologie et la structure de base du ****If

    fournit un énorme ensemble d'outils communs, de sorte que vous pouvez simplement vous concentrer sur la réalisation de votre jeu sans réinventer le roue.

    Godot est entièrement gratuit et libre sous la licence MIT très permissive. Pas de ficelles attachées, pas de redevances, rien. Votre jeu est à vous, jusqu'à la dernière ligne de code moteur.

Rencontrez votre enseignant·e

Teacher Profile Image

Michael Mcguire

Author | Programmer

Enseignant·e
Level: All Levels

Notes attribuées au cours

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

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

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

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

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

Transcription

1. Introduction: Créer un jeu de tir spatial est un moyen classique de s' initier à la création de jeux vidéo. Dans ce cours, nous allons aller de l'avant et examiner quelques mécanismes différents, y compris un arrière-plan de défilement. Classique pour des jeux comme celui-ci, avec différents micros que nous pouvons activer, nous allons créer nos propres petites explosions en utilisant le système de particules. Nous allons créer un système de tir multiple pour aller de l'avant, nous rejoindre et apprendre à créer un jeu de tir spatial aujourd'hui. 2. Où télécharger Godot: Très bien, bienvenue à tous. Et si vous n'avez pas le moteur nécessaire pour créer notre jeu ici aujourd'hui, vous pouvez vous rendre sur Godot Engine.org et vous pouvez le récupérer directement sur le site Web en sélectionnant l' onglet Télécharger ici sur la page haut. Vous n'avez besoin que de la version standard pour suivre ce cours. La version mono prend en charge le do dièse. Cependant, nous n' utiliserons pas C-sharp, bien que vous puissiez le récupérer. Il n'est pas nécessaire de l'utiliser. Je n'utiliserais pas la version standard, très bien. Ce moteur est disponible sur Linux, Mac et Windows, ainsi que directement dans le navigateur Web. Si tu le sais, comment as-tu réussi ? Nous pouvons voir, nous pouvons simplement faire défiler ici un peu et vous avez les instructions de votre scoop. En ramassant ça. Vous pouvez également le créer directement à partir du référentiel GitHub. Et comme vous pouvez le voir, il y a aussi une page sur laquelle vous pouvez le récupérer, ainsi que la page Steam sur laquelle vous pouvez le récupérer. endroit où vous décidez de l'obtenir dépend entièrement de vous. Dans les deux cas. Assurez-vous simplement de le récupérer. Et je te verrai dans la prochaine où nous pourrons commencer. 3. Configuration du projet: Très bien, donc une fois que vous aurez ouvert le moteur pour la première fois, vous serez accueilli par cet écran. Bien sûr, vous n' aurez rien à l'intérieur des projets locaux à moins d'avoir déjà fait des choses ici auparavant. Mais nous allons cliquer sur le bouton Nouveau projet ici. Vous pouvez donner un nom à votre projet et le parcourir où vous le souhaitez. Et quand vous le faites, vous pouvez simplement cliquer sur le bouton Créer un dossier. Et un nouveau répertoire sera créé. Par exemple, mon jeu de démonstration. Si je clique sur Créer un dossier, il sera échangé. Vous pouvez utiliser GL ES 3 ou 2. Cela ne devrait pas faire de différence dans ce projet en particulier. Et si vous regardez ça à l'avenir, vous aurez deux options vulcaines ici. Rien de ce qu'elle ne fera vraiment différence quant à ce que nous sélectionnons ici. Donc pour les besoins de cela, je vais juste le laisser sur OpenGL en trois points. Oh, je vois. Il n'y a aucune raison de le changer. Et je vais déjà appuyer sur Annuler. Créez-en un vide ici. Nous pouvons donc ouvrir ça. Très bien, maintenant que nous avons un projet ouvert, maintenant que notre projet est ouvert, nous pouvons aller de l'avant et nous pouvons accéder à l'onglet Projet ici en haut et nous pouvons obtenir la configuration de notre projet. Donc ce que nous allons faire, c'est aller de l' avant et dans Config, dans l'application, nous allons choisir d' utiliser un dare personnalisé. De cette façon, nous pouvons envoyer nos journaux dans un dossier contenant notre nom de jeu, ce qui aura l'air un peu plus professionnel. Si un utilisateur a besoin d'accéder aux journaux pour une raison quelconque, si vous souhaitez lui donner un nom personnalisé, vous pouvez le faire ici. Je ne vais pas m'embêter. Je suis d'accord pour le laisser comme nom de projet. Maintenant, si nous faisons défiler vers le bas, nous pouvons rechercher la section appelée display et aller à l'intérieur de la fenêtre. Maintenant, pour ce contexte que j'ai ici, nous allons l'utiliser comme T2 et T4 d'ici 400. C'est donc sur cela que je vais régler notre fenêtre. Nous allons maintenant ajuster la taille réelle de celui-ci plus tard. Mais pour l'instant, c'est sur cela que nous créons notre fenêtre, 224 par 400. Nous allons le régler, nous assurer qu'il se trouve sur notre ordinateur de poche ou le régler en mode portrait et infrastructure. Nous pouvons le définir sur 2D et conserver l'aspect. Maintenant que notre projet est prêt à démarrer, nous pouvons passer à la vidéo suivante et commencer à faire avancer les choses. 4. Fond défilant: accord, donc la première chose que nous allons faire est de configurer notre fond de défilement pour notre jeu de tir spatial. Puisque notre joueur ne va pas faire de mouvement réel aussi loin que de se déplacer, comme vous le verriez dans un jeu de plateforme. Dans un jeu de tir spatial, l'arrière-plan bouge réellement et le joueur reste immobile et se déplace sur l'écran visible. Pour ce faire, vous allez utiliser les textures que j'ai incluses dans ce cours. Et vous pouvez aller de l'avant et les intégrer à votre projet. Pour le moment, je n' ai qu'un dossier de sprites ici. Et j'ai mon expérience, Brendan. Et j'ai ici un dossier appelé scenes dans lequel je vais conserver toutes mes scènes individuelles que nous créons ici. Le premier que nous allons créer s'appellera World. Cela allait atteindre la scène 2D ici au niveau du nœud supérieur ou racine. Et je vais commencer et renommer mon monde. Ensuite, vous pouvez aller sur scène ou ici et enregistrer. Ou vous pouvez appuyer sur Control C ou désolé, Control S ou Control Shift S pour enregistrer votre scène, je vais fermer celle-ci car j'en ai une vide créée ici. Et on y va. Tu devrais le faire ressembler à ça. C'est à cela que devrait ressembler notre projet. Et vous pouvez voir ce léger contour bleu ici. Il s'agit essentiellement de notre Canvas. C'est ce qui va être affiché dans notre fenêtre. Ainsi, tout ce qui se trouve à l'intérieur ce rectangle bleu sera visible. Rien en dehors de ça ne le sera pas. Donc je vais aller de l'avant et apporter mon point PNG d'arrière-plan. Maintenant, nous pouvons simplement le faire glisser et le déposer comme ça. Dans notre cas, puisqu'il va fonctionner comme un sprite, c'est parfaitement bien que nous le fassions glisser dedans. Dans certains cas, vous pouvez cliquer sur le bouton plus ici et ajouter ce que vous voulez rechercher. Dans ce cas, c'était une égratignure. Ensuite, vous pouvez simplement faire glisser l'image vers la droite dans l'emplacement de texture ici à droite. Maintenant, je vais m' assurer que ce sont les propriétés de configuration ici. Je vais déplacer le mien vers la gauche, un vers le bas. De cette façon, il remplit tout mon écran. Et maintenant, quand j'appuie sur ce bouton Lecture ici, le bouton de scène de lecture sur le raccourci Windows est F. Comme vous pouvez le voir, je vais cliquer dessus et je devrais maintenant avoir ma propre petite fenêtre et voir ceci le contexte a occupé le tout. Maintenant, j'ai dit que nous allons ajuster la taille de cette fenêtre plus tard, car encore une fois , selon votre moniteur, cela peut sembler énorme ou extrêmement petit. On y va, j'ai mis ma fenêtre sur l'écran. Donc ce que vous voyez juste ici dans notre petite boîte rouge, désolé, ce n'est pas une petite vue de boîte rouge. qu'elle ici, c'est maintenant exactement ce que nous voyons dans nos jeux. C'est sur le côté droit. Donc, comme vous le voyez, cela peut être très petit ou extrêmement grand en fonction de la résolution de votre écran. Je ne vais pas le savoir. Mais lorsque nous modifierons la taille de la fenêtre, vous pourrez modifier les valeurs qui s'y trouvent. Mais pour l'instant, nous pouvons voir qu'il couvre toute notre fenêtre. Et ça a l'air bien. C'est juste que ça ne bouge pas. Ce que nous allons faire, c'est créer notre mouvement pour cela. Et tout ce que ça va faire c'est descendre. Nous allons donc créer un script. Maintenant, vous pouvez cliquer avec le bouton droit de la souris sur notre arrière-plan ici et sélectionner où se trouve notre tâche une ici, script joint. Ou, lorsqu'il est sélectionné, vous pouvez simplement appuyer sur le bouton de script ci-joint en haut, comme je le fais normalement. Quoi qu'il en soit, vous serez amené avec ce menu ici. Nous allons utiliser le langage de script GD. Comme vous le voyez par défaut, nous avons un script visuel, un script pour enfants et un script natif. Et si vous avez le Versus mono, vous aurez également une option C-dièse. Mais pour ce cours, encore une fois, nous utilisons simplement le script GD sélectionné, il hérite d'un sprite car c'est le type notre arrière-plan , le modèle. Nous pouvons simplement le laisser par défaut. Nous n'avons pas besoin de script intégré. Et notre chemin à l'intérieur de nos scènes, nous ne le voulons pas. Nous voulons que les choses restent organisées. Nous allons donc créer un nouveau dossier appelé scripts. Et c'est là que nous allons coller notre script d'arrière-plan et cliquer sur Créer. Très bien, nous avons donc nos variables ici. Et nous allons continuer et en créer un pour la vitesse de défilement. Nous allons maintenant utiliser deux-points égal et nous pouvons le définir sur un nombre. Je vais régler ce chiffre à dix pour l'instant et nous verrons si cela fonctionne bien. Nous n'allons pas avoir besoin de la fonction prête que nous voyons ici. Et comme vous voyez ce que la note ici, elle est appelée dès que la note entre en scène pour la première fois. Ce n'est pas ce que nous voulons faire. Ça va faire quelque chose. Juste pour une fois. Nous allons en fait utiliser la fonction process. C'est donc quelque chose qui peut se produire en continu avec les deux lignes sélectionnées ici. Je vais juste appuyer sur Control K pour les décommenter. Et nous pouvons supprimer la fonction pass ici. Et nous pouvons appeler la position du point automatique. J'ai compris parce que ce sera le haut et le bas. Et nous pouvons le définir sur. Maintenant, je me perds toujours de savoir si c'est positif, c'est haut ou bas ou des inconvénients de haut en bas, non ? Voyons voir, faisons plus égal à et nous verrons comment cela fonctionne. Je vais régler ce plus égal à notre vitesse de défilement. Très bien, nous allons commencer et tester notre scène. Et ça descend pour, ça avance super vite. Donc la première chose que je vais faire est de multiplier ou de faire défiler vitesse ici par delta. Et cela aidera également notre jeu à être indépendant du cadre. Quel que soit le nombre de frames que possède notre joueur, que devons-nous trouver avec ce jeu vraiment old school ? Et les graphismes ne sont pas trop exigeants ici. Mais quoi qu'il en soit, cela devrait permettre de le faire défiler de manière fluide. Peu importe. Si nous y jetons un coup d'œil, comme nous pouvons le voir, cela peut également se déplacer beaucoup plus lentement, c'est pourquoi je vais modifier cette option avant de toucher mon écran. Maintenant, c'est à vous de décider à quelle vitesse vous voulez qu'il se déplace . Cela dépendra entièrement de vous et de vos préférences. Je pense que je veux ralentir un peu la mienne. Essayons neuf ou un peu plus extrême. Essayons de le couper en deux. Retrouvez-moi ici jusqu'à cinq heures. D'accord, je crois que j'en aime cinq. Donc je pense que c'est ce que je vais faire. Maintenant, ce dont nous avons besoin, c'est de notre image. Tu as vraiment réséqué. Tu vois, quand ça descend, c'est parti. Ce que nous devons faire, c'est après avoir défini notre position, nous pouvons le faire. Et si vous cochez ici, nous pouvons vérifier si la session self point y. Nous pouvons vérifier si elle est supérieure à un nombre défini. Dans ce cas, le nombre serait de 400. Dites supérieur ou égal à 400. Cependant, si nous prenons note ici, notes le ferment pour supprimer l'erreur. Si nous prenons note, nous avons remarqué que notre position est en fait au centre de notre image. Donc, si cela doit être dépassé 400, alors nous allons toujours voir une image en demi-partie. Nous devons donc ajouter la moitié de cela ou la moitié de notre image à cela. Dans ce cas, ce sera 600. Tout ce que nous allons faire, c'est remettre la position de y à ce qu'elle est actuellement, que vous pouvez cliquer sur l' arrière-plan et que vous pouvez le faire correctement dans l'inspecteur. Mais puisque je sais que c'est au milieu ça devrait être 200. Et si j'entre et que je jette un œil à Transform, mon y est définitivement à 200. Donc pour vérifier que cela fonctionne, je vais changer mon bonbon à 15. Si nous y jetons un coup d'œil, défilons un peu trop lentement vers le bas, doublons ce chiffre jusqu' à 30 pour les tests. Et nous pouvons le voir descendre et dès qu'il arrive au bas de l'écran, il devrait être tout en haut. Et continuez simplement à faire défiler vers le bas. Allons-y. Allons-y. Le problème que nous avons ici est évidemment que nous pouvons voir l'image ou l'absence d'image derrière. Et nous pouvions évidemment voir que cette image se termine. C'est donc certainement un problème. Nous devons donc modifier certaines de ces options. Et ce que nous allons faire, c'est définir ceci sur, nous allons créer une nouvelle variable appelée Let's set this to reset. Comment l'appelons-nous ? Réinitialiser ? Appelons-le « reset scroll ». Je vais dire moins égal, mettez-le à 0. Maintenant, remarquez que j'utilise export var ici. Et si vous regardez cela à l'avenir, peut-être que l'utilisation de la version 4.01 des modifications que vous devrez effectuer ici est en fait le signe avant l'exportation. Mais si vous utilisez la version trois, vous n'en aurez pas besoin. Qu'est-ce que c'est ? Ce que cela va faire, c'est sélectionner un fond humide. Vous pouvez voir sur le côté droit, nous pouvons modifier le numéro de celui-ci. maintenant à nos spécificités. Il nous en faut 600 pour celui-ci. Nous pouvons donc définir ceci, notre position y si elle est supérieure ou égale à. Réinitialiser le scroll De cette façon, étant donné sa coordonnée x ici, nous pouvons utiliser le même script sur un autre qui peut avoir des nombres complètement différents. Nous pouvons donc en faire un autre pour la barre d'exportation, démarrer le défilement. Et avec cela, nous pouvons définir la position de départ, qui est de 200 pour nous ici. Et remplissez ceci en remplaçant dans notre code. C'est bon, on y va. Si c'est le cas, avez-vous une erreur qui s'affiche à propos d'un nœud ? Allons-y et appuyons sur le bouton d' arrêt en haut et ouvrons-le à nouveau, ou rejouons la scène. Et vous devriez voir que cela fonctionne parfaitement encore. Ce qui est génial. Parce que maintenant nous pouvons ajouter des nombres complètement différents avec un second ici. Je vais donc sélectionner mon arrière-plan en appuyant sur Control D pour le dupliquer. Et je déplace mon second tout en haut. Je vais juste m'assurer que c'est parfaitement réglé pour que rien ne s'affiche entre les deux. Et maintenant, nous pouvons simplement modifier nos chiffres ici. Notre position de départ devrait donc être de moins 200. Et notre parchemin de réinitialisation, nous devrions avoir un signe moins. Serait-ce positif 200 peut-être. Mais maintenant, si nous allons de l'avant et que nous lançons ceci, nous devrions voir apparaître comme une image continue. Et quand il se réinitialise, on ne le remarquera même pas parce que tout va être parfaitement aligné. Cela ressemblera donc toujours à un défilement constant. Allons-y. Nous avons maintenant notre arrière-plan de défilement. Encore une fois, allez-y et réduisez la vitesse à ce que vous voulez. Et si vous vous demandez pourquoi nous n'exportons pas notre vitesse, simplement parce que nous n'avons pas besoin de modifier la valeur de vitesse pour nos deux arrière-plans. Nous pouvons simplement laisser ce numéro comme étant le même. Nous pouvons donc venir ici et le changer en cinq maintenant. Ou si vous vouliez utiliser et, ou 20, ce que vous voulez utiliser pour votre jeu. Tu me vois entrer et tout fonctionne parfaitement bien. Nous avons maintenant un arrière-plan défilant pour notre jeu de tir spatial. 5. Multiplicateur de fenêtre: D'accord, dans cette vidéo, ça ne devrait nous prendre qu'un os qui doit être assez court. Nous allons juste ajuster taille de notre fenêtre maintenant afin de pouvoir l'éliminer maintenant plutôt que de revenir et de le traiter plus tard. Ce que nous allons faire, c' est mettre ça dans un script global. Maintenant, cela peut également être appelé chargement automatique ou singleton. Tout dépend de l' environnement dans lequel vous vous trouvez et de la personne à qui vous parlez. Mais ils sont généralement considérés comme la même chose. Nous sommes juste, tout dépend vraiment, vraiment comme si le singleton serait dans un motif de conception. Un global est une chose à laquelle on fait souvent référence. Et ici, on parle de prêts automobiles. Mais ce que je vais faire, c'est descendre dans mon biosystème ici. Sélectionnez des scripts, cliquez dessus avec le bouton droit et sélectionnez Nouveau script. Et comme c'est un script global, je vais juste appeler le mien global. Appuyez sur Créer. Je vais venir ici pour le projet, les paramètres du projet. Allez dans l'onglet Chargement automatique, rouse ou ouvre le chemin du fichier. Nous allons sélectionner notre script global. Appuyez sur le bouton Ajouter pour voir le script en cours de chargement. Il est activé, c' est-à-dire qu'il est actif. Et le nom que nous voyons ici, vous pouvez entrer ici et le modifier si vous le souhaitez. Je vais laisser le mien comme étant en désaccord avec le mot global et ce mot, ce nom est la façon dont nous allons accéder à ce script plus tard. Si jamais nous avions besoin d'accéder à quoi que ce soit, que ce soit des variables ou non, d'autres fonctions. Ce que nous allons faire, c'est utiliser la fonction ready ici. Et nous pouvons aller de l'avant et définir l'écran de la fenêtre du point OS sur une taille de fenêtre. La taille de notre fenêtre est égale à celle de notre système d'exploitation. Et nous pouvons régler cela sur n'importe quel multiplicateur. Si vous le souhaitez, vous pouvez venir ici et créer une variable pour le multiplicateur de taille. Et la raison pour laquelle nous le réglons avec deux points est égal. Si vous vous demandez, plutôt que d'utiliser simplement un signe égal, comme vous le voyez ici, qui est également valide. Mais en utilisant juste les égaux ici, il va le mettre à deux. Cependant, si nous avec le deux-points est égal ici, c'est aussi le mettre au strict sur le fait que deux est un entier. Donc ce serait pareil que si on faisait ça. Seulement c'est où ils feraient cela en écrivant une leçon avec un int, n'est pas terrible, mais parfois vous pouvez avoir quelque chose de très long comme un dictionnaire. Et cela raccourcit vraiment ce tout, raccourcit tout cela en deux caractères de début. Nous le réglons sur deux, en plus de déclarer le type comme étant deux. Ainsi, si nous lançons ceci, nous verrons maintenant que notre fenêtre s'ouvre. Et maintenant je dois redimensionner ça ici. Mais je vois que ça s'ouvre. Notre fenêtre est deux fois plus grande, ce qui, en fonction de votre écran, peut être beaucoup plus facile de voir ce qui se passe et être beaucoup plus jouable pour vous. Mais maintenant tu peux entrer et il change juste la taille du multiplicateur, comme tu veux. Donc si tu veux le réduire, tu Doug 0,75. Si vous le vouliez, si vous êtes sur écran 720 P. Ou si vous êtes sur un écran de Fourier, vous pouvez augmenter ce multiplicateur à quatre fois pour obtenir quelque chose de beaucoup plus grand. Et nous maintenons également cela, la résolution et voyons exactement ce qu'il y a dedans et ne sortons pas de notre boîte. N'oubliez pas, en raison de notre réglage ici, mode d' étirement en ayant le mode sur 2D, en réglant notre aspect à conserver. Très bien. Maintenant que cela fonctionne à tout moment, nos fenêtres sont réglées et nous passons à des choses plus intéressantes. 6. Configuration du joueur: Très bien, allons-y et préparons la configuration de notre joueur. La première chose que nous devons faire est créer une toute nouvelle scène. Vous pouvez donc le faire en appuyant sur le bouton plus en haut ici. Et au lieu de créer un nœud normal à D comme nous l'avons fait pour le monde, puisque ce sera un joueur, nous voulons être un corps cinématique 2D, donc nous pouvons atteindre l' autre nœud ici. Et nous pourrions simplement taper cinématique et la partager ici. Corps cinématique TD. Allez-y et sélectionnez-le. Et je suis allé de l'avant, j'ai renommé mon lecteur et je l'ai enregistré. Une fois que vous avez fait cela, cela devrait ressembler à ce qui suit. Entendez le mot triangle jaune de la mère. Nous allons résoudre ce problème dans un instant. Disons simplement que nous n'en avons pas, nous n' avons pas encore configuré notre zone de collision. Donc, comme un joueur ne sait pas comment appliquer la physique. La première chose que je veux que vous fassiez est notre lecteur soit flou et que les fournitures soient à nouveau adaptées à votre arrière-plan. Alors je l'apporte ici. Vous pouvez voir que le mien n'est pas flou. J'ai désactivé mes filtres, mais si c'est le cas, vous pouvez le sélectionner ici dans le système de fichiers. Accédez à l' onglet Importer en haut à gauche. Et vous remarquerez le filtre ici, vérifiez et activez, désactivez-le et importez. Sinon, s'il est activé, il sera flou comme ça. Ce qui peut convenir à certains jeux. Mais pour le pixel art, c'est terrible. Et vous verrez à nouveau la différence ici lorsque je l'éteins et que je clique à nouveau sur le bouton de réimportation. Cela fait une énorme différence dans le pixel art. Assurez-vous donc que cette option est désactivée toutes les textures que nous utilisons dans ce projet. Je vais donc simplement le supprimer d'ici, puisque ce n'est pas comme ça que nous allons réellement l'utiliser. Et c'est ça. Je ne veux pas avoir à me soucier le placer au bon endroit. Ce que je vais faire maintenant, c'est sélectionner mon joueur. Je vais appuyer sur le bouton Plus et récupérer le sprite. Et maintenant, elle va être verrouillée ici, au milieu, là où elle devrait être. Je vais saisir ma feuille de sprite et faire glisser directement dans la fente de texture de mon écran. Il existe maintenant de nombreuses façons de faire une animation. Et dans ce cas, j'ai une rupture pour chaque ligne. Nous pouvons donc voir sur la première ligne que nous avons notre animation inactive où nous sommes un peu comme si nous volons droit. Et puis nos deux lignes suivantes, deux rangées suivantes tournaient à gauche et à droite. Donc, afin que nous puissions l'utiliser dans un sprite normal pour une feuille de calcul. Nous allons aller dans cet onglet d'animation ici. Et nous allons définir huit cadres, ce qui est horizontal à deux parce que nous avons deux colonnes. Et puis les cadres verticaux nous avons trois rangées. Alors j'ai dit trois. Et maintenant, nous avons notre premier et vous pouvez passer de l'un à l'autre en utilisant le bouton cerveau ici, comme vous le voyez. C'est ainsi que nous allons travailler avec création d'une couche d'animation. Plus tard. Pour l'instant, nous avons toujours notre triangle jaune ici. Allons-y et sélectionnons à nouveau notre joueur. Le plus, apportez un polygone de collision, désolé, je forme la collision. Une forme de base fera très bien l'affaire ici. Et nous pouvons simplement utiliser un rectangle. Vous pouvez aller de l'avant et l'adapter vous le souhaitez à votre joueur. Je vais aller de l'avant et étendre mes notes un peu comme ça. Et je vais très bien laisser le pourboire sur le pourboire. Très bien. La dernière chose que nous allons utiliser ici est là où nous en avons besoin, nous en aurons besoin. Allons-y donc. Nous allons ajouter un autre élément dans notre lecteur ici. Et ce sera le lecteur d'animation. Qu'est-ce qui va se passer, où nous allons finir par créer des animations et les lire à partir de certains cas où nous en avons besoin. Très bien, ça va le faire pour la création du joueur et la configuration du joueur ici. Ensuite, nous allons commencer et passer à la configuration des mouvements. 7. Mouvement des joueurs: Très bien, allons-y et faisons en sorte que notre joueur se déplace. Parce que si nous devions jouer cette scène ici, c'est plutôt ennuyeux. Tu t'assois juste un peu là-haut. Et si nous allons sur notre scène mondiale, et si nous appuyons sur cette icône de chaîne ici, nous voyons que nous pouvons avoir accès à nos autres scènes et nous allons récupérer notre scène de joueur. Nous allons juste de l'avant et nous plaçons dans la position où vous voulez que votre joueur soit. Je vais placer le mien juste là. Et encore une fois, si on l'ouvre et qu'on y jette un œil, quand on voit que ce n'est pas très excitant. Il bouge, mais notre joueur est un peu assis là comme une image immobile. Nous pouvons donc aller de l'avant régler ce problème et le faire bouger. Nous allons voir notre joueur. Sur la scène des joueurs. Nous allons cliquer sur ce bouton Ajouter un script et y ajouter un script de lecteur. Maintenant, n'oubliez pas de mettre cela dans votre dossier de scripts pour que les choses restent propres et organisées. Et allez-y et créez-le. Et c'est ce que nous avons. Nous allons donc avoir besoin de quelques variables ici. L'une d'elles sera notre vélocité, et celle-ci est la principale. Nous allons avoir besoin d'une vitesse variable. Et nous pouvons régler cela sur deux points égal à un vecteur, mâcher. Et vous pouvez soit ouvrir les parenthèses et mettre 0 virgule 0. Ou vous pouvez faire un vecteur deux points et le mot est 0 en majuscules. Les deux sont exactement la même chose et produisent le même résultat. La fonction de lecture ici nous n'allons pas avoir besoin. Et allons-y et créons une variable supplémentaire pour notre vitesse. Et je vais aller de l'avant et régler le mien pour régler le mien sur 100, et nous verrons à quoi cela ressemble. Ensuite. Nous avons notre fonction de processus. Nous pouvons décommenter cela à nouveau en sélectionnant et en utilisant Control K. Et à l'intérieur de ceci , nous allons avoir nos fonctions ici. Et le premier dont nous aurons besoin est de déplacer la diapositive, la diapositive de soulignement et la diapositive de soulignement. Et nous devons transmettre au moins un argument pour que cela fonctionne. Et cet argument va juste être notre vitesse. Maintenant, avec cela et le problème, nous allons voir une erreur. Maintenant, si nous allons de l'avant et que vous voyez un bougre de R T ici. Nous avons deux problèmes qui surgissent. Maintenant, ces problèmes, si nous cliquons dessus et que nous allons dans l'onglet Erreurs, nous pouvons voir que delta n'a jamais utilisé dans le processus de fonction. Nous pouvons donc simplement mettre un trait de soulignement au début de delta. Et cela indiquera au participant de ne pas tenir compte de cela. Ignorez le fait que nous ne l'utilisons pas. Et notre deuxième indique que renvoie une valeur qui n' est jamais utilisée et que nous n'avons jamais besoin de l'utiliser. Ce que nous pouvons faire ici c'est de mettre un commentaire. Et ce commentaire est juste pour cliquer dessus. Le spot sexuel dont nous avons besoin est supplémentaire. Nous allons donc utiliser un commentaire que j'ai appelé warning, dash, ignore, deux-points, return, underscore value, underscore ignoré. Et cela va ignorer la valeur ignorée de la ligne suivante. Il est essentiellement mis sur la ligne neuf. Il va ignorer que la valeur sur dix, ou seconde erreur ici, du déplacement de la diapositive qui est renvoyée est ignorée. Et si nous le voulions, nous pourrions faire la même chose pour Delta également. Nous pouvons donc le faire avec, si nous le voulons. Nous pourrions aller au-dessus la fonction process et nous pourrions utiliser le tiret d'avertissement, ignore, deux-points, argument inutilisé, et nous débarrasser de ce trait de soulignement avant delta. Et nous devrions faire en sorte que ces deux aspects soient complètement ignorés. Et ce ne sera que pour ces deux lignes. C'est juste une chose très temporaire qui est créée ou qui nous donne la réponse et pour ignorer l'erreur suivante qui précède ce commentaire. Donc vous pouvez le faire, les avoir d'une façon ou d'une autre. Mais ça, ce sont deux manières différentes pour vous, façon dont vous voulez vous y prendre. Maintenant, pour le mouvement lui-même, nous allons créer une fonction appelée mouvement. Et nous allons appeler le mouvement au-dessus de la diapositive mobile. On va faire ici, on va aller de l'avant et vérifier si on appuie sur notre bouton. Nous disons donc si entrée. Et pour l'instant, utilisons-le. Le point est souligné, le trait de soulignement de la poitrine. Et le code de scan que nous pouvons mettre ici si vous connaissez le chiffre, vous pouvez le saisir, mais il y a de fortes chances que vous ne le fassiez pas. Nous allons donc simplement taper le trait de soulignement d en majuscules. Et on peut mettre deux points. Ensuite, sur la ligne suivante, nous ferons un point de vélocité x. Nous voulions donc simplement accéder à la valeur x de la vélocité. Ainsi, le premier chiffre et la touche D sont généralement associés au déplacement vers la droite. Donc, ce que nous allons faire ici, c'est que nous devons le placer à droite sur l'axe des abscisses ici, et nous allons vers la droite. Ce nombre va augmenter. Ce chiffre sera donc positif. Qu'est-ce que c'est égal ? Vitesse ? Maintenant, si on lance ça et qu'on appuie sur la touche D, et elle, on se déplace vers la droite et on continue à bouger. Si vous souhaitez créer un bouton sous la forme du nom d'une action. Donc, si vous ne voulez pas le faire, c'est continuer appuyer et à le mettre dans la clé comme ça. Nous pouvons en fait accéder à deux projets, les paramètres du projet appelés input, input mapper. Cela nous permet de créer des contrôles pour notre jeu très facilement. Ou l'action ici, je vais juste tourner, non ? Ajouter. Et maintenant je peux appuyer sur ce bouton plus. Et je pourrais faire une clé. Et chaque touche que je mets ici, je la mettrai dans la touche D. Je peux appuyer sur OK, mais je peux aussi entrer. Et si je le voulais, je pouvais aller sur la touche Commande et nous pouvions faire la flèche droite si je le voulais. Donc, si je veux prendre en charge à la fois WASD et les touches fléchées, je peux certainement le faire. Et je n'ai besoin que d'une seule commande. ce que nous faisons. Et comment nous utiliserions cela comme au lieu d' utiliser sa touche enfoncée, nous allons faire est d'action sein. Et vous verrez apparaître votre action et vos factures ici. Nous pouvons donc sélectionner tourner à droite. Et si nous devions lancer ça, il nous faut le deux-points à la fin. Allons-y. Maintenant, si nous lançons cela et que nous appuyons sur la même chose, nous avions notre touche D que nous avons assignée à l'action tourner à droite. Nous allons aller de l'avant et aller à droite. Et bien sûr, nous nous déplaçons dans le monde et nous y jetons un coup d'œil. Allons-y. Donc, ce que je veux que tu fasses , c'est que tu essaies de pouvoir tourner à gauche maintenant. Et comme défi supplémentaire, je veux que vous voyiez si vous pouvez trouver comment se faire arrêter de bouger alors que vous n'appuyez sur aucun de ces boutons ? Bon ? Allez-y, prenez un moment, mettez la vidéo en pause et accordez-lui une photo et un moment. Vous pouvez le remettre en pause. Nous allons y jeter un œil et je vais vous montrer comment je m'y suis pris. Bon, bon retour. Donc nous allons commencer par la première chose que nous allons faire, c'est dire autre chose. Donc aussi, si nous n'appuyons pas sur le bouton droit, notre point de vélocité x va être égal à 0, ce qui doit nous empêcher de bouger. Donc tu vois que si on appuie sur la touche D, on va à droite ? Et si j'arrêtais, nous avons arrêté de bouger. Ok, donc si on n' appuie pas sur nos boutons , on a arrêté de bouger. Super. Maintenant, quelque chose que vous pourriez essayer c'est que vous êtes peut-être entré et que vous avez dit, si vous appuyez sur une action, tournez à gauche. Ce qui n'existe pas pour le moment. Je vais devoir me créer ici dans une seconde. Ensuite, vous accéderez au point de vélocité x. Et si vous vous souvenez que ce que j'ai dit va vers la droite, nous allons augmenter en valeur. Donc en allant vers la gauche, nous allons diminuer de valeur. Donc ça va être une vitesse négative. Maintenant, laissez-moi créer ce bouton très rapidement. Tournez à gauche. Et j'ai réglé ça sur mon mal. Allons-y. C'est maintenant que tu verras peut-être que si on appuie sur D, il ne se passe plus rien. On ne peut pas tourner à droite. Mais si nous utilisons un, nous pouvons certainement tourner à gauche et nous nous arrêter, mais nous ne pouvons pas aller à droite. Maintenant, tout ce que nous avons à faire pour résoudre ce problème est définir sur un LFO, également appelé else-if. Donc, si nous faisons E, L, I, F sur R tourné à gauche au lieu d'un normal, si ces deux lettres corrigent tout dans ce code et tout dans le maintenant fonctionne comme il le devrait. Parce que nous sommes en train de vérifier si l'un de ces bugs ou appuyez sur ce que je recherche. Toutes ces exigences différentes. Bien que je sois d'accord pour dire que c'est un peu français à deux F ça ne marche pas vraiment ici. Et cet aspect, mais quand on vient à faire des mouvements de toute façon, on veut généralement juste appuyer sur une direction. Donc, si nous l'exécutons maintenant et que nous y jetons un coup d'œil, nous pouvons aller à droite, à gauche et nous arrêter à chaque fois. Très bien, nous pouvons maintenant jeter un œil à l'animation de notre couche. Et nous devons également essayer d' empêcher notre joueur de sortir de l'écran comme ça. Et il existe de nombreuses façons le faire également. C'est bon. Je vous verrai dans le prochain. 8. Animation de joueur: Très bien, alors allons-y et animons notre joueur. Dans celui-ci. Nous allons avoir besoin de créer des animations pour cela. Passons donc à notre équipe de joueurs. Je vais aller de A à D en haut pour pouvoir jeter un œil à ce qui se passe. Et nous pouvons sélectionner notre lecteur d'animation. C'est ce qui retient nos animations et notre sprite ici. Comme tout ce qui se trouve à l'intérieur. Il suffit de le déclencher pour qu'il ressemble à une image animée. Nous pouvons donc aller dans notre lecteur d'animation, cliquer sur l'animation de ce qui se trouve en bas. Sélectionnez Nouveau. Nous appellerons cela «  inactif ». Pour cette animation. Je vais juste le faire durer 0,3 seconde. Je vais le régler en boucle en bas à droite. Encore une fois, nous n'avons encore rien fait avec les chaînes. La longueur d'arc est de 0,3. Nous appuyons sur le bouton de mise en boucle ici pour assurer qu'il est activé. Et ce que nous allons faire, c'est sélectionner notre sprite. Nous pouvons jeter un œil à notre cadre ici. Et nous remarquons que nous avons ces clés qui apparaissent maintenant dans l'inspecteur. Cela nous permet de créer une image clé à l'intérieur de notre animation pour tout ce que nous avons ici. Et ce que nous allons faire rimer, ce sont nos cadres ici. Donc, si j'appuie sur cette touche, nous n'avons pas besoin d'une piste de réinitialisation, mais si vous voulez la laisser activée, cela ne fait aucun mal. Je vais utiliser les courbes de Bézier. Et ce cas, encore une fois, cela n'aura pas vraiment d'importance avec la feuille de calcul, mais je vais continuer et cliquer sur Créer. Vous voyez donc que nous avons peu de temps ici. Assurez-vous simplement que votre petit marqueur se trouve au tout début. Et nous pouvons continuer et créer cette image-clé 0. Ensuite, 0.2, je vais créer l'image-clé pour la transformer en image un. Si je le rejoue en boucle, nous pouvons voir que nous avons ce qui ressemble à notre flamme active et qui scintille un peu ici. Et on peut aller de l'avant et faire ça pour elle et à gauche et tourner à droite. Bien sûr, nous n' allons pas utiliser le cadre 01 et nous allons utiliser le prochain jeu d'anneaux. Je veux que vous essayiez de créer vous-même les animations de virage à gauche et de tourner à droite. Et mettez cette vidéo en pause, essayez-la. Revenez, je vais aller de l'avant et passer en revue . Si vous avez eu des problèmes, j'espère que nous réglerons certaines choses pour vous. Bon, bon retour. Nous allons donc passer à l'animation et en créer une nouvelle. Nous allons tourner à gauche. Et voyons quels sont ceux que nous avons effectivement tournés à gauche en premier. Donc je vais venir ici, changer ma longueur à 0,3. Activez la boucle, allez au début de ma piste avec une image définie sur deux, je vais créer une image-clé. Il crée. Je vais passer à SharePoint pour passer à l'image suivante, qui est l'image trois. Super, un autre point clé. Et je vais appuyer sur Play pour mettre ça en boucle. Il semble que mon premier cadre ait été foiré. Je vais donc simplement revenir au début. C'est nul de mâcher et d'appuyer à nouveau sur le bouton de l'image clé. Et on y va. Si je clique sur Play, tout va bien. Je vais faire la même chose pour tourner à droite. Créez une nouvelle animation. Tournez à droite. Réglez-le sur 0,3 boucle et activé ira au début, montez à l'image quatre. Et je vais juste reformuler ça juste pour être sûr. Sautez jusqu'à 0 pour passer à l' image cinq. Appuie sur la touche. C'était déjà sur cinq, donc je dois enseigner à six et appuyer sur la touche. Allons-y. Essayons encore une fois. Mes chiffres sont encore bizarres, donc je vais le changer à quatre. Sautez jusqu'à 25. Allons-y. Pour une raison quelconque, nous organisons l'animation. Le premier cadre semble toujours un peu bizarre. Dans certaines situations. On va jouer ça et on y va, l'accouplement aléatoire. Maintenant, nous avons besoin que cela fonctionne réellement dans notre script chaque fois que nous nous déplaçons. Pour cela, nous allons créer une nouvelle fonction. Animer ou animer plutôt, il suffit de le ralentir ou de le garder petit. Et nous allons appeler cette fonction d'animation dans notre processus, comme nous l' avons fait avec le mouvement. Tout ce que nous devons vérifier, c'est si notre vitesse sur l'axe des abscisses est supérieure ou inférieure à 0, parce que si elle est égale à 0, nous ne bougeons pas. S'il est plus petit, nous allons à gauche. S'il est plus grand, nous allons à droite. Nous pouvons donc aller de l'avant et vérifier si vélocité x est supérieure à 0. Ouais, ok. Donc, si c'est supérieur à 0, nous allons continuer et nous pouvons utiliser le signe dollar pour accéder à n'importe quelle propriété tôt ou pour obtenir notre nœud. Mais ce que je vais faire, c'est rendre ça un peu plus propre. Regardez-moi ici. Je vais donc revenir à mes variables ici. Je vais le faire sur ready, var, disons un calque M, Excel et définir ce qui est égal au lecteur d'animation dollar sign. Encore une fois, si vous êtes dans 4, je crois qu'avec un déjà là, vous aurez besoin du signe arobase. Voyons voir. J'imagine qu'on est dans trois. Cela va juste nous générer une erreur. Nous pouvons maintenant revenir à notre fonction d'animation. Nous pouvons simplement taper et entrer dans player. Et il fera référence à ce nœud de lecteur d'animation ici. Et on lui a dit de partir. Et on pourrait jouer avec des points. Et nous tournerons à droite lorsque x sera plus grand. Donc, si nous allons de l'avant et que nous essayons cela, nous pouvons le voir maintenant s'animer. Mais maintenant, bien sûr, nous sommes bloqués. La même situation que nous avons eue avec notre mouvement est que notre animation tourne vers la droite, puis nous sommes bloqués là sur la droite. Nous ne reviendrons pas à notre petite situation d' oisiveté ici. Donc, si vous le souhaitez, allez-y et prenez un moment ici pour voir si vous pouvez prendre notre virage à gauche et nous faire revenir à la normale lorsque nous n'appuyons sur aucun des boutons. Très bien, bon retour. Allons-y et attaquons-nous à cette situation. Nous allons faire comme nous l'avons fait auparavant avec LLF. Nous allons obtenir notre point de vélocité x. Nous allons vérifier s'il est inférieur à, si notre X est inférieur à 0, ce qui signifie que nous nous déplaçons vers la gauche. Et nous allons commencer et régler le lecteur d'animation, donc le joueur Anime, joue. Tournez à gauche. Maintenant, nous devons trouver l'autre situation sur le cas où nous n'appuyons sur aucun de ces boutons. Et juste comme avant que nous puissions utiliser autre chose. Et en mode point joueur Idle. Maintenant, si nous regardons ça, nous allons tourner à gauche et à droite, et nous revenons à la normale et nous n'appuyons sur aucun des deux. Nous pouvons jeter un coup d' œil à cela à l'intérieur de notre monde et à quel point nous sommes un acteur en mouvement. Et c'est tout ce dont nous avons besoin pour les animations d'un joueur. Donc si vous voulez avancer et ajouter du mouvement pour avancer et reculer, ce sera sur l'axe Y. Donc, si vous voulez configurer cela pour pouvoir avancer et reculer, vous pouvez certainement le faire. Et je pense que nous pouvons aller de l'avant et vous pouvez ajouter cela juste pour le cas d'utilisation spécifique. N'oubliez pas que si vous tournez à droite, nous allons régler notre vélocité à 0, comme nous allons le faire pour une autre. Ce que vous feriez pour le y voir si nous faisons le point de vélocité y est égal à 0. Et bien sûr, je vais aussi les envoyer sur Alice. Et nous ferons la même chose que moi, si seulement nous pouvions faire quelque chose comme avancer. Maintenant, bien sûr, nous n'avons qu'à influencer notre vitesse. Pas pourquoi ? Nous sommes rapides, que ce soit positif ou négatif, allons déterminer si vous montez ou non , ou quand vous le faites. Nous n'allons pas bouger à gauche ou à droite. Maintenant. Je n'ai pas la configuration de mes boutons, mais c'est essentiellement ce que vous allez faire et vous allez faire la même chose en arrière uniquement, bien sûr, est vous assurer que vous avez correctement configuré votre vitesse, que ce soit positif ou négatif sur le Y. Vous pouvez donc avancer et reculer si vous voulez ajouter cette fonctionnalité à votre jeu. 9. Mouvement diagonal: Très bien, dans cette vidéo, je vais juste vous montrer rapidement comment créer un mouvement à 8 directions. Donc, si vous voulez vous déplacer en diagonale, vous allez être vu. Si nous regardons ici, nous pouvons nous déplacer vers la gauche ou la droite. Extrêmement rapide. C'est parce que j'ai changé. Allons-y. Vous verrez ici que vous pouvez vous déplacer vers la gauche ou la droite, ou vous pouvez vous déplacer de haut en bas. Si tu ne bouges pas vraiment. En même temps, nous voyons si je monte et j'appuie sur la droite. Maintenant, allons-y. Je suis toujours en train de suivre cet angle étrange que nous avons là. Donc, tout ce que je vais faire c'est supprimer tous nos jeux de zéros ici. Nos boutons ne changeront donc qu'un seul accès, le Y supplémentaire. Nous allons prendre notre bloc else ici qui met tout à 0. Nous pouvons supprimer cela complètement, changer notre ellipse ou bien les instructions if en une simple instruction if. Et au sommet du mouvement, nous pouvons aller de l'avant et définir la vélocité égale au vecteur deux points 0. Et c'est tout ce que nous avons besoin de faire pour avoir un bon mouvement en diagonale. Cela fonctionne correctement et nous n'avons pas de problèmes étranges. Donc, si vous voulez avoir un mouvement à 8 directions, c'est comme ça que vous pouvez aller de l'avant et le faire. Encore une fois, c'est pourquoi nous déplaçons nos zéros. Donc si tu te souviens d'ici, je ne reviendrais pas, non ? Nous avons également défini la vélocité y sur 0. Et quand nous montons et descendons, nous avons réglé la vélocité x à 0. Eh bien, en les supprimant et en mettant la vélocité égale deux points vectoriels ici en haut de notre mouvement. Nous pouvons aller de l'avant et avoir un bon mouvement dans 8 directions dans notre jeu. Donc, si c'est quelque chose que vous voulez avoir là-dedans, c'est comme ça que vous pouvez aller de l'avant et l'ajouter. Maintenant, si vous remarquez qu'il y a une chose chez les rats, lorsque vous vous déplacez en diagonale, vous vous déplacez plus vite que si vous vous déplacez à gauche ou à droite. Donc, tout ce que je vais faire, c'est que nous pouvons régler la vitesse égale la vitesse normalisée par point par la vitesse. On va essayer ça. Maintenant, vous voyez que nous maintenons une vitesse constante, que nous allions tout droit, de côté ou en biais. Bon ? C'est le cas pour cette vidéo. C'est pourquoi il faut lancer la fin très vite. Je sais donc que certains d'entre vous voudront probablement un mouvement à 8 directions. Vous demande, d'une certaine manière, de moderniser un peu votre jeu et de ne pas rester coincé si loin dans le passé où nous n'avions que les deux directions distinctes et nous ajoutons l'une ou l'autre. C'est ainsi que vous ajoutez du mouvement. Et dans la prochaine , nous verrons comment empêcher le joueur de sortir de notre écran. 10. Barrières de jeu: Très bien, alors bienvenue. Dans cette vidéo, nous allons voir comment empêcher l'utilisateur de sortir de l'écran. Comme vous le voyez, nous allons de gauche à droite. Nous allons passer complètement l'écran, qui n'est pas ce que nous voulons pour notre joueur, même que le fait de reculer et avancer quittera complètement l'écran. Pour ce faire, nous avons deux méthodes pour le faire. Nous pouvons utiliser la méthode de la barrière invisible, ou nous pouvons vérifier la position du joueur par rapport à vous, bien sûr, la taille de notre projet ici. Donc, si nous voulons adopter la méthode de la barrière, nous pouvons créer un corps statique ici dans le monde. Créez une forme de collision. Assignez cette forme, créez un rectangle. Si je prends juste ce corps statique, je vais verrouiller la forme de collision ici afin de ne pas le saisir . Alors j'ai attrapé le corps statique et je l'ai juste déplacé ici. Je peux maintenant le verrouiller. Et si je prolonge la sensation , c'est tout. C'est tout ce que nous aurions à faire. Et bien sûr, nous pouvons appliquer cela aux quatre côtés. Et nous pourrions empêcher l'utilisateur de sortir de l'écran. Bien sûr, nous pouvons aller en bas parce que nous n'avons pas de barrière là-bas. Mais c'est une façon de définir cette restriction. Maintenant, pour aller sur le côté droit, nous allons continuer et utiliser la deuxième méthode que nous pourrions utiliser pour cela. Lorsque nous tournerons à droite, nous allons vérifier s'il y a une deuxième condition. Et ne placez pas le point x plus grand qu'à peu près pourquoi 92. Et la façon dont je l'ai obtenu est notre témoin à 24 et je soustrais simplement notre sprite. Maintenant, si nous nous déplaçons vers la droite, vous voyez que nous avons cette barrière qui est mise dans le jeu ou non. Tournons-nous dans cette direction. Et puis sur le côté gauche, bien sûr, vous pouvez voir que nous avons toujours notre animation de tour en cours. Nous ne pouvons tout simplement pas aller plus loin sur la gauche. Il existe donc deux méthodes complètement différentes. C'est à vous de décider. Quelle méthode souhaitez-vous utiliser pour ce faire ? Deux à 08. Vas-y. Donc nous avons exactement la même chose, nous sommes juste au coin de la rue. Maintenant. Vous pouvez le voir avec une seule méthode. Nous sommes toujours en train de jouer notre animation et d'essayer de tourner. Et avec l' autre, on s'arrête là et on ne bouge pas du tout. Donc on ne tourne pas. La méthode que vous voulez choisir dépend donc entièrement de vous. Gardez simplement à l'esprit que si vous voulez faire les barrières, vous devez définir quatre barrières les quatre côtés. Si vous avez le mouvement complet, un Android avant, arrière gauche. Et il en va de même pour votre code ici. Si vous voulez suivre la route du code ici et faire vos vérifications, vous allez également vérifier qu'il est positionné sur X sur votre gauche. Je n'ai pas vérifié votre position point y pour votre avant et votre arrière. Et bien sûr, en avant, 0 sera en haut de l'écran ici. Donc 0 ressemblerait à quelque chose comme ça. Et puis bien sûr, sauf 400, qui est le bas de notre écran, nous aurions quelque chose comme ça. Vous devez donc également faire vos propres calculs. Donc je dirais de faire 16 pour le haut, faire 384 pour le bas. Et puis, bien sûr, sur le côté gauche, nous pouvons simplement en faire 16 et fonctionnalités. Comment je l'ai obtenu, l' origine de notre joueur. N'oubliez pas que si nous regardons notre scène de joueur est au milieu et que le sprite mesure 32 par 32. J'en ai donc pris la moitié, ce qui en fera 16. C'est ainsi que j'ai obtenu ces chiffres. La méthode que vous utilisez pour bloquer votre joueur dépend donc entièrement de vous. L'avantage de faire les barrières invisibles, bien sûr, signifie que vous pouvez toujours le prendre et l'ajuster à tout moment et visuellement sans problème. Bien sûr. L'autre, l'avantage de l' autre est que nous n'avons pas ce look d'animation bloqué pendant que nous essayons d'aller jusqu'au bout, quelle que soit la direction. Dans ce cas, notre occurrence dépend entièrement de vous. Personnellement, je vais appliquer la méthode du code ici. Je vérifie ma position dans ma cisaille de contrôle. Mais si vous voulez utiliser la barrière invisible ou approcher avec le corps statique, ce n'est pas grave. 11. Capacité de prise de vue: Très bien, dans la vidéo d'aujourd'hui, nous allons voir comment créer une mécanique de tir pour notre joueur. Et si vous tirez un rejet sur des projectiles. Quelle que soit la façon dont vous voulez gérer, c'est à vous de décider. Mais je pense que je vais utiliser deux projectiles ou au moins deux points de tir ici. Donc, si vous voulez en utiliser un, vous devrez en faire la demande. Si vous souhaitez en utiliser plusieurs, vous verrez comment nous pouvons l' appliquer à plusieurs emplacements. J'ai également plusieurs projectiles ici. Nous avons trois versions différentes avec et sans contour noir. C'est à vous de choisir les versions que vous souhaitez utiliser pour cela. Et si vous voulez voir à quoi ils ressemblent avec différentes couleurs, car il n'ira pas dans l'onglet de visibilité ici dans la section visibilité de l'inspecteur. Une fois qu'ils sont sélectionnés, nous pouvons accéder au module et nous pouvons modifier les couleurs ici. Donc, si vous avez une couleur spécifique en tête, vous pouvez certainement la changer pour celle que vous voulez utiliser. Et cela devrait vous donner une idée de ce à quoi ils ressemblent dans les différentes teintes. Donc pour moi, je pense que je vais aller de l'avant et utiliser, encore une fois, projeter sur Alt, donc sans le contour noir. Cela peut donc être mes prises par défaut. Alors je vais continuer et maintenant que je sais lequel je veux utiliser, je vais me débarrasser de tous ces points et nous pouvons créer notre projectile, voir quelqu'un créer une nouvelle scène. Nous allons créer notre projectile. Et je vais définir cela comme un corps cinématique 2D afin que nous puissions y appliquer notre physique. Je vais y ajouter un sprite. Pour nos chouchous du laser, notre projectile. Je vais apporter celle que je veux utiliser dans l' emplacement de texture ici sur mon écran. Nous pouvons nous débarrasser de ce petit triangle en ajoutant notre forme de collision. Et dans mon cas, puisque j'utilise celui-ci, je peux utiliser une forme de cercle et la réduire. Maintenant, si vous utilisez une forme différente, si vous utilisez le tir standard laser boy, alors vous pouvez faire, vous pouvez utiliser le rectangle. Bien sûr, si vous utilisez les autres, vous pouvez également utiliser une sphère ou un rectangle, un cercle ou un rectangle, selon l'itinéraire que vous souhaitez emprunter, vous pouvez couvrir l'ensemble ou la couverture est la seule fin de tout cela. Je vais y aller et enregistrer ce projectile. Gardez-le, mettez ça dans mes scènes. Sauve ça. Maintenant que nous l'avons. Pour tirer un projectile, nous allons avoir besoin d' une fonction de tir. Je vais donc accéder à ma carte de saisie et créer une action de prise de vue. Et je vais régler ça sur ma barre d'espace. Très bien, maintenant nous avons besoin que notre sortie projetée bouge réellement, non ? Ça ne sert à rien si on le filme et ça ne va nulle part, ça ne nous fait aucun bien à ce moment-là. Allons-y et nous pouvons ajouter un script. Assurez-vous de le placer au bon endroit pour que les choses restent propres et propres. Les scripts projettent le point normal GD. Et tout comme notre joueur, nous allons avoir besoin d'une vélocité. Et je peux commencer par un vecteur vide deux. Nous allons également avoir besoin d'une vitesse. Et allons-y, je dirais 100 pour l'instant, nous verrons comment cela changera plus tard. Nous n'allons pas avoir besoin de la fonction Ready. En fait, nous pouvons utiliser la fonction ready. C'est donc un frein à cela. Gardez-le ici, et ajoutons le mouvement et la diapositive. Vous pouvez également utiliser move in class, mais j'ai tendance à toujours utiliser move inside myself. Je n'ai jamais eu besoin de déménager et Clyde et dans cette situation ça ne changera rien de toute façon. Le collisionneur glisse est à peu près ce qui se passe quand deux, quand les deux corps se heurtent. Donc, avec les diapositives mobiles définies ici et prêtes, nous pouvons prendre la vélocité et nous pouvons saisir la propriété y de celle-ci, et nous voulons qu'elle monte. Nous allons donc le régler sur une vitesse négative. Maintenant, si cela fonctionne, il devrait complètement disparaître notre écran lorsque nous l'essayons et que nous ne le voyons pas. Donc, soit il a disparu, soit il est trop petit. Quoi qu'il en soit, nous pouvons y jeter un œil. Et vous pouvez voir dans notre débogueur que nous avons 22 problèmes. Ce sont les mêmes choses que nous avions dans notre joueur. Tout à l'heure sur notre projectile, deux commentaires sont de retour. Je veux aussi savoir si vous voulez vous en débarrasser. dehors de votre présence et que vous ne voulez pas utiliser ces commentaires de manière cohérente, vous pouvez soit les ignorer, ce que je ne recommanderais pas nécessairement, soit vous pouvez vous diriger vers je crois que c'est dans le Rajah. Oui. Et juste un avertissement de recherche. Et sous GD script, vous trouverez l' argument inutilisé ici. Aussi bien que vous devriez en trouver un pour le retour, le plat de valeur de retour l'a également ici. Vous pouvez donc simplement désactiver les deux si vous ne voulez pas placer ces commentaires de cette manière alternative. Nous passons maintenant à notre joueur. Et je vais ajouter une position à D. Difficile à voir ici. Ça y est. Vous pouvez régler ce paramètre à l' endroit où vous voulez que votre projectile apparaisse. Donc dans mon cas, je vais juste placer le mien, je vais placer le mien Ray, juste là. C'est très bien ça. Bien sûr. Vous pouvez vous en approcher le plus loin possible. Je vais nommer cette position gauche du projectile. C'est mal orthographié. Allons-y. Et je vais juste le dupliquer et en ajouter un second. Sur le côté droit. Je vais prendre la bonne position pour le projet Alpha. Et ceux qui vont être mes deux points lesquels je vais tirer. Maintenant, en entrant dans notre joueur, nous pouvons créer une variable qui a notre tir normal. Nous pouvons régler cela sur un préchargement. Et cela prendra un argument de notre projectile vu que nous avons créé. Si nous regardons les scènes, notre projectile est normal. Allez-y. Vous pouvez copier le chemin ou le faire glisser. Comme ça. Et ce que cela fera c'est que lorsque notre joueur sera amené sur la scène, il chargera également le projectile normal vu quand nous en aurons besoin. Au lieu de le charger sur place, il l'aura déjà. Très bien, allons-y et nous pouvons créer une fonction de prise de vue. Et ce que nous allons mettre ici, c'est que nous devons créer une instance de notre tir normal. Ensuite, nous devons le mettre au monde. Nous allons donc dire Créer une nouvelle variable temporaire. Il s'est fait tirer dessus dans le cas de Stanford. Et ce sera égal à notre variable de tir normale que nous venons créer en haut de l'instance de point. Il ne nous reste plus qu'à définir la position. Et puis, eh bien, nous n' avons pas à régler la vélocité. Nous avons déjà dit que nous devions simplement définir la position pour tirer de notre propre chef ou de son propre chef. Pour vous faciliter la tâche, nous allons créer une autre barre prête en haut. À notre gauche. Nous appellerons cela position de la chaussure gauche. Et en créerait un pour le côté droit également. Poste. Allons-y. Sam venait ici et nous étions choqués. Et faites la position du point pour accéder à la propriété position de celui-ci. Et nous allons régler cela sur, nous allons dire notre position de chaussure gauche. Poste. Maintenant, nous voulons que cela n'arrive que lorsque nous tirons notre projectile. Je vais donc simplement mettre en surbrillance ces deux lignes et appuyer sur la touche Tab pour les déplacer. Et je vais rester à l'intérieur d' une instruction if disant que si l'entrée est une action, appuyez simplement sur ou vous pouvez aller avec juste relâché, c'est à vous de décider. Je vais y aller avec juste pressé et nous allons le faire. Cela arrive donc une fois et cela ne se produit pas continuellement tant que nous l'avons en panne. C'est la différence entre juste crashed et action. Appuyez sur. L'action pressée signifie que nous pouvons maintenir le bouton enfoncé pendant que le bouton est enfoncé. Cela va se produire de façon constante. Il suffit d'appuyer sur ce bouton pour que cela se produise une seule fois. Quand on enfonce la touche, ça arrive une fois. Et puis c'est tout. d'appeler la prise de vue dans notre processus. Et si nous lançons ça maintenant, nous devrions pouvoir appuyer sur notre bouton de tir. Oh, c'est une erreur, j'ai oublié une chose cruciale. Nous avons défini sa position, mais nous ne l'avons jamais réellement ajoutée à la scène. Il faut donc prendre note ici que nous ne voulons pas l'ajouter au lecteur. Si nous l'ajoutons au joueur, il se déplacera. Lorsque nous déplaçons leur joueur vers la gauche et la droite. Ensuite, notre projectile va se déplacer dans les airs, ce qui n'a pas beaucoup de sens. Puisque nous ne créons pas comme un laser pour notre vie normale, nous devons l'ajouter en tant qu'enfant à ses parents, donc nous allons l'ajouter au monde. Donc, dans nos Écritures, nous allons encore, qui sera le monde. Et si vous vous demandez comment je sais que si vous jetez un œil ici, vous voyez que nous avons ceci comme une fonction d'arbre. Nous avons cette ligne qui sort du joueur, puis elle monte et la première chose qu'elle atteint son monde ici. Alors ça va chercher les parents. Et c'est pareil avec ceux-ci, ces postes ici sont les parents de notre joueur. Mais notre script est accessible depuis le lecteur. Nous allons donc écarter le joueur un seul, qui est le monde. Nous obtenons un point parent, ajoutons un enfant. Et il passera dans ce plan. Et maintenant, nous devrions être en mesure de le voir. Très bien, donc un petit changement leur note qu' au lieu de position, même s'il est dit positionné dans l'inspecteur ici, et si nous le survolons, il indique Position. Ce que nous voulons réellement utiliser, c' est le régler sur la position de la chaussure gauche point position du trait de soulignement global. Et cela vous permettra de le placer là où nous voulons qu'il aille. Donc maintenant, si nous allons dans notre monde et nous jouons à ce jeu, vous voyez, quand nous tournons, ça va là-bas et ça nous repousse juste parce que c'est un peu vague de faire quelques tests pour essayer et découvrez pourquoi nous avons remis l'échelle à une sur notre projectile. Et nous reviendrons à la normale. Alors vas-y. Maintenant que nous avons notre projectile en marche, évidemment nous n'en avons qu'un seul qui continue de nous repousser. Juste un petit peu. Bizarrement. Je vais donc prendre mes deux positions et les pousser un peu vers le haut. Vous pouvez lui dire d'ignorer complètement le joueur, ce que nous pouvons envisager de faire à une date ultérieure. Mais pour l'instant, avançons un peu et vous pouvez voir que nous tournons. Cela ne fonctionne pas parfaitement. Encore une fois, pour simplement passer notre fonction de prise de vue ou de prise de vue, nous vérifions si notre action de prise de vue est simplement d'appuyer sur. Cela n'arrive donc qu'une fois lorsque vous appuyez sur le bouton enfoncé. Ensuite, nous créons une nouvelle variable qui contiendra une instance de notre plan. Qu'est-ce qu'une instance de point de tir normale ? Ensuite, nous avons défini la position de cela. Donc, si cette instance, l'instance de plan, nous obtenons la propriété position de celle-ci. Nous avons défini cette position égale à la position de la chaussure gauche, qui correspond à la position D que nous avons apportée à notre joueur. Et nous l'avons réglé sur la position de la chaussure gauche, position soulignement global canard. Ensuite, nous ne verrons rien si nous ne l' ajoutons pas dans le nom. Et nous voulons l'ajouter à notre parent joueur, qui est notre monde. Notez qu'ils vont vouloir obtenir ce nœud, récupérer ses parents, puis ajouter un enfant et ajouter notre instance de plan. En tant qu'enfant de ça. Nous allons entrer ici et comme nous avons deux postes, je vais juste en créer un deuxième. J'ai donc une photo in situ. Nous allons maintenant placer le second sur notre autre position, qui est notre tir droit. Et assurez-vous que nous accédons au plan numéro deux, ceci. Ensuite, nous devons nous assurer que nous l' ajoutons également à notre scène. Donc on va se faire tirer dessus sur le rôle des parents et des enfants. Et quand nous jouerons à ce jeu, nous devrions maintenant tirer sur nos deux projectiles en même temps. Comme vous pouvez le voir, si nous développions le bouton, nous pouvons obtenir un grand nombre de ces cellules. Maintenant, c'est à vous de décider si vous voulez que cela soit intentionnel dans votre jeu ou non. Si vous voulez ajouter un certain type de refroidissement à cela, pouvez facilement l'ajouter également, juste en vérifiant si le joueur peut tirer. Sinon, nous ne les autorisons pas à tirer. Allons-y. Nous sommes désormais dans l'incapacité de tirer certains projectiles. Et encore une fois, vous pouvez créer la couleur choix et voir votre projectile simplement en changeant la modularité à l' endroit que vous voulez. Donc, si nous le changeons pour l'écran et que nous venons ici et que nous tournons des livres, nous devons venir ici et tourner. Nous avons maintenant un projectile vert. Vous pouvez donc créer la couleur que vous voulez. Vous pouvez leur faire deux couleurs différentes si vous le souhaitez. Cela dépend entièrement de vous et de ce que vous voulez faire. Mais c'est ainsi que nous pouvons ajouter une mécanique de tir à notre petit jeu de tir spatial. 12. Créer des puissances: C'est bon, Welcome. Dans cette vidéo, nous allons passer création de nos power-ups et les faire apparaître dans le monde. Et la raison pour laquelle nous allons nous attaquer avant d' atteindre l'ennemi, c'est simplement parce que les ennemis vont utiliser efficacement le même système que celui que nous pouvons introduire avec des power-ups sans le confondant avec toute hernie IA ou comportement, que la première chose que nous devons faire avec le pouvoir, bien sûr, est de créer notre pouvoir. Créons une nouvelle scène. Nous allons sélectionner Autre et en faire un corps cinématique. Je vais le renommer en notre haut. Il va avoir besoin d'un sprite, bien sûr, parce que nous devons montrer ce que sont les images. Nous allons avoir un lecteur d'animation. Que pouvons-nous faire d'autre ? Nous pouvons le régler sur, nous allons avoir besoin d'une zone. Et cette zone aura sa propre collision. Maintenant, je sais que nous avons ce triangle jaune sur le powerup, mais nous n'avons pas à nous inquiéter à ce sujet parce que nous n'en avons pas besoin pour avoir une forme de collision. Ce dont nous avons besoin, c'est que la zone ait une forme de collision afin que vous puissiez la détecter lorsque notre joueur entre dans la zone ou interagisse avec elle. Et pour la forme de collision, je vais simplement la définir sur un rectangle. Ok, pour notre sprite, nous pouvons aller de l'avant et faire glisser notre feuille de calcul. Sprites, mettez-la sous tension, mettez-la en ASC, nous avons des boucliers de santé, de la vitesse, de l'animal t. Maintenant, nous pouvons régler cela bien sûr huit images et il va traverser. Nous en avons six en travers, et nous en avons quatre verticaux. Et maintenant, nous pouvons simplement utiliser le lecteur Animation pour créer nos images. Et si vous ne vouliez voir apparaître qu'une seule de ces couleurs , vous ne pouvez certainement pas. Sinon, nous allons l'animer pour qu'il boucle entre toutes ces couleurs passe en boucle entre toutes ces couleurs et qu'il sonne comme un petit flash arc-en-ciel. C'est à vous de décider de la façon dont vous voulez procéder. Mais c'est tout ce que nous avons à faire ni à mettre en place notre pouvoir. Allez-y et sauvegardez cette scène. Ensuite, dans la vidéo suivante, nous allons aborder la création des animations. Et je suppose que nous avons configuré notre code. Puisque la majorité d'entre elle en ce moment ne sera que l'animation. 13. Animer des Power Ups: Très bien, allons-y et passons à l'animation de nos power-ups. Allons-y et sélectionnons le lecteur d'animation. Je vais sélectionner Nouveau dans mon animation. Je vais sélectionner Santé. Et maintenant qu'il dure 1 seconde, je vais le mettre en boucle. Je vais régler mon snap à 0,15. Maintenant, vous pouvez toujours régler ce paramètre sur ce que vous voulez. Comment l'application VR vous demande si les choses bougent pour vous. Pour moi, je vais utiliser 0,15 et je vais utiliser l'image 0 pour ma première image ici. Appuyez sur Créer. Je vais doter jusqu' à 0,15 s cadre un. Comme vous le voyez, il va avancer, réservé le cadre sur le snap, ainsi que le cadre et mon numéro ici pour que je puisse continuer à appuyer sur les touches. Et maintenant, nous avons notre configuration de santé. Donc, si je joue ça, nous avons cette santé avec un peu de flash arc-en-ciel sur le texte. Encore une fois, si vous ne le souhaitez pas, vous pouvez simplement le définir comme une image pour l' ensemble de l'animation. Mais c'est à toi de décider. Personnellement, j'aime bien l'arc-en-ciel, la commutation RVB arc-en-ciel. Ça arrive. Mais bien sûr, si tu ne le veux pas ou si tu ne le veux pas, tu n'es pas obligée de l'avoir. Et nous allons continuer et créer la même chose pour nos autres animations. Je vais arrêter ça. Passez à l'animation nouvelle, et nous avons des boucliers. C'est. Ok ? Et notre cadre commencera à 6, retour ici à 0. Insérez cette clé. Devin sera notre 0,15. s'assure qu'il est en boucle. Et cela va redéfinir cela, 67891011. Et si nous jouons ça, nous avons nos animations de bouclier. Fantastique. Nous n'en avons donc que deux autres à créer ici. Ce sera notre vitesse, soit 0,15. Bouclez-le, revenez à 0, cetera, animation. Cadre 12. Montez pour 13. Allons-y. Nous pouvons le lire pour le revoir. C'est. Ça a l'air génial Et notre dernier est un multi-Snap, 0,15. Luke, l'animation. Retournez au début. Commencé sur l'animation 18. Supprimez la dernière image très rapidement et jouez-la. Allons-y. Nous avons une belle animation qui va avec ça. Et juste comme ça, nous avons créé toutes nos animations pour nos bonus. Maintenant, bien sûr, si vous ajoutez plus à cette feuille de sprites et que vous créez les vôtres, bien sûr, plus d'animations. Utilisez plus, créez plus de bonus. Je vais juste y aller et garder ça. Et nous pouvons nous lancer dans notre script de mise sous tension. Maintenant, ce que nous allons faire pour que cela fonctionne dans le futur, c'est créer une nouvelle fonction appelée créer de la puissance. Et cela ne nécessite qu' un seul argument. Nous allons dire que c'est un argument très serré. Et nous pouvons l'attraper sous forme de ficelle. Encore une fois, nous n'avons pas besoin de mettre cette chaîne deux-points ici. Tu pourrais juste être serré. Cependant, nous devons nous y habituer car dans les projets de plus grande envergure, cela va nous donner une légère augmentation des performances. Casting de toutes nos variables différentes ici, variables, arguments, paramètres. C'est donc quelque chose à quoi nous devrions nous habituer. Donc, ce que nous allons faire ici pour créer des power-ups, c'est définir notre variable à partir de serré. Nous allons donc avoir un, notre type. Nous allons définir notre type est égal trop serré. De cette façon. Ce pouvoir spécifique saura quel type de pouvoir mais est ce qui sera utile lorsque nous récupérerons nos pouvoirs plus tard et interagirons avec lui. Et la seule autre chose que nous allons faire est de programmer notre animation. Vous allez récupérer le lecteur d'animation. On va lancer le jeu. Et nous allons juste passer à côté. Et c'est tout ce que nous avons besoin de faire pour que les animations fonctionnent ici. Donc, chaque fois que nous transmettons quelque soit notre type, c'est ce qui va fonctionner. Donc, par exemple, juste à des fins de démonstration ici, nous allons créer puissance et nous l'appellerons. Nous allons le passer et dire santé. Et si nous testons cette scène, nous pouvons voir qu'elle est animée et que c'est notre amélioration de santé là-haut. Et si nous devions changer cela en, disons vitesse, réessayez. Nous avons notre bonus de vitesse là-haut dans le coin et c'est de l'animation. Tout fonctionne donc comme prévu. En ce qui concerne l' animation à entrer. la vidéo suivante, nous allons continuer et donner notre pouvoir, peu de mouvement et créer un observateur pour qu'il apparaisse dans notre monde au hasard. 14. Puissance de frappe: Dans cette vidéo, nous allons créer le mouvement de notre Pouvoir de l'Habitude depuis le haut de l'écran et se diriger vers le joueur. Pour ce faire, nous allons avoir besoin de quelques-uns de nos éléments standard ici. Le premier étant la vélocité ajoutée à notre power up. Jusqu'à présent, la vélocité deux-points est égale au vecteur deux point 0. Nous allons également avoir besoin d'une vitesse. Nous pouvons régler cela sur, je vais utiliser 200 pour ce processus, nous devons passer notre mouvement et glisser avec la vélocité comme premier argument. Et pour que nous soyons prêts, nous pouvons dire vélocité point x point y parce que nous nous déplaçons verticalement égale vitesse. Maintenant, nous utilisons un positif parce que nous descendons. Si nous faisons du négatif, ce serait augmenter à moins que je ne les fasse reculer. Nous verrons dans une seconde et testons notre scène. Et voilà, en descendant notre écran. Je les ai donc dans la bonne orientation. Très bien, maintenant nous les avons. Je vais aller de l'avant et récupérer mes deux commentaires de la part de mon joueur. Et je vais les transmettre à mes Power Apps ici. Evitez toute confusion. On y va. Et maintenant, nous avons le mouvement pour la montée en puissance, et nous avons notre pouvoir d'animation. Nous devons réellement le faire apparaître dans le monde. Pour cela, je vais créer une nouvelle scène, sélectionner Autre pour mon nœud. Et je vais simplement utiliser le nœud de base que vous trouverez tout en haut. Et ce sera par géniteur. Je vais le renommer Spawner. Ce guetteur aura un compte à rebours. Maintenant, la durée pendant laquelle vous voulez le régler dépend entièrement de vous. À cette fin. Je vais juste le régler sur trois secondes et activer le démarrage automatique sur ma scène. Spider.js PEUT ajouter un nouveau script, mon générateur. Assurez-vous qu'il se trouve dans le bon dossier. Et maintenant, nous pouvons créer l'application de liaison de nos bonus. Nous ne voulons pas que les bonus apparaissent sur toute la carte, n'est-ce pas ? Nous ne voulons pas placer tous nos power-ups à la main. Et vous allez peut-être dépasser de 4 000 pixels notre scène réelle ou n'importe quoi d'autre. Nous voulons réellement le faire apparaître dans le monde. Nous voulons qu'ils soient répartis au hasard. Les pouvoirs obtenus à chaque fois sont donc différents. Ce n'est jamais pareil. C'est vraiment faire ça. Nous allons créer quelques variables. Nous allons en créer un qui contiendra notre liste de bonus. Dites liste des power-ups. Ce sera un tableau, un tableau de chaînes de pool en particulier, qui va juste maintenir la santé. Boucliers. Notre vitesse, et multi exactement les mêmes noms et orthographes des animations que nous avons utilisées précédemment. Nous n'avons pas à nous soucier de la fonction du processus ou de la fonction prête. La seule fonction dont nous devons nous préoccuper ce moment est notre minuterie. Et quand notre truc arrive L. Je vais donc sélectionner le minuteur, l'onglet nœud ici en haut. Double-cliquez sur timeout pour vous assurer que spawner est sélectionné et appuyez sur le bouton de connexion. Maintenant, nous aurions pu le connecter par code. C'est vrai, mais c'est aussi la manière la plus simple de le faire. Si vous êtes nouveau dans l'utilisation d'une partie de ce code sur le délai d'expiration. Et la première chose que nous devons faire est d'appeler randomize. Et cela va randomiser la graine et nous empêcher d'avoir le même résultat à chaque fois. Parce que si nous ne le faisons pas, notre semence restera la même. Et par exemple, nous pouvons obtenir une vitesse de bouclier, vitesse de bouclier de santé multiple, une vitesse de bouclier de santé multiple, etc. Et ce n'est pas très aléatoire. Ce n'est pas très excitant non plus. Nous allons donc le rendre aléatoire chaque fois que le minuteur expire. Et nous allons avoir besoin d'une variable qui rend notre pouvoir obscène. Dites r est égal à recharger. Et nous allons introduire notre pouvoir obscène. Maintenant que nous l'avons obtenu juste après avoir aléatoirement, nous pouvons créer une instance de puissance de barre d'arsine. Est égal à notre instance de point haut. Maintenant que nous avons une instance de notre scène, nous pouvons définir la position de l'endroit où vous voulez qu'elle s'étende. Maintenant, si nous passons par le haut, nous voulons que ce soit aléatoire ici, au hasard au-dessus. Maintenant, si nous jetons un coup d'œil à notre projet et si vous vous en souvenez, vous allez voir notre exposition. Notre largeur n'est que de 224. C'est donc avec cela que nous devons travailler. Nous allons donc dire que le trait de soulignement de position var x est égal à Randy, qui est un entier aléatoire. Et si nous faisons un signe de pourcentage suivi d'un chiffre tel que sept, cela nous donnera un nombre aléatoire compris entre 06. Donc, si nous faisons 224, cela nous donnera un nombre aléatoire entre 0223. Maintenant, nous pouvons toujours changer cela. Par exemple, nous pourrions faire quelque chose entre 0201, mais nous pouvons également ajouter 23 autres. Cela va maintenant nous donner un nombre compris entre 23224. La raison en est qu'on va avoir notre numéro. Supposons par exemple que nous obtenons 0, ils sont sélectionnés. Nous allons ensuite ajouter 23 à cela. chiffre le plus bas que l' on puisse avoir était donc de 23. Et le chiffre le plus élevé que nous pouvons obtenir est puisque 200 est en haut de notre liste, soit 200 plus 23. Donc, vous voulez décider où vos spawns fonctionneront à vous. Pour l'instant. Je vais juste aller de l'avant et utiliser 24. Maintenant que nous avons une position, nous devons augmenter notre pouvoir aléatoire qui est créé. Nous allons donc travailler de la même manière. Nous allons dire que Var Hour est égal à Randy. Et nous allons transmettre un autre chiffre en utilisant le pourcentage. Seulement. Cette fois, nous allons utiliser la taille de notre liste Power Apps. Maintenant, ce que la taille va faire , c'est que cela va nous fournir un certain nombre de longueur de notre tableau, combien d'éléments se trouvent ici. Donc 1234, ce qui signifie que nous allons obtenir un nombre compris entre 03, ce qui fonctionne pour nous parce que lorsque nous parlons d'un indice, nous avons 0123, n'est-ce pas ? Nous avons commencé à 0. La taille nous donnera donc le chiffre parfait. Et si nous devions ajouter d'autres choses ici, comme, je ne sais pas, allons-y avec une explosion, non ? Alors. Nous n'avons pas du tout besoin de modifier notre code. Nous pouvons simplement modifier ou simplement ajouter un nouvel élément à notre liste d'applications Power. Allez sur notre scène de mise sous tension et créez une nouvelle animation, et tout ira bien. Nous n'aurons pas à toucher à notre code. Maintenant que nous avons la position, nous voulons qu'elle la génère. Et la puissance ou la puissance que nous voulons montrer et afficher dans le jeu devrait réellement définir ces deux éléments et les ajouter à notre scène pour être visible. Donc, pour ce faire, nous pouvons obtenir notre pouvoir juste ou un exemple de notre pouvoir ici. Nous allons définir la position. Nous voulons la propriété x de cette propriété. Nous voulons donc définir l'exposition de cela en fonction de notre position. Souligner x, quel que soit ce nombre aléatoire. Maintenant, si nous regardons notre script de mise sous tension ici, souvenez-vous que nous avons créé, créé une fonction appelée create power up, et que nous transmettons un type. Ce type sera le pouvoir que nous transmettrons. Le type de puissance sera donc l'un d'entre eux ici, qui porte également le même nom que nos animations. Nous allons donc également jouer une animation basée sur ce que nous transmettons. Nous pouvons donc passer au pouvoir. Dans notre cas, nous allons appeler « créer de l'énergie ». Et cela ne demande qu'un seul argument. Et cet argument va être notre force. Et il ne doit pas s'agir d'une majuscule B minuscule. Allons-y, très bien. Nous avons donc maintenant notre position en cours de définition. Nous avons défini le type de puissance et notre animation devrait être jouée. ne nous reste plus qu'à ajouter cela à notre scène. Et comme notre géniteur ne bouge pas ou quoi que ce soit d'autre, nous l'avons ajouté directement à notre géniteur. Nous disons « ajouter du pouvoir aux enfants ». Et maintenant, si nous devions jouer la scène de notre géniteur ici et y jeter un œil. Oh, c'est ma faute. C'est une augmentation de puissance, pas une puissance de fluage. Très bien, sauvegardons ça et retournons tester la scène à nouveau. Chaque fois que ce temps expire, on devrait voir. Très bien, une fois que tu es plus petit ici, j'ai oublié comment ça nous donne un chiffre. Nous devons encore accéder à ce que c'est. Nous devons donc entrer dans notre, notre, notre liste X. Et l'indice que nous allons transmettre en tant que puissance. C'est mon erreur. Je me suis un peu devancé. Maintenant, si nous allons de l'avant et le testons, nous devrions maintenant voir nos pouvoirs apparaître dans une animation. Ce sont des boucliers. Et nous attendons à nouveau la minuterie, leur vitesse. C'est une autre vitesse. Et nous voyons que c'est complètement aléatoire. Chaque fois que nous avons trois têtes d'affilée, c'est beaucoup de vitesse pour notre personnage. Il y a un autre bouclier. La vitesse, il y a beaucoup, beaucoup au milieu, il y a une vitesse de tir multiple. Nous n'avons pas trop de problèmes de santé en ce moment. Il y a un vaisseau, mais nous recevons beaucoup de boucliers, ce qui pourrait être bien. Il y a un Suédois. C'est une autre vitesse dont on parle beaucoup. Pouvons-nous avoir une santé ici, saisie ? Qu' est-ce qu'on obtient un X ? On a eu un multi. accord, donc apparemment nous n'allons pas obtenir santé ici pour nos bonus, ce qui est malheureux, mais c'est aléatoire. Il apparaîtra, croyez-moi, tout dépend de l' orange à ce moment-là. ne nous reste plus qu'à aller dans notre monde et notre petite icône en forme de chaîne ici et ajouter notre géniteur dans la scène. Et on y va. Nous avons maintenant des bonus qui apparaissent dans notre jeu. Ils ne font rien pour le moment, mais ils apparaissent. Et nous pouvons toujours ajuster notre minuterie en fonction de la façon dont nous voulons que cela se passe à l'avenir. Il y a une bonne santé pour nous. Maintenant, un problème que nous allons avoir ici. L'un des problèmes ici est notre mise en puissance. Parfois, nous ne voulons pas qu'il apparaisse toujours, qu'il s'allume. Nous ne voulons pas qu'il soit activé toutes les 20 secondes, par exemple, ou toutes les deux secondes. Je voulais parfois que nous n' obtenions pas de puissance et parfois nous le faisons. Donc pour quelque chose comme ça, si tu veux avoir cette chance aléatoire là-dedans, juste pour ajouter un peu plus de hasard à ton jeu. Ensuite, nous pouvons créer une autre variable appelée allons-y. Disons que c'est une chance. Et nous allons le définir à nouveau comme un entier aléatoire. Et nous pouvons transmettre un chiffre d'un pourcentage de deux. Et maintenant ça va dire 0 ou un. Donc on peut dire 0, ça ne dépense rien, et c'est le cas. Pour cela, nous pouvons égaler le hasard. Je vais dire 0. Cela va passer et sur l'un d'eux va réellement générer la puissance de ce dont nous avons besoin pour exploiter cela en un de plus. Allons-y. Allons-y. Donc maintenant, nous n'avons pas toujours de mise sous tension. Donc pour montrer ce loyer Wassup sous le 0, je dirai pas de puissance. Allons de l'avant et découvrons notre monde et nous pouvons jeter un coup d'œil à cela. Vous voyez, nous devons mettre sous tension cette fois-ci et si nous regardons notre sortie tôt ou tard, nous devrions atteindre un 0. Allons-y. Aucune alimentation. Encore aucune alimentation. Trois affaires sans pouvoir d'affilée. Vous pouvez donc déjà voir que même si nous avons un minuteur court, puisqu'il y a 5050 chances ici, nous réduisons vraiment le potentiel. Mais en même temps, vous pouvez voir que nous obtenons également de nombreux pouvoirs. Donc, si vous voulez changer cela par, je dis une chance de 10 %, alors nous pouvons venir ici et nous pouvons dire dix, non ? Nous pouvons définir ce nombre sur dix chiffres, donc de 0 à 9. Tout ce que nous avons à faire c'est de venir ici. Vous pouvez régler ce nombre sur le nombre que vous voulez. Ça n'a pas d'importance. Nous l'avons donc défini sur 0. Par exemple. Nous pourrions simplement passer les autres comme un joker et dire « pas de pouvoir ». Donc maintenant, quelle que soit la durée de notre minuterie, je pense que c'est 1 seconde. Je ne pense pas que cela changerait les choses. Nous n'avons que 10 % de chances qu'une augmentation de puissance apparaisse. que soit la façon dont vous voulez faire cela, que Quelle que soit la façon dont vous voulez faire cela, que voulez-vous faire avec la route 5050 ? Ou si vous voulez y aller avec un pourcentage de chance comme celui-ci. C'est donc 10 %. Si nous changeons cela en cinq et que nous le lançons, nous avons maintenant une chance sur cinq. Donc un sur cinq aurait 20 % de chances que notre puissance apparaisse. Ce qui est assez décent, vous pouvez toujours le modifier au fur et à mesure de vos niveaux. Si vous avez des niveaux ou vous pouvez simplement en faire un défilement infini et peut-être ajuster le nombre. Vous pouvez donc changer les cinq pour peut-être augmenter les heures supplémentaires. Quoi qu'il en soit, je suis sûr que cette vidéo devient assez longue à ce stade, mais voici comment nous créons des power-ups. Voici comment nous pouvons faire les 5050 chances qu'il apparaisse ou non. Voici comment nous pouvons obtenir un pourcentage de chance qu'un bonus apparaisse. Et n'oubliez pas, vous pouvez entrer et changer le minuteur de notre générateur. Ici. Vous pouvez sélectionner le minuteur et nous n'avons pas trois secondes. Vous pouvez l'ajuster en fonction de durée pendant laquelle vous souhaitez que le vôtre soit entre les power-ups potentiels. Avec ça, j'espère que tu as une bonne idée. Comment créer un power-up ? Comment les repérer dans le monde ? Je vais y aller et enregistrer ça encore une fois. Vous savez maintenant comment créer des bonus, les ajouter à votre liste, créer les animations pour lui et les faire apparaître dans votre monde pour que nous puissions les utiliser. Les audits laissés pour les Power Apps doivent maintenant être en mesure d'interagir avec elles et de les faire agir en conséquence en fonction de ce qu'elles sont. 15. Activation de puissance: Très bien, allons de l'avant , créons nos power-ups et rendons-les fonctionnels. qu'ils puissent réellement faire des choses et interagir avec le joueur ne le comprendrait pas. Très bien, passons à notre scène de mise sous tension. Et nous pouvons sélectionner notre zone 2D. Et nous allons en fait transmettre un signal d'entrée dans le corps. On pourrait le transmettre directement à notre puissance ici. Et maintenant, la première chose que nous voulons faire est de nous assurer que c'est bien le joueur. Je vais donc vérifier si le nom du joueur et du corps et du corps point. Et je peux vérifier. Oui, j'ai ici mon corps cinématique appelé joueur avec un P majuscule donc ça devrait fonctionner. Désolé, si le joueur et le nom du corps viennent ici et que nous pouvons avoir tout ce qui s'est passé en conséquence. Bien entendu, nous voulons que cela dépende du type de puissance. Mais pour l'instant, nous pouvons continuer et imprimer. Et on peut dire qu'il a obtenu de la puissance Et si nous devions jouer à ça maintenant, quand nous rencontrons notre pouvoir, quand l'un d'eux apparaît, nous devrions le voir imprimé sur la console. Boom, on y va. Puissance obtenue. La vraie question est donc ce que nous voulons que cela fasse de chaque pouvoir ? Eh bien, nous pouvons utiliser la vitesse comme exemple ici. Mais ce que je veux que vous fassiez, c'est que vous essayiez de trouver comment nous pouvons augmenter la vitesse de notre joueur. Très bien, alors allez-y, mettez la vidéo en pause et prenez un moment pour le faire . Très bien, bon retour. Je vais, je vais passer en revue, et ce que je vais faire c'est utiliser un énoncé mathématique et je vais correspondre à mes prises de pouvoir. Donc la puissance maximale est serrée. Et je vais dire, si le type est égal à la vitesse, ce que je vais faire c'est que je vais accéder au corps, qui est notre joueur. Souviens-toi, je vais, je vais obtenir la valeur de la vitesse, la vitesse des points du corps, et je vais la régler sur 200. Quelle que soit notre vitesse, nous allons la multiplier. Et pour éviter toute erreur pour l'instant, on va juste l'appeler le joker et frapper passé. Voyons comment cela se passe maintenant. Bien sûr, nous devons attendre d'avoir un bonus de vitesse pour apparaître. Si on a de la chance, on en aura un tout de suite. Vous pouvez voir à quel point nous nous déplaçons lentement ici. Et cela devrait doubler dès que nous obtenons un bonus de vitesse, c' est-à-dire Santé, rien ne se passe. C'est très bien ça. Pareil avec le bouclier parce que cela relève de notre joker, qui pour le moment ne fait rien. C'est plus de santé. Leur rapidité. Nous l'avons fait et vous pouvez voir que nous allons beaucoup plus vite. Prêt ? Maintenant, bien sûr, Shield, nous allons manquer ça. Si nous obtenons une autre vitesse, cela devrait se multiplier. Donc je comprends, cela ne va même pas nous multiplier parce que nous l'avons fixé à 100. On ne multiplie pas le sucré du tout. Donc tout cela est bien beau, mais nous devons également envisager de ramener notre vitesse à la normale à un moment donné. Donc, ce que nous allons faire, c'est d'abord créer une nouvelle variable appelée multiplicateur de vitesse. Et nous allons le régler à deux. De cette façon, nous pourrons le multiplier facilement à l'avenir. Donc nous allons régler cela deux fois égal, ce qui signifie que nous allons définir la vitesse égale à la vitesse multipliée par ce que nous mettons sur le côté droit ici, qui dans ce cas sera notre multiplicateur de vitesse. Donc nous disons que la vitesse est égale à la vitesse multipliée par le multiplicateur, pour ainsi dire Tom Steel. Et cela nous donnera le même résultat c'est juste un peu plus modulaire parce que cela viendrait ici et nous pouvons simplement l'ajuster à ce que nous voulons qu'il soit. En ce moment. Je vais juste le laisser deux fois. Ça va ? Nous avons donc besoin d'un moyen pour que la vitesse s'estompe. Donc pour mon joueur, ce que je veux, c'est ma vitesse. Je veux que tous mes bonus durent. Je dirais dix secondes. Je vais donc créer un minuteur sur mon lecteur et l'appeler notre minuteur d'application. Je vais régler le temps d' attente à dix secondes parce que c'est la durée pendant dix secondes parce que c'est la laquelle je veux ma barre oblique de mise sous tension. Je vais connecter le signal de temporisation à mon lecteur. Et maintenant, lorsque le délai d'attente arrivera, nous allons le faire en fonction de la mise sous tension active. Nous allons donc créer une nouvelle variable appelée puissance active. Et ce ne sera qu'une ficelle. Et nous allons dire faire correspondre la puissance active. Donc, quand le chronomètre sera réglé donc à la fin de nos dix secondes, nous serons à la hauteur de notre puissance active. Dans ce cas, nous travaillons avec la rapidité comme exemple. Nous allons donc dire que lorsque notre minuterie sera écoulée, nous allons remettre notre vitesse à la normale. Nous allons donc récupérer notre variable de vitesse et la remettre à 100. Et pour le moment, si nous avons autre chose, nous passerons simplement. Très bien, donc si nous devions lancer ceci, maintenant, vous remarquerez qu'il y a un problème ici. Maintenant, si nous allons de l'avant et que nous attendions ce bouclier et vous savez quoi ? Je vais aller de l'avant et imprimer ici juste pour m'assurer que nous ne comptons pas mal. Vitesse normale. Essayons encore une fois. Népalais. Ok. Venez ici avec la rapidité nécessaire pour vous présenter à tout moment. Apparemment, ce qui devient vraiment malchanceux et ne reçoit aucun bonus pendant que nous essayons de les tester ici. En tant que super malheureux. Mais cela peut arriver, bien sûr, parce que tout est aléatoire. Il semble donc que nous entrons dans une saison assez sèche dans nos bonus. Leur vitesse, on l'a. Ok. Vous pouvez voir que nous sommes en train d'accélérer. Si nous regardons la sortie, nous pouvons voir que les vitesses en seconde heure sont revenues à la normale. Mais ce n'est pas le cas. Et pourquoi ne le fait-il pas ? Parce que nous ne démarrons jamais le minuteur. Et ça, bien sûr, ça va poser problème. Nous ne pouvons pas rendre notre parole normale à la fin du temps si nous ne démarrons jamais le minuteur. Donc, ce que nous devons faire pour améliorer notre puissance, c'est quand il s'agit de vitesse. Non seulement nous devons changer le multiplicateur ou, désolé, rechercher la valeur douce. Mais nous devons également faire body dot get node. Allons y jeter un œil. Comment l'appelons-nous ? Nous appelons cela un minuteur de mise sous tension. Nous allons donc avoir ici une chaîne appelée Power Tyrone. Assurez-vous qu'il est orthographié exactement la même façon, sinon vous aurez une erreur. Donc, mettez la minuterie sous tension et nous allons dire point de départ. Nous allons donc démarrer le chronomètre. Et maintenant, si nous le jouons, non seulement la vitesse d'obturation augmentera, mais la minuterie démarrera. Ainsi, lorsque la minuterie se termine ou que la vitesse devrait revenir à la normale. Mais si vous y réfléchissez, il nous manque encore une chose cruciale qui explique pourquoi notre minuterie ne reviendra pas à la normale. Peux-tu réfléchir à ce que c'est ? C'est juste à l'intérieur de notre lecteur. Nous basons cela sur la puissance active, mais nous ne définissons jamais quelle est cette puissance active. Donc, dans notre script de mise sous tension, nous devons également le définir. Donc, le pouvoir actif du point de corps. Bien sûr, je l'ai bien orthographié. Puissance de soulignement active. Nous pouvons régler cela sur la vitesse. Ou si nous ne voulons pas le définir ici. Nous pouvons également le configurer ici lorsque nous savons que nous ne voulons pas le configurer. Quand nous créons l'application Power, nous voulons seulement la faire, nous ne l'avons pas récupérée. Nous devons donc le faire ici pendant notre match. Ça va ? Donc si nous l'essayons maintenant, sinon la vitesse devrait augmenter. Comme nous l'avions fait auparavant, l'acte du pouvoir devrait être fixé. Nous savons donc quoi faire lorsque le minuteur est écoulé. Et nous devrions commencer par le minuteur pour qu' il puisse s'épuiser. Rien ne se passe. Et nous attendons juste la vitesse. J'ai fait une faute de frappe dans mon nom. Voici le problème. J'ai un moi majuscule et mon compte à rebours. Il faut que je règle ça. Allons-y. Je suis sorti Aaron à cause d'une faute de frappe. C'est pourquoi il est important de s'assurer que vous épelez les choses exactement comme avant. Parce que lorsque nous comparons des chaînes, les majuscules et les minuscules sont deux caractères très différents. Alors allons-y et attendons à nouveau qu' une nouvelle mise sous tension apparaisse. C'est pourquoi nous testons toujours le code au fur et à mesure. Nous n'en avons pas envie. Un tas de choses dedans , puis testez-le et avez comme 30 erreurs différentes de tous ces emplacements différents qui apparaissent. Nous voulons nous assurer que nous détectons l'erreur lorsqu'elle se produit afin de pouvoir la corriger immédiatement. Nous attendons donc juste que cette augmentation de vitesse apparaisse. C'est une autre santé. Boum, boum, boum, boum. Tir. Cela fonctionne toujours. Nous obtenons un écran qui est un bouclier. Il y a une vitesse. Allons-y. Vous pouvez voir où il est beaucoup plus rapide et suppose que le temps est écoulé. Voyons voir que l'impression revient à la normale. Et nous sommes de nouveau ralentis. Nous avons maintenant une mise sous tension de la vitesse qui fonctionne comme prévu, tout en nous ramenant à la normale. Donc, la dernière chose que nous devons faire est ajuster les choses pour la mémoire, car en ce moment, nous avons une fuite de mémoire dans notre jeu. Et c'est parce que nos Power Apps n'ont jamais disparu alors qu'elles étaient hors écran. Il existe toujours dans notre monde. Ce que nous voulons faire c'est nous débarrasser de notre déclaration écrite. Et sur notre pouvoir lorsque nous interagissons avec le joueur, nous voulons nous libérer. Souvenez-vous que self est optionnel, donc vous pouvez simplement taper q pour chacun, comme nous le faisons avec cet enfant. Personnellement, je préfère taper moi-même, mais vous n'avez pas besoin de faire la queue libre lorsque le joueur touche la mise sous tension. Mais nous voulons également examiner dans le processus si notre position disparaît. Nous voulons donc dire s'il s'agit de majuscules. Nous disons donc si le point de session self dot y est supérieur à, et si nous nous souvenons de 400 long. Donc disons que c'est supérieur à 400, mais nous devons tenir compte du temps supplémentaire parce que le point sera au milieu du couplet, non ? C'est ce que nous disons pour 20. Donc si notre position est supérieure à 420, alors encore une fois, nous allons simplement dire à notre pouvoir de se supprimer. Et si nous ne l'avions pas, vous pourriez le voir dans l'onglet distant, que vous pourriez le voir dans l'onglet distant, je vais vous montrer ici dans une seconde. Nous allons jouer, et vous verrez télécommande sur le côté gauche ici, selon le coup que c' est notre jeu en cours d'exécution. Donc, si nous ouvrons notre générateur, vous verrez les Power Apps entrer en jeu. Et vous verrez qu'une fois qu'ils quitteront l'écran, ils se supprimeront d'eux-mêmes. Auparavant, ils ne le faisaient pas. Si vous le souhaitez, vous pouvez y aller et vous pouvez les commenter. Et tu y vas. Tu as vu cette mise sous tension disparaître. Et si vous le souhaitez, vous pouvez revenir en arrière, commenter cela et jeter un œil à celui qui a disparu. Quand je parle, ça se voit. On devrait y aller et on devrait voir comment cet échange disparaît. Et nous avons pu optimiser légèrement ce code R. Mais nous allons juste nous assurer que cela fonctionne. Très bien, voilà notre vitesse. On a eu un boost de vitesse. Un power-up a disparu. minuterie devrait être épuisée pour tout retour secondaire à la normale. Donc tout semble toujours fonctionner parfaitement. Donc ce à quoi je parlais et nous pourrions également nous référer ou ramener notre code à la normale, ou plutôt optimiser un peu plus car nous ne voulons pas écrire self point Q chaque, pour chaque puissance, parce que nous Je veux faire ça à chaque fois. Donc ce que nous allons faire, c'est que nous allons en fait descendre et sortir de notre énoncé de match, tant que l'interaction des joueurs, donc nous restons à l'intérieur de l'instruction if. Nous allons le libérer. Donc ce que vous pouvez faire maintenant, c'est que vous pouvez maintenant entrer ici et vous pouvez créer plus de puissance afin de remplacer notre joker là-bas. Nous pouvons donc parler de santé, par exemple. Et maintenant, vous entrez ici et créez une variable de santé sur votre joueur si vous le souhaitez, si vous voulez prendre de l' avance et le faire maintenant. Et vous pouvez en ajouter un à la santé de votre joueur. Nous pouvons jeter un œil au multi et vous pouvez l'activer et avoir de sorte que si vous êtes sur un tournage maintenant, vous pouvez tirer deux, par exemple. Ou peut-être que vous changez complètement de projectile. Quand avez-vous obtenu le multi, tout ce que vous voulez faire cela dépend entièrement de vous, mais vous pouvez maintenant créer des effets différents pour chaque puissance que vous capterez. Et je vous verrai dans le prochain. 16. Boucliers: Très bien, alors allons-y et ajoutons la puissance du bouclier à nos joueurs afin d'éviter de nous faire toucher. Nous allons donc avoir une représentation visuelle de cela. Je vais m'en occuper, disparaître une fois que nous arriverons à la partie endommagée de ce parcours. Je vais donc continuer et arrêter cette prévisualisation ou cette lecture de test. Et vous devriez voir à l'intérieur de vos sprites que nous avons une autre feuille de calcul ici pour nos boucliers, et nous savons comment cela fonctionne. Nous pouvons maintenant créer un sprite sur un lecteur d' animation. Nous pouvons y aller. Td vu, tout ce dont nous avons besoin c'est d'un sprites. Nous n'avons pas besoin d' animation pour cela. Nous pouvons donc aller directement chercher un sprite pour notre racine ici. Appelez ça des boucliers Nous allons avoir besoin d' un lecteur d'animation. Parce que, bien sûr, nous avons besoin que nos ombres soient animées. Tu peux les laisser dyadiques si tu veux, mais je ne suis pas mauvais. De quoi avons-nous besoin ? Nous avons besoin de boucliers, voici notre texture. Apportez cela en animation. Nous avons des cadres horizontaux, trois verticaux. Et voici notre bouclier. Nous pouvons aller de l'avant et mettre en place une animation pour cette scène. Nous pouvons créer notre animation. L'animation le savait. Cela s'arrête là. Quel est son 0,75 ? Donc 0.9, je peux partir qui nous dirait de faire une boucle et nous verrons à quoi cela ressemble. Ok, ça a l' air un peu. Ça a l'air bien. Cela peut être un peu lent ou rapide pour certaines personnes, c'est à vous de décider. La première chose que j'ai remarquée, c'est que le mien est flou parce que je vais le réimporter très rapidement. Et éteins mon filtre. C'est très important, on y va. Et joue ça. Maintenant, on y va. Voyons voir. Je ne veux pas accélérer ça. Que se passera-t-il si nous accélérons le processus ? Je vais juste y aller. Maintenant, changeons-le en 0.1. Et tout bouge pour diriger ou fonctionnellement. Clape-le en bas. Trois, ça voit à quoi ça ressemble. Je pense que c'est mieux. Je vais ajuster ma longueur à 0,6. Très bien, donc je pense que ce sont les chiffres que je veux suivre. Je vais y aller avec 0,05 sur mon snap. Leur longueur totale est de 0,3. Je pense que je suis content de cette vitesse par bouclier. Vous voudrez peut-être être plus lent pour mes observateurs plus vite. Mais je pense que c'est ce que je veux faire. Maintenant que nous avons ce cratère, je vais arrêter l'animation. Et l'animation ici. Si nous définissons notre animation actuelle comme étant des boucliers actifs, devrait être lue automatiquement chaque fois qu' elle se trouve dans la scène. Et nous allons avoir besoin d'une zone de détection ou quand nos boucliers seront touchés plus tard. Je vais donc créer une zone vers D. Et cela nécessite une forme de collision. Pour la forme, je vais juste lui donner un cercle, quelque chose comme ça. Et nous pouvons jeter un coup d'œil à cela avec notre joueur pour nous assurer que cela va protéger notre joueur et notre bloqueur de se faire toucher. Voyons voir, ouvrons notre lecteur. Et pour l'instant, ajoutons notre bouclier. Jetez-y un coup d'œil afin que nous puissions voir un peu notre joueur qui sort du lot. Ce que je vais faire, c'est augmenter la taille de mes boucliers ici. Je vais venir ici pour me transformer et je vais augmenter mon échelle. C'est peut-être un peu trop, peut-être 1,25. Permettez-moi de jeter un œil à cela qui bloque définitivement tout, tous nos autres hits ici. Enregistrez cela et jetez-y un œil dans le jeu dès maintenant. Ce que nous avons maintenant, ne pas animer comme je m' y attendais, ça marche, donc c'est très bien. Nous pouvons simplement le configurer pour qu'il s' anime automatiquement dans le script de bouclier lui-même. Nous irons dans notre champ. C'est le script au bon endroit. Bouclier de scripts. Super. Je suis prêt. Est-ce que le joueur d'animation a joué des boucliers actifs ? Et c'est ça. Allons-y. Nous savons maintenant ce que c'est, ce que ce serait d'avoir des boucliers autour de notre joueur. Maintenant, bien sûr, nous n'en voulons pas tout le temps. Nous voulons que tout cela soit en B quand nous récupérerons notre bouclier là-haut. Nous pouvons donc maintenant aller dans notre player. Nous pouvons charger nos boucliers, disons var, bouclier, scène équivaut à recharger, et nous apporterons notre bouclier vu en l'air. Nous allons apporter ça. Et pour détecter cela, nous pouvons régler les boucliers pour qu'ils soient vrais. Barre blindée, c'est vrai. Et bien sûr, nous voulons également lancer cela, que vous voulez que nous séparions. Ce sera une valeur booléenne. Maintenant, nous pouvons venir ici et créer un bouclier fonctionnel, activer. Et nous allons avoir besoin d' un champ d'instance n égal à l'instance vue du bouclier. Et maintenant, il ne nous reste plus qu'à ajouter cela à nos joueurs. Doute de soi. Et une protection pour enfants devrait être tout ce que nous avons à faire ici. Passons donc à notre script Power Apps. Et quand nous toucherons des boucliers, quand cela sera détecté, nous appellerons cela l'activation du bouclier corporel. Nous allons vérifier l'orthographe de ce calque. Et juste pour être sûr, je vais copier la fonction et la coller dedans. Ok ? C'est correct. Et nous pourrions le supprimer de notre couche. Maintenant je peux aller de l'avant et tester et quand nous prendrons un show power up, le bouclier devrait apparaître sur nous. Et ce sera bien sûr, RNG pour savoir quand cela apparaîtra réellement. Très bien, nous avons un bouclier et c'est parti. Deux sièges activent tout très bien. Il ne nous reste plus qu'à configurer le bouclier pour qu'il disparaisse. Encore une fois, nous pouvons nous attaquer à cela lorsque nous entrons dans la partie endommagée ou dans la section du parcours où le joueur subit des dégâts. Très bien, donc si tu as suivi jusqu'ici, tu ne t'es pas dévié tout seul. Vous devriez maintenant avoir un bonus de bouclier qui fonctionne. Et nous avons simplement semblé avoir un bug parce que nous avons pris un deuxième bouclier et nous en avons maintenant trois. Nous pouvons donc nous adapter aux deux, mais nous pouvons y remédier. On peut vérifier si le corps est protégé. Assurez-vous que j'ai bien compris. Oui, protégé. Nous allons définir false par défaut et non vrai. Dites si le corps est protégé. Donc nous allons dire si blindé est vrai, donc si notre joueur est protégé, nous ne ferons rien. Nous voulons donc le contraire. Nous pourrions donc faire un point d'exclamation ici au début et dire, s'il n'est pas protégé par un point de corps, ce qui nous donnerait un faux. Ou nous pouvons taper le mot s'il n'est pas corsé, non blindé, selon la méthode qui vous convient le mieux. Je vais taper le mot, pas seulement pour le rendre plus clair d'un coup d'œil. Sinon, le corps n'est pas blindé. Donc, si notre variable protégée est fausse, alors nous le ferons. Sinon, nous ne ferons rien de tout cela. Donc maintenant, si nous devions le lancer et tomber sur plusieurs boucliers, cela ne devrait fonctionner que pour le bouclier qu'on obtient. Il faut qu'on en vienne à une dernière chose. Nous devons entrer dans nos boucliers ici. Nous devons nous rappeler de définir le corps protégé sur vrai. Très bien. Maintenant, pour nos tests, vous pouvez voir que nos boucliers ne vont pas empiler un bouclier et c'est tout ce que nous devrions obtenir. Et on y va. Nous avons donc fait fonctionner nos boucliers et nous avons corrigé un petit bug qui est apparu. Très bien. Donc avec je vais juste retourner voir mon observateur et supprimer ça puisque nous n'avons plus besoin de tester ça et de remettre ça en disant « pas de puissance ». Avec cela, nous avons maintenant une puissance de bouclier entièrement fonctionnelle. Eh bien, pour ce qui est d'entrer dans le jeu et d'être utilisé. 17. Prise de vue multi-: Très bien, dans cette vidéo, nous allons voir comment ajouter un plan multiple. Donc au lieu d'en tirer une de chaque côté, nous allons tirer pour protéger Alice de chaque côté. Et ils vont sortir sur un petit angle. Ça va ? La première chose que nous devons faire est de nous lancer dans notre script de couche. Et nous allons créer une variable ici. Pour le multi-shot. Faux par défaut. Nous pouvons aller sur un lieu de combat ou de tir ici. Cela dedans, et nous allons dire si ce n'est pas le , si ce n'est pas le cas. Et fais-le. Ensuite, nous pouvons en faire une copie. Et venir là-bas, mais ensuite je vais répéter le code. Mais nous avons besoin de plus de nous de toute façon. Alors j'entends quelqu'un dire « » pour dire « sinon si », «  else-if multi shot ». Et nous allons avoir besoin de quatre d'entre eux, dans notre cas, trois environ maintenant nous en avons quatre, mais ils vont se chevaucher à ce stade. Nous allons voir, ajouter ces enfants. Voici des scènes de trois et de la foresterie. Elle surtout, la plupart de ce que nous avons fait est juste un copier-coller de ce que nous avions en haut. Mais ce que nous devons également modifier ici c'est la propriété de vélocité. Nous devons donc changer le x de cela. Nous allons donc modifier la vélocité du point de tir point x. Nous pouvons le définir sur, voyons voir. Les premiers ont voulu aller à gauche et 34 à droite. Nous voulions donc dire moins 50. Et nous pouvons le copier trois fois de plus pour les crimes qui l' entourent. 34. Donc 34 seront positifs, 512 seront négatifs 50. Et nous allons continuer et exécuter cela. En fait, cela ne changera jamais et nous devons nous tourner vers une puissance. Quand le multi obtient, il fera son corps. Multi shot, c'est ça ? Copiez ce plan multiple, c'est vrai. Très bien, vous pouvez maintenant voir avec notre plan multiple que nous avons commencé cette action croisée. Maintenant, bien sûr, vous pouvez ajuster vos chiffres comme bon vous semble. Et il ne nous reste plus qu' à décider quand désactiver ce tir multiple. Tu vois que nous ne tournons plus, nous aussi. Nous tirons des projectiles. Et si je redémarre très vite, vous voyez, je vais recommencer à en tirer deux. Pour l'instant, il vous suffit décider comment et quand cela se désactive. Et puis venez ici pour notre joueur et notre vitesse de puissance active. Je pense donc que je vais également refaire cette section, ou désactiver nos pouvoirs. Mais nous pouvons garder ça pour une autre fois. Mais pour l'instant, on peut voir que ça s'allume, ça marche. Et voyons comment activer le multi-shot, qui était la fonction ne vient pas ici pour vraiment activer le multi-shot. Cela deviendra vrai pour le multi-shot. Ensuite, ce que nous pouvons faire à partir de là, c'est que nous pouvons faire, nous pouvons utiliser un rendement. Maintenant, cela va fonctionner différemment en 4, légèrement différemment. Vous n'avez pas besoin de ces parenthèses. Vous devrez peut-être jeter un coup d'œil et voir quelle est la différence pour le x. Je ne suis pas sûr à 100% là-dessus. Mais nous avons le rendement et ensuite nous voulons obtenir un minuteur de création de point d'arbre. À l'intérieur, il y a combien de temps nous voulons qu'il dure. Nous allons dire cinq secondes, obtenir les délais d'attente, puis nous réglerons le tir multiple sur faux. Maintenant, cela peut être en cours d'utilisation, cette méthode peut être la façon dont je refais nos Power Apps ici, non ? Que la vitesse aussi bien que nous avançons. Nous allons donc entrer en scène et au lieu d'activer le multi-shot, nous allons dire que le point du corps active le multi-shot. Et nous allons jeter un coup d'œil, voir comment cela fonctionne, assurer que cela fonctionne. Donc nous en tirons deux hors de la porte, ce qui est génial. Nous avons eu un plan multiple, nous en avons tiré quatre. À la fin de notre compte à rebours. Nous revenons à deux. Alors allons-y. Nous avons un plan multiple qui fonctionne à merveille. Très bien, nous avons donc un bouclier qui s'active et nous permet, et nous avons un tir multiple qui s'allume et nous donne notre puissance et notre capacité. Encore une fois, vous pouvez simplement remplacer ce nombre celui que vous voulez pendant combien de temps vous voulez qu'il dure. Et si vous avez différentes Power Apps de prise que vous pourrez activer à l'avenir, c'est tout ce que vous avez à faire. Changez quelle que soit votre capacité, et changez ce que vous photographiez ou comment, quelle que soit la manière dont vous vous y prenez. Donc, si vous avez un laser, vous allez l'apporter. Vous allez avoir un exemple de scène complètement différente. Par exemple, dans le cas d'un laser, vous pouvez simplement ajouter au joueur parce que nous voulons que le laser reste avec le joueur. Généralement, si vous allez avoir comme un faisceau laser traditionnel, plutôt que de tirer des lasers comme un blaster. Mais tu y vas. Voici comment fonctionne le multi-shot. Et comme je l'ai dit, je vais probablement changer le code ici pour la vitesse. Et au lieu d'utiliser une minuterie de mise sous tension, utilisez simplement une petite fonction comme cet activateur, bittersweet. 18. Petits changements: Très bien, c'est son séjour. Une courte vidéo. veux juste vous montrer que j'ai refait la vitesse que nous venons de créer dans le même format que celui que nous avons fait pour notre multi-shot ici. Nous avons donc une fonction appelée enable speed. Il y a ajouté un paramètre que nous pouvons passer dans un multiplicateur. J'ai dit que ma vitesse était juste la vitesse multipliée par le multiplicateur y. Nous attendons nos cinq secondes. Une fois que c'est terminé, nous diminuons à nouveau notre vitesse par notre multiplicateur. Et sur l'ajout d'alimentation ou simplement en appelant, activez la vitesse. Et nous transmettons ce multiplicateur que nous utilisions auparavant. C'est donc la seule chose qui a changé pour la vitesse, boucliers du tir multiple sont restés les mêmes. Mais ce que nous pouvons faire, c'est qu' on peut le faire aussi. Si nous ouvrons la scène de notre projectile, nous pourrions nous débarrasser de notre forme de collision. Cela va apparaître, nous aurons un triangle jaune si vous supprimez la forme de collision ici. Mais si nous l'enlevons simplement, c' est parfaitement bien. Et si nous faisions cela, vous verrez ici et le plan multiple que les deux au milieu qui sont juste en face l'un de l'autre vont maintenant se tirer dessus au lieu d' entrer en collision l'un l'autre et en allant tout droit. Ce sont deux résultats complètement différents, deux résultats différents. C'est donc à vous de décider si vous voulez activer ou la forme de collision de votre projectile désactiver la forme de collision de votre projectile . Et comme vous pouvez le voir, la vitesse est activée 54321 et nous sommes revenus à la normale. Il y a un plan multiple. Maintenant, vous pouvez voir nos pièces du milieu se croiser éventuellement. Donc si tu ne veux pas qu'ils se frappent contre l'autre et qu'ils aillent parfaitement droit. C'est tout ce que vous avez à faire pour désactiver cette forme de collision. Et nous pourrions simplement le désactiver complètement parce que nous n'avons pas besoin de le voir. Tu y vas. Vous pouvez voir qu'ils se croisent et nous sommes presque comme un tournage de ToString maintenant. Mais on y va. C'est à vous de décider si vous souhaitez désactiver votre collision sur votre projet. Ou si vous voulez laisser cela activé pour l'apparence de l'écran, ou si vous voulez qu' ils se recoupent complètement à votre choix de développeur et de design. Mais je me suis dit que j'allais ajouter ça juste pour te le dire aussi. 19. Configuration ennemie: Très bien, dans la vidéo d'aujourd'hui, nous allons jeter un œil à la création de notre ennemi. Nous allons créer notre ennemi maintenant et ensuite nous allons passer à notre ennemi à tirer et à obtenir notre défilement vertical de base avec notre ennemi, les mouvements. Très bien, donc tout d'abord , nous allons devoir créditer une nouvelle scène. Tout comme notre joueur, il s'agira d'un corps cinématique, bien sûr, d'un TD. Nous allons avoir besoin d'un droit pour notre ennemi. Ross, il va falloir beaucoup de choses que nous avons sur notre joueur ici. Nous pouvons donc ajouter une forme de collision, c'est pourquoi nous avons notre triangle ici. Nous avons donc placé notre corps cinématique au niveau d'un polygone de collision. Je veux que la forme disparaisse. Et si nous regardons notre joueur, quoi d'autre avons-nous besoin ? Nous pourrions utiliser un lecteur d'animation plus tard si vous souhaitez créer des animations de cette façon, spécialement pour vos ennemis. Mais pour cette configuration spécifique de notre ennemi, nous n'en aurons pas besoin, mais nous n'allons pas utiliser une position ici afin d'avoir un endroit où notre ennemi tire depuis une position vers D. D'accord donc en commençant par le haut, nous pouvons le renommer en ennemi. Je vais l'appeler « vaisseau ennemi ». Je n'ai pas appelé. Vous pouvez l'appeler n'importe quel type d'entité que vous souhaitez celle-ci soit spécifiquement. Allez dans notre sprite. Nous pouvons faire venir notre ennemi et nous remarquons que c'est juste un sprite normal ici. Ce n'est pas une feuille de sprite, donc nous n'avons pas à nous inquiéter de peindre l'animation ou quoi que ce soit d'autre parce que ce spray va juste se déplacer et tourner. Nous n'avons pas toutes ces animations différentes dessus. Vous pouvez bien entendu utiliser la feuille de calcul si vous le souhaitez. C'est ici que je peux vous présenter l'autre méthode que j'ai mentionnée précédemment. Et c'est ce que fait l'animation, je suis désolé, pas le lecteur d'animation, l'animation animée, le sprite animé. Supposons que vous vouliez faire une animation à l'aide du sprite animé. On entrait, on faisait des cadres. Si vous n'en avez pas, vous n'utilisez pas de feuille de sprite. Vous venez de recevoir des PNG individuels. Tu viens ici et tu fais un nouveau cadre de sprite. Vous cliquez à nouveau dessus. Et maintenant nous avons nos animations ici, n'est-ce pas ? Et il n' entrait pas ici et ne resterait pas inactif. Droite, gauche, droite. Et vous comprenez l'idée, nous pouvons le faire de cette façon. Et au lieu de jouer avec une chronologie et de positionner vos images-clés, vous avez ici une vitesse qui détermine à quel point chacune de ces touches serait proche, puis tout ce que vous feriez est simplement d'amener chaque encadrez ici un par un comme ça. Et au fur et à mesure qu'il joue, il passe en boucle. Et pour y jeter un œil, nous allons simplement revenir à notre sprite animé et nous jouerons. Nous serions en mesure d'y jeter un coup d'œil, ce qui, bien sûr, dans ce cas, est le contenu. Donc si on passe au ralenti, quand on voit qu'il y a notre vaisseau et qu'il joue dans notre cadre, CC le spectre. C'est donc l'alternative. Si vous n'avez que des PNG et que vous n'avez pas de feuille de calcul pour vos ennemis. C'est comme ça que tu t' y prendrais. Encore une fois, dans notre cas, l'ennemi n'est qu'un ENG statique. Il va juste se déplacer en fonction des coordonnées affichées à l'écran. Mais pour référence future, si vous n'avez que des PNG et que vous n'avez pas feuilles de calcul ou si vous ne voulez pas utiliser de feuilles de calcul et que vous voulez découper mon lecteur et les power-ups dans leurs propres feuilles. C'est comme ça que vous le feriez et ce serait la même chose. Au lieu d'appeler un lecteur d'animation, nous appelons le sprite animé et nous jouons l'animation maintenant. Comme je l'ai dit, nous n'en avons pas besoin pour le nôtre, notre cas. Je vais m'en débarrasser. Et je vais montrer à nouveau le Sprite normal. Boîte de collision. Ce n'est qu'un simple rectangle. C'est tout ce dont nous avons besoin. Cela va venir et nous allons le couvrir. Et c'est à vous de décider de la superficie de votre navire que vous souhaitez couvrir. Je pense donc que je vais juste couvrir cette partie et non pas la partie arme. Et ma position par rapport à D. Je peux m' assurer que j'obtiens le reflet qui est en rouge, ça vers le bas. Allons-y. Je l'avance juste un peu plus loin que le canon, un AAC. Si nous devions prendre ça , déplace-le. Nous avons notre position et c'est de là que nous allons tirer. Hommes Lizzie, ou 0. Allons-y. Nous avons donc notre ennemi. Sauvez notre scène. Et il sera expédié. Que notre ennemi de base est prêt à commencer à tirer, se déplacer et à apparaître dans notre monde. 20. Prise de vue intérieure: Très bien, nous allons nous attaquer à la capacité de tir de l'ennemi ici. Maintenant, vous pouvez utiliser n'a pas explosé comme nous l'avons fait avec notre joueur. Créez une scène personnalisée avec son propre plan, donnez-lui sa couleur. Je lui donne sa propre direction. Vous n'êtes pas obligé de faire le code pour cela. Vous allez simplement le faire descendre l'écran au lieu de le faire monter. Mais pour cela, je vais vous montrer comment nous pouvons utiliser le projectile du joueur. Nous allons donc utiliser la même scène que celle que nous avons eue ici. Si on ouvre nos scènes, on y va. Je vais donc vous montrer comment utiliser la même scène ici. Mais modifiez-le pour que l'ennemi puisse l'utiliser, tout en continuant à permettre à notre joueur de l'utiliser. Pour ce faire, nous allons monter à bord de notre vaisseau ennemi. Nous allons y ajouter le script. Assurez-vous de le placer au bon endroit de nos scripts. Appuyez sur Créer. Et on y va. Nous avons créé cela. Donc, pour commencer pour notre ennemi, nous allons avoir besoin qu'il soit capable de le faire. Ce que nous allons faire, c'est ajouter une variable ici. Le temps ou le vaisseau ennemi. Nous allons ajouter un minuteur à notre scène ici. Et nous pouvons l'utiliser pour avoir n'importe quel espace dedans. Nous voulons éviter cela, pour éviter tout problème potentiel. Et de retour dans notre script, maintenant que nous avons une variable temporelle, nous pouvons la définir sur un nombre aléatoire. Et pour ce faire, nous allons laisser ça, avoir une valeur par défaut là-haut. Et à l'intérieur de notre fonction Ready trouve l'endroit où nous allons l'ajuster. Devons-nous appeler randomize ? Qu'est-ce qui va randomiser notre C. Pour que nous puissions avoir une véritable randomisation. De cette façon. Nous n'avons pas de bouche répétitive. Ainsi, chaque fois que nous démarrons le jeu, nous n'allons pas être sauvés. 510131211. Nous n'allons pas obtenir la même séquence de nombres chaque fois que nous randomisons la graine, cela va changer, changer cela efficacement à chaque fois. Donc ce que nous allons faire ici, c'est que nous allons appeler randomisé juste une fois parce que nous voulons juste changer l'heure que nous obtenons. Nous allons donc définir le temps égal à, puis nous allons le définir sur un flottant aléatoire. Et si nous regardons ici avec ça, nous allons de l'avant et nous avons mis Randolph pour obtenir un nombre aléatoire entre 0, entre 01. Ok ? C'est plutôt utile. Mais entre 01, je pense que ce sera très court. Et dans le cas de cet ennemi, nous ne voulons pas avoir quelque chose comme une mitrailleuse. Donc, ce que nous pouvons faire, c'est que nous pouvons faire au hasard, nous pouvons arrondir un flotteur si nous allons de l'avant et nous les utilisons. Mais au lieu de cela, ce que je pense que nous allons faire, c'est que nous allons simplement utiliser où est-ce ici ? Nous l'avons déjà utilisé. On pourrait juste utiliser Rant. C'est là, en bas, avec nos pourcentages. Mais encore une fois, nous voulons, nous voulons mélanger les choses un peu plus. Nous allons donc utiliser la gamme Rand cette fois. Nous pouvons donc obtenir des nombres flottants. Juste pour bousculer un peu les choses. Si vous voulez utiliser le hasard normal, il suffit d'avoir des incréments de nombres entiers. Tu peux le faire. Mais pour cela, je pense que je vais utiliser la gamme Rand. Comme tu le vois ici. De cette façon, nous pouvons obtenir un nombre flottant et nous devons passer deux arguments, et nous devons passer deux arguments, le plus petit et le plus grand. Je vais donc dire qu' il faudra au moins 1 seconde entre les prises de vue. Tout au plus. Je vais laisser cinq secondes entre deux prises de vue. Maintenant, nous allons avoir un certain temps entre 15 secondes de minuterie. Nous pouvons alors aller de l'avant et obtenir notre minuteur de tir. Et nous allons simplement régler l'heure. Nous pouvons voir ici dans les propriétés que cela s'appelle temps d'attente. Attends le soulignement, très bien. Et nous pouvons l'égaler au temps que nous venons de créer. Nous avons donc maintenant un temps aléatoire. Avec cela, nous pouvons connecter notre signal pour ma minuterie, ce qui sera également un peu différent dans 4. Si vous vouliez le faire par code. Si vous voulez que cela reste aussi simple que possible à suivre avec moi, suffit de venir ici pour le nœud et de double-cliquer sur timeout. C'est comme notre vaisseau ennemi et appuyez sur Connect. De cette façon, nous allons passer par les deux versions. Que vous utilisiez la version trois ou la version pour le moteur. Mais si vous vouliez connecter ce nouveau code ou si vous êtes curieux de savoir comment le faire. Ensuite, dans la version actuelle ici, nous allons le faire. Ce doute de soi est tellement lié qu'ils allaient, tu auras ce que tu veux connecter. Quel est votre minuteur de prise de vue ? Ils voudraient connecter quelque chose. Ce que nous voulons connecter, c'est le signal qui suit. Et ce signal, si on y jette un œil, il s'appelle timeout. Nous saisirons donc timeout ici. Et la cible, à laquelle vous voulez la connecter. Souvenez-vous quand nous sélectionnons notre vaisseau ennemi, quand nous sommes allés comme ça et que nous sélectionnons notre vaisseau. Ce que vous sélectionnez ici, dans ce cas, notre vaisseau ennemi. C'est à cela que nous voulons nous connecter. Et puisque le script est sur notre vaisseau ennemi, nous n'avons qu'à nous dire nous-mêmes. Cela nous laisse un troisième argument, est simplement ce que vous voulez que le nom de la méthode soit. Donc, si nous procédons comme ça, cette commande ici est essentiellement ce que cette commande ici est essentiellement ce le moteur vient quand nous sommes allés comme ça et que nous avons sélectionné le vaisseau ennemi et que nous avons cliqué sur Connecter. Maintenant, sur la version quatre, cela va être légèrement différent. Et je ne suis pas sûr à 100 % de ce à quoi ça va ressembler . Mais comme je l'ai dit, le moyen le plus simple est d'aller dans cet onglet de nœud et connecter le signal de temporisation de cette façon. Quand le temps sera écoulé, nous allons tirer. Donc, évidemment, pour cela, nous allons avoir besoin de notre scène. Donc on va dire, on va charger ça car ne voudrait pas appeler ça, voudrait juste appeler ça un coup. Et préchargé en Suède, faites voir notre projectile normal, amenez-le. À temps mort. Nous allons faire en sorte que notre instance de tir soit égale à l'instance de point de tir. Nous l'avons maintenant et nous sommes prêts à l'ajouter à la scène. Cheval, cela va s' ajouter pour douter de nous-mêmes. Mais dans ce cas, si nous avons un bon parent à ajouter à notre géniteur, ce qui est notre observateur ne bouge jamais de toute façon. Ce n'est donc pas trop grave, mais si vous voulez aller jusqu'au bout du monde, comme nous le faisons avec notre joueur. Ensuite, on peut juste avoir deux fois le parent. Maintenant, dans la plupart des cas, vous voulez essayer d'éviter d' utiliser plusieurs parents get juste pour éviter des problèmes potentiels à l'avenir. Et c'est là que la création de nos propres signaux entre en jeu. Chaque fois que vous montez dans l'arbre, il est préférable d'utiliser des signaux. Et quand tu descends dans l'arbre, tu obtiens juste le nœud. Mais dans ce cas, spécifiquement pour ce type de jeu, cela ne provoquera aucune source de problème. Nous pouvons donc éviter les parents, pas les parents et les enfants. Et nous pouvons ajouter dans notre cas ici. Cela va donc ajouter cela au jeu. Le problème, à ce stade, c'est que nous savons que notre photo va monter à l'écran. Donc, ce que nous allons tirer va sortir là où nos ennemis vont essentiellement se tirer dessus. Et ce n'est pas ce que nous voulons. Ce que nous devons faire, c'est modifier certaines parties de ce projectile. Donc, si nous venons ici, nous pouvons regarder, nous réglons la vitesse y sur une vitesse négative. Nous pouvons donc changer cela. Maintenant qu'il a été ajouté à notre scène. Nous pouvons modifier cela immédiatement afin de pouvoir l'écraser. Alors allons-y et mettons-nous en route. On peut prendre notre dose. Accédez à la variable de vélocité y de celle-ci. La propriété y de notre variable de vitesse, et réglez notre set de tir sur notre vitesse. Souvenez-vous maintenant que notre vitesse est positive. Nous n'allons donc pas le soustraire ici. Je veux être positif, ce qui le fera descendre de l'écran et le différencier de notre joueur. Si j'ouvre cette scène, si vous vous souvenez ici dans notre sprite, nous pouvons aller de l'avant et nous pouvons changer la couleur ici en visibilité et moduler. Il semble que nous l'ayons fait sur le corps cinématique, ce qui facilitera un peu les choses. C'est tout ce que nous allons faire. Nous allons changer le module pour qu'il ait un aspect différent lorsqu'il est tiré par notre ennemi. Je vais être choqué moduli. Et nous allons définir cette couleur sur une couleur différente. Donc, si nous tapons simplement le mot couleur, vous pouvez voir que la couleur du mot va changer en couleur. Et c'est ce que nous faisons. Si vous utilisez des parenthèses de ce type, vous pouvez passer une valeur RVB. Si vous utilisez des guillemets doubles, vous pouvez passer un code hexadécimal si vous le souhaitez. Ce que je vais faire, c'est profiter des couleurs intégrées parce qu' il y en a beaucoup. Je vais juste colorier, point final. Et maintenant, vous voyez que nous avons des tonnes de couleurs différentes parmi lesquelles nous pouvons choisir et qui sont déjà intégrées. Et souvent c'est tout ce que j'ai besoin de faire. Et cela fonctionne généralement assez bien pour moi. Je pense que je vais essayer. Voyons voir. Allons-y avec un violet moyen. Très bien, alors on garde ça. Allons dans notre monde et créons un vaisseau ennemi. Nous les apportons dans notre monde ici et nous jouons. On devrait être en mesure de tourner dans les cinq secondes en fonction de ses chiffres de loyer. Sauf qu'il ne l'est pas. Et la raison en est que nous n'avons en fait pas démarré le chronomètre à aucun moment. Configurez-le. Nous avons configuré notre courant, mais nous n'avons pas démarré le minuteur. Nous allons avoir notre minuteur de tir et l'appeler simplement la fonction de démarrage. Et quand notre minuterie sera écoulée, nous recommencerons également. Alors passons à notre chronomètre et aux colonnes Start. Allons-y. Si nous jetons un coup d'œil, nous pouvons voir mon chargé de projet monter et son projet sortir. Nous le voyons sur le côté gauche. Il est en train de descendre. Et la raison en est que le même problème que nous avons eu avec notre joueur. Nous devons corriger sa position. Donc, si nous passons à l'étape suivante et que nous considérons notre joueur comme référence, car nous avons utilisé la position du joueur ici. Nous pouvons voir que nous obtenons une position de tir. Et nous définissons cela comme étant égal à notre position 2D et égal à la position globale, la tête en bas dans notre ennemi. Et nous pouvons le faire n'importe où. Nous le savions avant de l'ajouter étant enfant ou après. Cela n'a pas vraiment d'importance dans ce cas, car nous ne remplaçons rien à l'intérieur du projet Alex self. Nous allons donc faire un tir en position et nous allons régler cela comme si nous avons cette disposition sur D, appelons-le position de pause du tir. Réglez-le sur notre pause de tir. Position mobile. Allons-y. Et nous le gérons maintenant. Il devrait maintenant être en train de tourner depuis sa chambre. Nous voyons mater jaune et le sien ou violet. Maintenant que le violet dans ce cas est un peu sombre, il peut être difficile pour le joueur de le voir. Je vais donc changer cette couleur. Et de cette façon, vous pouvez y apporter des modifications et décider quelle est la meilleure vue par rapport à vos arrière-plans. Maintenant, en utilisant un citron vert, ce serait très, très, très brillant et facile à voir de notre ennemi. C'est donc fantastique. À ce stade, vous pouvez simplement modifier les couleurs que vous souhaitez pour cela. Et juste en guise de remarque, si vous voulez simplement utiliser ce sprite, mais que vous voulez avoir différents navires avec des puces de différentes couleurs ou peut-être que vous ne voulez tout simplement pas de cette colle. Nous pouvons en fait faire la même chose que nous faisons avec notre shot come in modulate ici. Et comme il n'est pas blanc, nous allons en fait y ajouter différentes couleurs. Comme vous pouvez le voir ici, nous pouvons obtenir des couleurs différentes ici si je désactive simplement la forme de collision. Et vous pouvez aller de l'avant et y jeter un coup d'œil. Vous pouvez donc faire des variations légèrement, légèrement différentes. Si tu le voulais. Je vais juste remettre le mien à la normale. Et on y va. Très bien, avec ça, nous avons notre ennemi en place. Et nous avons maintenant notre ennemi capable de nous tirer dessus au hasard. Et pour vous montrer que c'est aléatoire, je vais juste en ajouter un autre et être notre scène ici, vais juste utiliser Control D pour dupliquer. Allons-y. Nous en avons trois différents et ils vont tous tourner à trois moments complètement différents. Vas-y. Oh, comme vous pouvez le voir, les deux sur la gauche semblent être assez synchronisés, mais ils sont en fait assez décalés à leur époque. C'est une petite coïncidence. Allons-y. Nous avons maintenant la configuration. Ils tirent et ils tirent au hasard. Ils ne seront donc pas tous les mêmes quand ils sortiront ou qu'ils seront engendrés. Ensuite, nous allons mettre en place un ennemi, le générateur ennemi ou le mouvement ennemi je pense que nous devrions probablement effectuer les mouvements ennemis de base. Pensez bien géré ça ensuite. De cette façon, lorsque nous le repérons, nous pouvons réellement dire que l'être est apparu au lieu qu'il reste hors écran. 21. Fuite de mémoire: Très bien, donc quelque chose que je voulais, je veux abord aborder avant de l'oublier, c' est que nous allons rencontrer des problèmes. Finalement, un jeu dure plus longtemps parce que nous avons une fuite de mémoire. Ce que c'est, c'est ce que nous créons continuellement tous ces éléments qui en sont la cause. Et on n'a pas affaire à eux quand on n'en a plus besoin. Nous allons donc continuer à empiler plus en plus jusqu'à ce que l'ordinateur de l'utilisateur ralentisse et commence à prendre du retard, voire à se bloquer. Et nous regardons le côté droit ici. Je suis allé de l'avant et j'ai mis en pause ce test que vous voyez sur le côté. Et si nous regardons juste ceci et la section distante, jetez un œil à tous ces projectiles qui ont été générés, mais qui ne s'en vont pas. Donc, même si nous ne les voyons plus à l'écran et qu'ils n'ont aucun rapport avec notre jeu. Ils sont toujours en mouvement. Il y a toujours une partie de notre jeu. Donc, ce que nous devons faire, c'est que nous devons maintenant gérer cela quand il quitte notre écran en bas et quand il quitte notre écran en haut. Donc nous allons continuer, aller de l'avant et aller dans notre script de projectile ici. Je vais créer une fonction de vérification. Quelle discussion avec une position de vérification. Ce n'est pas le meilleur nom pour ça, mais ça marchera pour ça. Nous allons dire « soi ». Nous pouvons vérifier si la position du point propre est le point y. Je dirai si c'est inférieur à 0, parce que rappelez-vous, 0 sera tout en haut à gauche ou haut de notre écran sera 0 dans la direction y. Donc, s'il est inférieur à 0, nous allons le dire à Q3 lui-même. Maintenant, nous devons également vérifier si les tirs ennemis dépassent le bas de notre écran. Et si vous oubliez le numéro de votre écran, nous pouvons revenir aux paramètres de votre projet, accéder à notre fenêtre d'affichage. Et n'oubliez pas qu'il ne mesure pas 400, nous voulons donc rechercher quelque chose de plus de 400. Souvenez-vous de nos sprites, 32,5 c'est 16. Nous voulons donc vérifier LF, LF, position de doute de soi. Don't Y est supérieur à. Souvenez-vous qu'on a dit 400, comme ça pour le moment. Souvenez-vous qu'on a dit 400 Mais si nous regardons et que nous nous souvenons du projectile, le point est au milieu. Nous avons donc la moitié, la moitié. Cela sortira encore, qui dans ce cas est bien, mais regardez mieux si nous attendons qu'il sorte de l'écran. Puisque ce sont des sprites 32 par 32 nous utilisons un tout cela. On peut vraiment vérifier. Nous pouvons ajouter cela à cela. Nous pourrions donc en ajouter 16 juste pour en avoir un peu. On en fait 32 pour avoir le tout. Je vais juste utiliser pour 50, donnez-lui un joli chiffre rond. Et pour s'assurer qu'il n'y a aucun moyen qu' il reste sur notre écran. Ensuite, je vais lui dire de vous indiquer si c'est le cas. Maintenant, si nous jetons un œil à cette section distante, quand nous jouons à notre jeu, et que nous regardons tous ces projectiles qui entrent, ils sont générés et ne les ont pas supprimés eux-mêmes. C'est facile. C'est simplement parce que nous ne l'avons jamais appelé notre position de vérification avec le dégradé, mais nous ne l'avons pas appelé. Je vais simplement appeler cela dans notre fonction de processus. Maintenant, si vous le souhaitez, vous pouvez créer un minuteur qui vérifiera cela. Au lieu d'appeler cela chaque image et le Tibre, mettre un chronomètre sur le projectile et vérifier quand ce temps est écoulé sera probablement un peu plus favorable aux performances. Mais tout dépendra de la mesure dans laquelle vous irez avec votre jeu pour savoir si c'est une meilleure option ou non. Si nous entrons et jetons un coup d'œil et encore une fois, nous regarderons la télécommande dans laquelle nous devrions protéger la maison est protéger la maison est générée et elle est supprimée lorsqu'elle quitte l'écran. Pareil pour ceux que nous tournons également. Celles-ci sont toutes supprimées et les voilà. Nous avons maintenant corrigé la fuite de mémoire que nous avions créée dans notre jeu. C'est donc aussi simple que cela. Cela fait en sorte qu'une fois que vous n'avez plus besoin de quelque chose, vous vous en débarrassiez. Et si nous regardons nos bonus à l'intérieur de notre spawner ici, nous voyons que ce n'est pas le cas, nous n'avons aucun de ces problèmes avec l'apparition de nos power-ups. Et la raison en est que nous avons abordé la question ici même. Si vous êtes curieux, je rejetterai si la position était supérieure à 420 et nous l'avons supprimée. S'il est supérieur à, ce nombre est bien entendu transmis. Notre joueur a dépassé ou 100. Alors nous savons que ce n'est plus à l'écran. On n'en a pas besoin et on s'en débarrasse. Nous avons donc abordé ce problème avec notre power-up. Et maintenant, vous venez de voir avec notre projectile, pourquoi nous devons le faire avec l'onglet distant là-bas. Avec la quantité de choses que nous créons qui existent encore dans notre jeu et la rapidité avec laquelle elles s' accumulent avec les projectiles. Par exemple. Encore une fois, si nous en avons un avec un tir rapide, nous avons des armes à tir rapide. Par exemple. Vous pouvez voir à quelle vitesse ils peuvent réellement commencer à se développer. Nous nous sommes attaqués à cela, nous l'avons corrigé, et nous allons ajouter un mouvement vertical à notre ennemi. Si vous voulez juste faire défiler l'ennemi vers le joueur. 22. Mouvement vertical: Allons-y et abordons notre belle capacité à nous déplacer verticalement. Si c'est tout ce que tu veux dans ton jeu, alors c'est tout le mouvement dont tu auras besoin. Maintenant, c'est, bien sûr, hyper dépendant de ce que vous attendez de votre jeu. Bien sûr, ce que nous allons faire ici, c'est simplement trouver notre vaisseau ennemi ici. Et nous allons faire la même chose que nous avons fait avec notre projectile. Nous avons donc notre vitesse et notre vitesse que nous voulons expédier pour se déplacer. Dans le cadre de notre processus, nous allons avoir besoin d' un mouvement et d'une glissade. Nous avons besoin d'une sorte de vélocité. Bien sûr, nous allons simplement utiliser notre vélocité comme argument de vélocité. Et tout ce que nous allons faire, c'est comme si vous vouliez randomiser la vitesse entre deux nombres, vous pouvez certainement le faire aussi. Assurez-vous simplement de le faire sous la couleur aléatoire ici. Et tu peux faire la même chose comme nous l'avons fait avec le temps. Ils utilisent Rand. Eh bien, je veux présenter un chiffre ou si vous voulez faire une fourchette de classement, vous pouvez certainement le faire également. Vous pouvez aléatoirement les vitesses. Si vous voulez que tous vos vaisseaux aient des vitesses différentes, vous pouvez certainement le faire. Je viens d'ajouter aussi. Pour moi, je vais juste utiliser la vitesse normale ici. Et je vais fixer le mien à 100. Donc je vais juste dire que le point de vélocité y est égal à la vitesse. Maintenant, souviens-toi que c'est positif. Notre vaisseau est donc en train de descendre. Et si c'est tout ce que nous voulons, c'est tout ce dont nous aurons besoin. Je vais aller de l'avant et les déplacer vers le haut. Et vas-y. J'ai dit que s' ils étaient tous apparus à des points différents et que nous pouvions voir qu'ils vont, se dirigent vers nous et que nous pouvons nous adapter. Nous pouvons aller de l'avant et ajuster ces vitesses comme nous le voyons. Et vous pouvez voir à quel point c'est un peu comme si vous vous déplaciez dans une file d'attente. Je vais donc vous montrer à quoi cela ressemblerait si nous changeons cela pour qu'il s' agisse d'un montant aléatoire. Donc disons que la vitesse est égale. Et allons-y, juste pour vous montrer ne serait-ce qu'un petit changement, nous allons utiliser la gamme Rand. Nous allons régler ça entre, disons 9110. Il s'agit donc d'un petit écart, d'une différence de 20 %. Nous y jetons un coup d'œil et nous pouvons voir qu'ils ont commencé de près. Mais ensuite, ils ont des différences. Maintenant, celui-ci prend du retard parce que celui du milieu se déplace plus vite. Et bien sûr, vous pouvez créer un écart aussi grand que vous le souhaitez. Si tu veux emprunter cette voie, on y va. Le milieu était juste en train de naviguer et celui à l'extrême droite, qui se détendait un peu . Et si nous devions faire une pause et passer à distance, nous descendons voir notre vaisseau ennemi. Et nous voyons qu'un navire en a 187, l'autre en a 95. Et notre troisième compte un contre un. Donc, si vous voulez avoir une vitesse aléatoire pour vos navires dans cette plage verticale, c'est comme ça que vous pouvez aller de l'avant et ajuster cela. Donc ça dépend entièrement de toi. Je pense que pour l'instant je vais juste laisser le mien comme ça et nous pouvons passer à l' ajustement de notre géniteur. 23. Spawner ennemi: Très bien, pour le générateur ennemi, nous allons utiliser la même chose ici, en utilisant un nœud de base en tant que générateur ennemi racine. Allez-y et enregistrez ça dans nos scènes. Et nous allons faire une grande partie de ce que nous avons fait ici avec notre géniteur habituel. Ajoutons donc une minuterie. Et si nous regardons le code que nous utilisons ici, nous avons notre ennemi ici. Maintenant, si vous voulez avoir plusieurs UPS ou non, dans ce cas, tout comme nos pouvoirs, nous avons plusieurs ennemis. Ainsi, vous pouvez avoir une variété aléatoire d'ennemis comme il est apparu. Vous pouvez certainement le faire. Et je vais vous montrer comment procéder de cette façon. Parce que vous savez comment le faire avec un seul objet comme celui-ci. Maintenant, ce que nous allons faire est quelque chose de similaire. Nous allons donc entrer dans notre générateur ennemi. Je vais ajouter un script, placer au bon endroit. Ce que nous ferions, c'est que nous pouvons faire var ennemis égaux , puis nos crochets. Mais pour chacun d'entre eux, nous allons faire comme ça et récupérer notre vaisseau ennemi. Donc, si nous devions avoir des multiples de ceux-ci, cela ressemblerait à ceci. Et vous continuiez simplement avec le nombre de variétés que vous aviez là-dedans. Dans ce cas, je n'ai qu'un seul. Et bien sûr, l'avantage de le faire de cette façon est d' ajouter plus d' ennemis plus petits de quelque manière que ce soit. À l'avenir, il sera autonome, comme si vous n'auriez pas à modifier votre code. Vous pouvez simplement les ajouter en haut ici et passer à autre chose. Très bien, donc si nous nous référons à nos bonus que nous avions notre générateur, n'ouvrez pas ce code. Nous l'avons fait. C'est juste en bas. Je ne l'ai même pas vu. Vous pouvez donc voir que nous faisons tout sur timeout. Cela signifie que nous devons connecter notre chronomètre à notre générateur ennemi. Et maintenant, nous avons également cette configuration à temps, ou nous pouvons appeler randomize. Parce que encore une fois, nous voulons que les choses soient aléatoires, tout comme nous le faisons avec notre pouvoir. Et nous pouvons voir ici que nous créons une instance de notre scène. Dans ce cas, nous avons, nous appelons une instance de notre pouvoir, mais nous voulons que ce soit un nombre aléatoire. Ensuite, nous devons d'abord obtenir un vaisseau aléatoire. Supposons qu'un ennemi sélectionné soit égal à un ennemi. Et entre crochets, nous allons dire Randy. Et nous allons utiliser le pourcentage de la taille des points de nos ennemis pour une nouvelle variable. Allons-y. Quel que soit le nombre d'ennemis que nous ajoutons ou supprimons en haut ici, notre code n' allait jamais changer. Nous aurons toujours un ennemi qui peut être sélectionné. Alors nous descendons et ensuite nous pouvons créer une instance de notre ennemi. Disons que l'ennemi est égal à ce que je dis mal. Disons que l'instance ennemie sélectionnée. Donc, quel que soit l'ennemi choisi, c'est lui que nous allons créer une nouvelle variable. Et puis tout ce que nous avons à faire, c'est qu'un seul est ajouté. Je vais donc jeter un œil à notre géniteur ici. Et vous pouvez voir que tout ce que nous avons fait c'est de l'ajouter, ce qui convient parfaitement à notre géniteur parce que le géniteur lui-même ne va pas bouger. Alors allons-y, ajoutons un enfant ennemi. Et à ce stade, c' est maintenant dans le jeu. Mais ce que nous voulons, souvenez-vous d'un, une variété sur le x. Donc, tout n'est pas juste dans le coin supérieur gauche. Disons que la position x du rand est un nombre aléatoire. Nous pouvons utiliser la gamme Rand. C'est parfaitement bien. Est-ce que nous l'avons utilisé ici pour emprunter un autre chemin ? Nous n'avons qu'à utiliser Randy. Allons-y donc et restons-en à cela juste pour des normes de cohérence et de cohérence. Mais si vous vouliez utiliser ces intermédiaires, encore une fois, 02 à 4. Allons-y. Nous avons donc notre nombre aléatoire dans nos 224. Je peux, tu peux modifier ça si tu ne veux pas que ton vaisseau traîne un peu. Par exemple, je vais choisir, je vais dire 200. Puis à 20, ce qui fera de mes numéros mon Min et Max 20 à 20. Nous les ajoutons simplement à la scène. Allons donc dans notre monde. Et dans notre générateur ennemi. Et je vais juste le déplacer là-haut. Et si nous jouons à ce jeu maintenant, cela ne marchera pas parce que nous n'avons pas déclenché notre chronomètre. Revenons donc à cela, définissons-le sur démarrage automatique, et réessayons. Allons-y. On voit donc qu'ils vont là-bas et qu'ils se croisent en fait. Et ils restent là-haut. Tu dois te positionner, mais on ne l'a pas réglé. Il suffit d'obtenir le point x de la position de l'ennemi. Donc, la bonne chose est que nous savons que notre script fonctionne. mauvaise nouvelle, c'est qu'il entre en collision avec lui-même. Donc, quand la nouvelle position point x est égale à notre position rand, rand, je peux épeler ici position run. Et ça va régler ça. Ou les gorgées vont encore se croiser. S"ils en ont l"occasion. Allons-y. Nous le voyons sur le côté droit. J'en ai trois empilés. Donc nous frayons souvent, nous avons la position et ils tirent, fière allure, sauf qu'ils s'écrasent l'un sur l'autre. C'est à ce stade que je vais vous présenter la fonctionnalité Mac et couche. Donc si nous montons dans notre vaisseau ennemi, c'est parti. Et notre corps cinématique 2D, marge de sécurité. Et puis nous passons sous l'objet de collision td. Ici, dans notre Inspecteur, nous avons Coalition, et ici nous avons des calques et des masques. Donc, si vous affichez quelque chose comme Photoshop, vous savez ce que sont les calques, fonctionne de la même manière. Où vous pouvez avoir une couche de joueur sont la couche supérieure, la couche ennemie, la couche de projection. Et peu importe combien veulent aller de l'avant et se séparer avec ça. Vous pouvez voir que si je l'ouvre, vous avez 32 couches différentes à utiliser. Et à la fois dans votre couche et dans vos masques. Le calque est l'endroit où se trouve votre objet et le masque est ce avec quoi il peut interagir. Donc si vous ne le faites pas, pour que votre vaisseau puisse s'écraser l'un contre l' autre ou percuter le joueur ou quoi que ce soit d'autre, nous pourrions désactiver le masque. Le problème que nous avons ici est que notre projectile se trouve également sur la couche 1. Puisque nous avons activé le masque unique, nous ne serons pas en mesure de tirer sur l'ennemi du tout. Ce que je vais faire à la place, c'est déplacer notre ennemi au niveau deux. Rien n'est, a un masque de couche deux à l'heure actuelle. Donc, si nous allons de l'avant et que nous jouons ça maintenant, vous pouvez voir que nos ennemis ne se croisent pas. Ils s' ignorent complètement. Mais ils rencontrent le joueur parce que vous vous souvenez que notre joueur est sur le masque un, ou est-ce que nos joueurs sont sur le premier niveau ? Donc, avec le masque détecté, nous le rencontrons. Maintenant, selon que vous voulez que l'ennemi puisse tomber le joueur ou non et le faire exploser avec des dégâts au joueur. Cela peut être idéal ou non pour vous. N'oubliez pas que si nous infligeons des dégâts à un joueur, nous pouvons simplement désactiver temporairement la collision du joueur pour éviter que cela temporairement la collision du joueur ne se produise. Donc, ce que nous pouvons faire, c'est laisser notre joueur sur un. Nous avons notre ennemi. Et si nous en utilisons trois pour notre projectile. Et nous regardons ces trois-là pour le projectile. Et le projectile peut interagir à la fois avec le joueur et l'ennemi. Nous avons donc réglé le masque 12 et nous l'essayons. Nous voyons de l'os et maintenant l' ennemi nous écrase. Et ils ne peuvent plus interagir avec nous. Alors allons-y. Ça, c'est ouah. Comment nous pouvons aller de l'avant et accomplir cela, ce sont des changements et ne plus nous rencontrer. Ils ne sont pas bloqués sur notre joueur et notre projectile. Comme il interagit avec les deux couches. Avec notre masque sélectionné 12. Nous devrions être en mesure d'infliger des dégâts à notre ennemi et notre Amy devrait encore être capable de nous infliger des dégâts une fois que nous les avons ajoutés. C'est donc aussi une petite introduction aux calques et aux masques. N'oubliez pas que le calque est l'endroit où vos objectifs et le masque, les calques avec lesquels il peut interagir. Encore une fois, si nous sommes sur le masque un et le calque un, calque un interagira avec lui. Depuis que nous avons sélectionné le masque. Si nous sommes sur le calque deux avec le masque un sélectionné, alors nous pouvons interagir avec tout ce qui se trouve sur le calque un, calque un côté qui interagit avec nous. J'espère que ce n'est pas le cas, ça ne t'a pas trop embrouillé. Mais sachez simplement que tout fonctionne. Si vous avez des questions sur les masques de calque, vous pouvez toujours les poser. Et je vais essayer de clarifier ce qui peut vous embrouiller avec eux. Nous pouvons passer à la vidéo suivante. À ce stade, nous avons un mouvement de tir de frai et nous n'avons aucune fuite de mémoire. Donc ce que je vais faire c'est que je vais juste retirer ces trois vaisseaux de départ de ma scène ici. Allons-y. Maintenant, nous ne les avons pas quand vous commencez et ils peuvent apparaître. Maintenant, si vous voulez créer un chronomètre aléatoire pour vos navires, vous savez comment faire des chronomètres aléatoires à ce stade ou obtenir des nombres aléatoires. Vous pouvez certainement le faire. Le temps d'attente a été remplacé. Très bien, vas-y. Nous avons tout mis en place, nous allons partir. Nous avons des ennemis, de la puissance, des tirs. Mis à part la santé et GameOver était destructeur et tout ça. Nous l'avons fait. À ce stade. Les bases, les bases du jeu de tir spatial standard. 24. Touche par balle: Aujourd'hui, nous allons essayer de faire en sorte que notre projectile tire et détruise notre ennemi et notre joueur. Et selon la santé que vous voulez donner au joueur ou à l'ennemi, vous infligerez des dégâts ou le tuerez carrément. Donc, la première chose que nous devrions faire est plutôt que la première chose que je veux que vous ayez faite soit de vous assurer que votre vaisseau ennemi n'en cause pas, ne provoque pas de fuite de mémoire. En vérifiant votre position, comme nous le faisons avec les projectiles que nous avons récemment réalisés, l'une des dernières vidéos. Et sur ce, une fois que vous vous êtes assuré de l'avoir, dirigeons-nous vers notre projectile. Et vous allez ajouter une zone à D qui a une forme de collision et agrandir légèrement la forme de collision. Quelle forme de clic était pour que vous puissiez voir ici pour moi c'est juste un clic plus grand. Très bien, alors vas-y et fais-le. Et puis pour que cela fonctionne, allons dans notre zone de tir ou zone de tir pour être égale à la collision. La couche mature est définie sur la couche trois. Et nous allons configurer notre masque 212 afin de pouvoir interagir avec les couches 12, quel joueur étoile et quel vaisseau ennemi. Nous pouvons aller à la section des notes ici afin de jeter un œil aux signaux et de connecter le signal saisi par le corps à notre script de projectile. Et c'est ce que nous devrions voir ici. Cette fonction est créée automatiquement pour nous. Donc, le moyen le plus simple de le faire en place et tester est pour notre joueur, je vais vous montrer deux façons de vérifier cela. L'un utilisant des noms et l'autre utilisant des groupes. Donc, pour le joueur, je vais utiliser des noms. Donc je vais dire si le nom du joueur et du corps, le point Q du corps est libre. Donc ce que cela veut dire, c'est si le corps physique qui entre dans cette zone, si son nom passe le joueur avec un P majuscule Et puis nous allons dire que ce corps est entré dans notre zone, DQ se libère lui-même. Donc, si nous revenons à notre scène de joueur et que nous examinons notre corps cinématique. C'est un joueur avec un P majuscule , donc ça va marcher. L'ennemi devrait être capable de nous tuer efficacement, se fera tirer dessus et le mode disparaîtra de la scène. Allons-y. Si on tire, on bouge. Rien ne se passe parce que nous sommes complètement guéris. Très bien, maintenant pour notre ennemi, je vais maintenant vous montrer comment faire avec les groupes. Donc, si vous voulez créer plusieurs vaisseaux ennemis différents, vous pouvez simplement les placer tous sous le groupe ennemi, et cela fonctionnera. Vous n'aurez pas à ajouter de code au projet. Passons donc à notre vaisseau ennemi vu avec notre corps cinématique 2D ici. Parce que n'oubliez pas que nous travaillons à partir du corps qui est entré. Passons à la section des groupes. Sur la droite. Nous allons aller dans notre zone de texte et nous allons dire ennemi et appuyer sur le bouton Ajouter. Donc, si nous devions gérer nos groupes maintenant, nous voyons que nous avons le groupe ennemi, qui est constitué de notre vaisseau ennemi. Comme vous voyez leurs notes dans le groupe navire ennemi. Et vous pouvez facilement en ajouter ou en supprimer. Mais maintenant que nous l' avons, nous pouvons travailler avec tous nos ennemis tant que nous les ajoutons simplement au groupe. Tout ce que nous aurions à faire, c'est si le corps est en groupe. Et cela prendra un argument sous la forme d'une chaîne si je ne me trompe pas sur le nom du groupe. Dans ce cas, il s'agirait d'une chaîne de capital ennemi Y. Allons-y et essayons-en. Dirigez notre monde. Et nous devrions maintenant être en mesure de tuer notre ennemi. Et nous ne le pouvons pas. Oh, ça ne fait rien. On lui a dit de passer ici. Évidemment, nous voulions faire de la gratuité, comme nous le faisons avec notre joueur. Donc si nos corps et le groupe ennemi, nous lui disons simplement de rester libre. J'ai choisi la mauvaise scène ici, bien sûr. Et vous pouvez voir si nous tirons maintenant, Aereo, notre ennemi et qu'il se fait tuer. Comme vous pouvez le voir, notre objet traverse directement tout ce que nous photographions. Donc, si vous ne voulez pas que cela se produise, vous voulez que vos prises de vue soient minimes. Ici. Ce que nous allons faire est hors de ces conditions. Maintenant, vous pouvez le faire en bas, ou vous pouvez le faire en haut, peu importe. Nous allons juste dire « self dot Q free ». De cette façon, notre discours sur les projectiles lui-même. Allons-y. Nous avons un tir qui fonctionne dans notre jeu et nous sommes capables de détruire notre anatomie et notre joueur. Très bien, dans la prochaine vidéo, nous allons commencer et nous allons mettre en place Health Speaking. Il y a du courant juste là. Configurez la santé et notre multiplicateur de dégâts. Assurez-vous que notre bouclier fonctionne pour nous protéger. Allons-y. Très bien, je te vois dans la prochaine vidéo. 25. Dégâts à la santé et au bouclier: Dans cette vidéo, nous allons attaquer le joueur et notre ennemi, leur infligeant des points de vie et des dégâts. Alors allons-y et allons-y. Allons empiler notre vaisseau ennemi. Ce sera un peu plus facile, mais un peu d'espacement. Et nous allons créer une nouvelle fonction appelée dégâts. Nous voulons l'appeler « hit ». Je transmets mon paramètre de dégâts. Et nous allons juste appuyer sur Passe pour l'instant. Nous allons passer aux deux premières variables. Et je vais créer une variable pour notre, pour ce vaisseau ennemi spécifique. Je vais l'appeler Santé. Et je vais régler ça à trois. Le vaisseau a donc trois points de vie, il n'est pas très fort. Et ce que nous allons faire, c'est dire que la santé dans notre fonction, Santé moins égale les dégâts. Ensuite, nous dirons si la santé est inférieure ou égale à 0, alors self point Q free. Maintenant, la raison pour laquelle nous allons dire inférieur ou égal à 0, parce que s'il est égal à 0, alors notre ennemi devrait être mort et il devrait lire. Alors. Mais s'il y a d'une manière ou d'une autre, un pépin se produit et notre ennemi finit par avoir une santé négative. Cela agit comme une vérification de barrière pour s' assurer que l'ennemi détruit comme il est censé le faire, même s'il est en quelque sorte en dessous de 0. Maintenant, au niveau de notre projectile, où se trouve notre groupe ennemi, nous allons juste appeler « coups de points ». Et rappelez-vous que cela prend une essence de paramètre si cet ennemi a trois points de vie. Nous allons dire que cette analyse de projet, nous pouvons la filmer très rapidement. Nous allons dire que cette vérification n'inflige qu'un seul dégât à l'ennemi. Donc, si nous devions courir ça maintenant, nous devrions voir que l'ennemi tire pour tuer. Allons-y, 123. Et si notre joueur se fait tirer dessus, vous voyez que nos joueurs sont toujours détruits instantanément. Notre vaisseau a donc maintenant de la santé, et notre joueur doit avoir de la santé, mais aussi prendre en compte d'autres paramètres tels que, bien sûr, nos boucliers. Passons donc à notre script de couche. Donnons de la santé à notre joueur si ce n'est pas déjà fait. Mon joueur a trois points de vie. Nous allons en venir à Où dois-je mettre ça ? Je mettrai ça juste en dessous de ma prise de vue avant d'entrer dans nos bonus. Je vais créer une nouvelle fonction appelée hit. Cela prendra un paramètre de dégâts. Et nous allons faire la même chose ici, la santé moins les dégâts. Et nous dirions que si je suis inférieur ou égal à 0, self.view grey, comme nous l'avons fait avec notre anatomie. Maintenant, le problème ici, nous devons jeter un œil à notre bouclier, non ? Nous devons donc vérifier si notre bouclier est actif. Nous y jetons un coup d'œil, nous avons créé une variable appelée shielded. Et quand le bouclier est actif, nous pouvons ajouter blindé égal à vrai. Faisons en sorte que nous ayons cela dans notre fonction. Et maintenant, quand nous serons touchés, avant de faire ces calculs, nous pouvons dire si l'ancien l'a fait. Et nous voulons nous assurer qu'il dit sinon, elle avait un C, Vous pouvez faire le point d'exclamation avant le mot blindé, ou vous pouvez taper le mot non. Dans les deux cas. Il faisait la même chose. Je vais juste surligner ces trois lignes et appuyer sur Tab. Donc, si nous ne sommes pas protégés, nous allons perdre de la santé. Et si notre santé est inférieure à 0, nous nous supprimons nous-mêmes. Nous pouvons donc maintenant avoir une autre déclaration ici. Donc si nous sommes protégés, nous pouvons alors supprimer notre bouclier entré blindé, défini sur false. Maintenant, si nous regardons, le bouclier contre Israël est l'enfant de notre joueur, nous allons avoir un de ceux-là. Donc si nous ouvrons la scène de nos boucliers, nous pouvons voir que nous venons d'appeler ce grand bouclier. Nous devrions donc être en mesure de faire à l'intérieur de nos joueurs vus ici. Nous devrions être en mesure d' obtenir les boucliers des nœuds, vous assurer que vous l'épelez correctement ou vous vous retrouverez avec une erreur une fois que nous aurons lancé le jeu et que nous aurons atteint cette partie. Donc, disons que les boucliers parsèment Maintenant, cela devrait supprimer notre bouclier et définir notre bouclier sur faux. Et si nous n'avons pas de bouclier, nous devrions être endommagés. Pour cela, je vais également imprimer notre état de santé juste pour que nous puissions le voir visuellement dans notre console. Allons-y, lançons ceci et voyons comment cela fonctionne. Sans aucun bouclier. On se fait tirer dessus. Nous ne l'avons pas appelé sur notre projectile. Je veux l'appeler point de corps, appuyez sur. Et encore une fois, je vais juste infliger un seul dégât à notre joueur également. Cela va maintenir l'équilibre entre eux deux. Nous voyons sur le côté ici que nous passons à la santé One Health et 0, avec laquelle nous sommes morts bien sûr. Maintenant, si nous pouvons vivre assez longtemps pour obtenir un bouclier, nous pouvons le tester. Ce sera un test un peu aléatoire. Qui sait ? Quand aurons-nous le pouvoir ? Si on veut en avoir un aussi. Allons-y, il y a un bouclier. Fantastique. Nous en avons donc un. Lorsque nous sommes touchés, notre santé ne devrait pas baisser et notre bouclier devrait disparaître. Notre bouclier a disparu. Et bien sûr, nous n'avons pas imprimé notre santé parce que nous n'avons jamais subi de dégâts. Maintenant, nous subissons des dégâts sur un. Ensuite, nos boucliers et notre santé diminuent comme prévu. Maintenant, si vous avez une animation d'explosion ou de mort que vous ajoutez à celle-ci pour votre joueur ou votre ennemi. Il vous suffit de lire l'animation. Et une fois que c'est terminé, je l'ai réglé sur. 26. Gain de santé: Très bien, allons-y et attaquons-nous à notre santé. Alors aussi, est-ce que j'ai quelque chose ici ? Alors jetons un coup d'œil. Que faire ? Jetez un œil à notre script Power Apps. Et nous pouvons créer notre pouvoir. Buddy est entré. Ok, alors allons-y. Lorsque nous serons en meilleure santé, c'est la section que nous voulons consulter ici. Ainsi, lorsque la zone 2D du corps est entrée et que la puissance que nous recherchons, c'est notre santé. Et c'est à ce moment que nous allons travailler ici. Nous allons aller de l'avant et créer notre fonction pour cela. Nous allons dire, eh bien, la santé va dire augmenter la santé et refaire la santé plus égale la quantité. Et c'est aussi simple que nous devons améliorer notre santé pour fonctionner. Si vous voulez avoir un maximum de santé, alors vous pouvez dire, tout ce que nous avons à faire est de monter en haut et nous allons dire var max health. Je vais fixer à peut-être cinq, c'est le maximum de santé que nous ne pouvons jamais obtenir. entrerons et nous partirons si la santé est inférieure à l'étagère r max. Ensuite, nous avons juste cette ligne. Et on y va. C'est tout ce que nous aurions à faire si nous voulons nous assurer d'avoir un maximum de santé que le joueur ne dépasse pas ou ne dépasse pas. C'est tout ce que nous avons à faire pour cela. Mais maintenant, nous pouvons voir que notre santé va fonctionner. Et si j'imprime plus sainement, je vais juste entrer dans notre monde. Et allons-y, jouons-y et voyons ce qui se passe quand nous obtenons une santé notre Hold on. Je m'en souviens, je ne l'ai pas appelé. Passons donc à la santé de nos power-ups. Et on nous appelle en fait le point santé du corps. Et transmettez le montant que nous voulions augmenter, qui est le mien. Assurez-vous que je l'ai bien fait. Ouaip. Très bien. Nous pouvons maintenant aller dans notre monde et tester nos biens de santé. Nous en avons donc trois par défaut, si vous vous souvenez, nous avons sélectionné un Health et vous pouvez le voir dans la console à gauche, ou bien la santé est maintenant de quatre. Quand on a commencé à trois heures. Et avec notre vérification de la santé du Mac, nous ne devrions jamais aller plus haut pour aucune raison. Quel que soit notre objectif dans le sud. C'est bon, on y va. Notre système de santé fonctionne désormais comme il se doit. Nos boucliers ne fonctionnent pas seulement, mais ils sont pris en compte lorsqu'il se fait tirer dessus. Et quand on nous tire dessus, nous sommes endommagés. Nous avons traité correctement nos ennemis et notre joueur. Cela couvre tous nos power-ups, notre puissance, nos tirs, infligeant des dégâts. Si vous créez des tirs différents, vous pouvez bien sûr utiliser le même type de script pour le projectile uniquement avec des valeurs différentes mises ici pour vos dégâts. Très bien, donc tout cela fonctionne et pour la plupart, nous avons exactement ce dont nous avons besoin pour appeler ce jeu de tir spatial terminé. 27. Arrêter de tirer mutuellement: Très bien, dans cette vidéo, nous allons faire en sorte que nos ennemis ne puissent pas se tirer dessus dans le dos. Et pour ce faire, nous allons nous diriger vers notre vaisseau ennemi. Nous allons ajouter une diffusion de rayons à D. Et pour une raison quelconque, elle est désactivée par défaut. Nous voulons donc aller dans la section Activé de l'inspecteur et l'activer. Maintenant, Arrow est effectivement jusqu'où notre casting va aller, jusqu'où nous allons vérifier. Donc ce que nous allons faire, c'est que je vais aller de l'avant et définir le cache , disons, peut-être 100. Cela le fait en plus, faites la majeure partie de votre écran. Si vous voulez devenir un peu fou, vous pouvez faire quelque chose comme 400 pour vous assurer de couvrir la totalité de l'écran. Cela dépend entièrement de vous. Ou masque de collision, nous voulons interagir avec le calque deux. Je vais donc en désactiver un parce que nous voulons seulement vérifier si nous touchons notre ennemi, ou dans ce cas, notre allié ennemi. Donc dans notre script, quand nous tournons, voyons voir. Où est-ce qu'on le filme ici, on devrait écrire ici quand le chronomètre dépassé L. Alors on va faire une petite vérification. Je vais dire si nous voulons obtenir notre diffusion de rayons 2D pour que le rayon F puisse étudier le point entre en collision. C'est tout ce que nous devrions avoir à vérifier. Il y a collision ou non. Nous allons donc dire que si ce n'est pas le cas, la rediffusion TD entre en collision. Nous allons le faire, ce qui va essentiellement tirer des olives. Et remarquez que j'ai laissé le démarrage de la minuterie hors de là parce que, qu' elle entre en collision ou non, nous voulons redémarrer la minuterie. Donc, si nous devions lancer ceci maintenant, juste à des fins de test et pour vous montrer, je vais de nouveau régler ma vélocité y à 0 sur mon ennemi. Je vais me transformer, entrer dans notre monde ici. Et je vais m'attaquer aux ennemis. Je vais en placer un juste devant nos joueurs. Ou plutôt, mettons-le sur le côté. Allons-y et trouvons un autre vaisseau ennemi. Et nous allons le mettre derrière lui comme ça. Donc maintenant si notre code fonctionne là, oui, à l'arrière ici ne devrait pas, parce qu'il sait qu'il tirerait sur un allié amical pour cela. Alors que celui de devant devrait pouvoir continuer à tirer normalement. Et on y va. Nous pouvons voir à l'avant et tous ceux qui sont en train de frayer et de tirer. Mais celui qui est juste ici en haut à gauche est en haut à gauche ? Non, puisque l'ennemi en face et n'a pas tiré. Si on y jette un coup d'œil, seul le premier tire parce que les autres frappent au moins un autre vaisseau qui sera devant lui. Une application Notre à dire attrape ce vaisseau et arrache-le. Vous pouvez voir maintenant qu'il y aurait un tournage parce qu'il n'y a rien devant. Et celui qui est tout en haut ne tire pas. Parce que si vous regardez juste dans cette zone, vous pouvez voir qu'elle atteint à peine la boîte de collision que nous avons de notre vaisseau. Donc si nous devions juste prendre ça et un peu plus, vous pouvez voir en bas ça va l'avant et il commence à tirer. Maintenant, il frappe notre ennemi là-bas. Et ça, c'est pour le corps. Très bien, donc on n'y est pas allés. Nous pouvons voir qu'ils ne tirent que lorsque nous avons des ennemis directement devant eux. Donc vous pouvez voir de quoi il s'agit, nous avons un lien assez correct avec le fait de savoir si un ennemi est devant nous ou non. Avec cette logique, tout devrait aller bien. Maintenant, je vais commencer et ajouter mes géniteurs dans le monde. Spawner ennemi. Si nous allons de l'avant et qu'on y jette un coup d'œil maintenant. Oh, c'est ça. Je les ai mis à 0. Testez ça. Remettez-le en vitesse. Allons-y. Nous pouvons donc voir qu' ils ne tirent pas lorsqu' ils ont un autre vaisseau juste devant eux. Et on y va. Maintenant, nos vaisseaux sont un peu plus conscients d'eux-mêmes. 28. Animations spawn: Maintenant, il ne vous reste plus qu'à faire si vous voulez des motifs plus complexes, au lieu de vous déplacer directement vers le bas. Vous pouvez simplement utiliser quelque chose comme un aléatoire, quelque chose comme notre aléatoire que nous utilisons. Retirons-le en arrière. Par exemple, tout comme nous le faisons ici quand Randy nous pouvons faire quelque chose comme ça. Ensuite, en fonction du nombre que vous obtenez, vous pouvez jouer une animation spécifique qui vous permet de créer des navires britanniques. Donc, si vous voulez avoir de l'unique, peut-être que vous voulez expédier pour faire quelques boucles. Vous pouvez aller de l'avant et vous pouvez le régler pour qu'il le fasse. Évidemment, vous devez régler sa vélocité y sur 0. Si c'est ce que tu veux. Sinon, vous allez continuer à vous déplacer verticalement même pendant la lecture de votre animation. Vous pouvez donc profiter de l'animation du joueur pour faire en sorte que vos vaisseaux fassent toutes sortes de choses. Et vous pouvez profiter de l'utilisation de Randy pour créer des scénarios différents ou jouer à différents scénarios. Et l'endroit où vous feriez cela serait juste ici, à l'intérieur de la zone d'apparition de vos ennemis. Donc basé sur ce que tu obtiens. Donc nous disons, disons, par exemple, si je dis var est égal à randy, accord, disons Randy cinq, comme ça. Ensuite, nous dirons que F et M sont égaux, égaux à 0. Qu'est-ce que la valeur par défaut ici ? Et ici, et m est égal à un. Et bien sûr, vous pouvez utiliser le match comme nous l'avons fait auparavant avec le joueur. Quand il s'agit de power ups. Ici, vous pouvez voir une correspondance ici. Vous ne voulez pas utiliser d'instructions if. Évidemment, nous pouvons aller de l'avant et y jeter un coup d'œil. Si le couteau anime anime. Si Adam un. Lancez cette animation, réglez la vélocité connue pi sur 0. Et c'est tout ce que tu aurais à faire. Maintenant, notre forme va filmer en continu. Cette logique est tout à fait indépendante. Mais c'est comme ça que tu peux le faire, non ? Et puis nous pouvons, bien sûr, faire une autre vérification si nous étions tous et M2. Et nous pouvons jouer cette animation et définir la vélocité à 0, qui obtient trois pour cent. Donc en haut, c'est vraiment à toi de décider. Et l'animation est que vous voulez créer pour que les navires puissent utiliser ou avoir lorsqu'ils apparaissent. Et si vous voulez aller plus loin, disons que l'animation 1 arrive par la gauche. Je suis Sam de gauche. Tu peux le faire. Vous pouvez entrer et vous pouvez, vous pouvez vérifier que la position x est inférieure à, peut-être que votre animation doit être inférieure à 300. Donc tu peux vérifier ça, non ? Il suffit donc d'utiliser ce texte simple et de créer différents types d'animations avec un flux de liens comme celui-ci. Je dois également ajouter quelque chose ici. Juste au cas où certaines personnes ne réaliseraient pas d'ajouter un ennemi en tant qu'enfant. Enfant. Je vais simplement ajouter cela pour mettre un peu l'accent là-dessus. Mais c'est essentiellement tout ce que vous avez à faire est suivre ce chemin avec, et vous pouvez aller dans le lecteur Animation et vous pouvez créer toutes les différentes animations, toutes les différentes animations vous voulez que votre navire prenne le chemin et aille aussi loin que possible. Très bien, ça, ça gère ça. Nous avons, vous avez une idée de la façon de créer un avoir unique. Si vous voulez avoir une animation spéciale ou votre vaisseau, quand il apparaîtra. Et bien sûr, ce sera une chance aléatoire, qu' il le fasse ou qu' il vienne tout droit. Si tu veux. Nous sommes allés de l'avant et nous sommes adressés à nos ennemis, sans nous tirer dessus dans le dos. Bon ? À ce stade, je n' utiliserai aucun de ces outils, mais vous pouvez certainement le faire, si vous le souhaitez. je ne pense pas que je vais le faire, je suis d'accord avec le fait que ça tombe tout droit comme certains classiques. Mais il ne nous reste pas grand-chose à faire ici à part nous attaquer à ce à quoi va ressembler notre interface graphique et la mettre à jour. 29. Création d'interface utilisateur: Très bien, dans cette vidéo, nous allons continuer et créer la partie interface utilisateur de notre jeu. Donc, si je zoome ici, vous pouvez voir que notre santé sera affichée sur notre gauche sous forme de cœur. Et nous avons à la fois un vide et un remplissage. Comme nous l'avons fait avec nos autres bonus ici, mais nous allons avoir nos bonus affichés sur le côté droit. Lorsqu'ils sont vides, ils sont grisés. Quand ils sont visibles. Tout sera illuminé comme vous le voyez ici. Maintenant. Nous pourrions simplement les laisser individuellement comme ça. Ensuite, il suffit de basculer ceux qui sont affichés via la visibilité. Mais il existe un moyen beaucoup plus simple pour nous de le faire. Je vais donc les supprimer tous. Et le moyen le plus simple d' accomplir quelque chose comme ça. Tout d'abord, utilisez un calque de toile. Maintenant, le calque de la toile , tout ce qui est placé dessus , sera dessiné au-dessus ou devant tout le reste de l'écran. Je vais donc créer une nouvelle scène, aller dans mon autre nœud. Mon calque de toile est utile si nous l'épelons correctement. Allons-y. Je vais le renommer comme étant de mon devoir. C'est ce que ça va être et on va le sauver. Scènes. Sauver. Allons-y. Maintenant, notre scène est en sécurité. Et gooey, si vous ne le savez pas, cela signifie simplement interface utilisateur graphique. Ce que je vais utiliser pour cela c'est que je vais utiliser une barre de progression. Mais nous ne voulons pas de progrès normaux. Nous voulons avoir nos textures et nous allons utiliser une progression de texture. Maintenant, cela va essentiellement nous permettre remplir et de vider un bar. Et maintenant, il peut considérer cela comme une barre de santé rectangulaire typique ou une barre de chargement. Cependant, nous allons le faire avec nos sprites. Et nous allons continuer, nous allons commencer par la barre de santé, comme nous l'avons nommée celle-ci. Et allons-y et jetons un coup d'œil. Nous allons le remplir de gauche à droite. Vous pouvez voir que nous avons toutes ces options différentes ici, en fonction de ce que vous voulez. Ceinture de but de ton Bartok. Nous avons de gauche à droite, de droite à gauche. Nous avons du haut vers le bas. Ce qui peut être intéressant ou payer de bas en haut sur façon dont vous voulez procéder. Nous avons une barre dans le sens des aiguilles d'une montre, donc je ne me trompe pas Souffle de la nature. Ce nouveau jeu Zelda qui est sur le switch utilise une barre d' endurance dans le sens des aiguilles d'une montre, si je me souviens bien. Mais ce que nous allons utiliser est de gauche à droite pour cela. Maintenant, si nous vous ouvrons les textures, nous avons un dessous et un dessus et une progression. Maintenant, je mélange ces fils exactement quoi, qui est lequel. Mais je vais aller de l'avant et m'occuper de ma santé. Vide, je crois, va au fond, soit continue, soit progresse. Je crois que ce serait comme les décorations avec une bordure autour de votre bar. En dessous se trouve le dessous de chaque barre. Donc, si vous avez une barre de santé, elle peut être rouge plus foncé ou simplement vide et n'avoir rien. Ensuite, c'est le progrès que nous allons montrer au fur et à mesure que nous progressons. Donc, si je mets ma barre de santé remplie une en cours et la vide et moins, si je descends ici à ma valeur et que je la règle à 50, ce qui est à mi-chemin parce que le Min est 0, max a faim. Alors j'ai dit que la santé évaluée à 50 actions se remplit à mi-chemin. Vous pouvez maintenant l'afficher comme vous le souhaitez. Je vais aller de l'avant et fixer ma valeur maximale à cinq. Ce qui signifie que si je fixe ma valeur à cinq, je serai en pleine santé. Si je le règle sur un, il nous reste un point de vie. Et si vous voulez franchir cette étape supplémentaire, vous pouvez voir que nos étapes augmenteront en étant définies sur un. Par exemple, nous ne pouvons pas faire 1,5, il suffit de l'arrondir à deux. Mais si vous voulez avoir un demi-cœur là-dedans, changez notre étape 2.50, et maintenant nous serons en mesure de faire 1,5 sans nous arrondir. Ce ne sont donc que quelques options auxquelles vous pouvez penser pour ce que nous allons faire ou ce que vous voulez faire. Eh bien, c'est essentiellement tout ce dont nous aurons besoin. Pour faire, ces barres fonctionneront essentiellement de la même manière. Notre santé, nos boucliers multi-tirs et notre vitesse. Non, il n'y a qu'une seule image. Cela signifie simplement que nous allons avoir une valeur maximale de un plutôt que de dire qu'il y a 0 ou un. Elle est activée ou désactivée, activée ou désactivée. Avant une meilleure santé, vous pouvez voir prendre un peu de liberté. Donc, si vous le souhaitez, vous pouvez faire des demi-points de dégâts ici ou vous pouvez vous en tenir au standard, ce que je vais utiliser ici. La norme 12345. Et je vais simplement créer nos autres marques ici. Donc, le laboratoire a deux autres textures. Les barres de progression en auront une pour notre barre multi-coups. Nous avons notre barre de vitesse. Enfin, une barre de progression. On ne verrouille pas ça. Mais comme je l'ai ouvert, vous pouvez voir qu' une barre de progression est généralement ce que vous allez voir pour quelque chose comme un écran de chargement. C'est juste une simple barre qui se remplit. Et c'est vraiment tout ce que tu as à faire. Alors que la texture, comme vous l'avez vu, nous pouvons y appliquer nos propres textures personnalisées, rendre plus unique. Alors allez-y et faites à nouveau progresser une texture. Et ça laisse juste envie d'être notre barre de protection. Très bien, donc en passant à celui-là, notre barre de tir multiple va être réduite. Allons y jeter un œil. Nous allons mettre notre dessous, elle est vide. Notre progrès, qui est notre plein, apporte notre petite barre. Nous avons donc notre minimum. Et ce sera soit 0, soit un. Réglez-le sur un. Pour jeter un œil à maxed out, nous pouvons augmenter notre vitesse, qui serait à peu près de la même taille. Très bien, nous pouvons maintenant voir jusqu'où nous voulons que nos positions soient à ce sujet. Où est-ce que je veux que ça aille ? Voyons voir, mettons-nous en épave et en position. Et c'est peut-être un peu trop. Je pense que cinq serait un bon chiffre. Ceux-ci le long position y vers le bas, position détruite y cinq. Pareil avec notre aide. Gardez tout sur un terrain uniforme ou une apparence plus belle dans l'ensemble éloignera également cinq du x. Attrapez les trois. Déplace-toi. Et jetons un coup d'œil. ce que nous avons. Je vais commencer par nous emmener ou aller jusqu'au bout. Ensuite, je vais juste en soustraire cinq. Disons 208 moins cinq. Ensuite, nous dirons 125 moins cinq, soit un quatre-vingt, un soixante-trois moins cinq, ce qui nous laisse 158. Très bien, maintenant nous avons une distribution égale entre tous ces éléments et si nous lançons ceci, laissez-moi voir, c'est comme ça que notre interface utilisateur va ressembler ici. Avec notre interface utilisateur maintenant créée. Nous pouvons ensuite passer à la mise en œuvre du bill ops et non à nos scripts. 30. Mettre à jour l'interface utilisateur: Très bien, alors allons-y et commençons à ajouter à notre code. Et je pense que le moyen le plus simple de le faire est de créer une fonction globale qui pourrait gérer le changement de n'importe laquelle de nos barres. Ce sera donc une fonction que nous pourrons utiliser encore et encore. Je vais donc créer un nouveau script pour argumenter. Placez-le au bon endroit. À l'intérieur de nos scripts. ne s'agira pas de variables. Ils sont prêts à fonctionner. Nous ne pouvions pas utiliser ça. Je ne vais pas m'en débarrasser tout de suite. Et à l'intérieur de notre fonction de processus, désolé, pas de processus. Et débarrasse-toi de ça. Nous allons avoir nos propres fonctions ici. Je vais accéder à la mise à jour de la fonction, à la barre de mise à jour. Et cela va prendre deux arguments d' une barre sous forme de chaîne. Et cela va prendre une valeur sous la forme d'un pouce. Maintenant, si vous faites une demi-valeur, vous devrez bien sûr également être capable d' accepter des charges, ce qui signifie comment vous pouvez le définir comme ceci. Pourquoi faire un nombre entier, vous aimez bien sûr 1, par exemple. Puisque j'ai affaire à des nombres entiers, je vais y aller directement. Et ce que nous allons faire, c'est utiliser le bar. Donc, quand nous appellerons cela, nous allons passer une chaîne comme une barre de santé, une barre de tir multiple, une barre de C , une barre de bouclier. Nous allons donc lui dire quelles barres nous avons achetées. Après cela, nous pouvons aller de l'avant et faire encore nœud. Et nous pouvons simplement passer le bar que nous voulons. Nous définissons la valeur du point comme étant égale à la valeur que nous lui transmettons. Et c'est tout ce que nous avons à faire. Combattez maintenant, ajoutez ou définissez nos vars sur ce que nous voulons, quelles que soient leurs valeurs actuelles. Dans notre fonction Ready. Je vais aller de l'avant et faire des points, ajouter, ajouter, ajouter au groupe. Et je vais juste ajouter ça à un groupe appelé Gooey en majuscules. Maintenant, ce que nous venons de faire ici dans le code AC équivalent à venir ici dans nos groupes de nœuds et ajouter notre Dewey dans un groupe gluant ici et en appuyant sur Ajouter. C'est exactement la même chose. Cela se produira juste une fois que notre jeu sera chargé. C'est une deuxième façon de procéder. C'est à vous de décider quel Rocks Gogo doit faire qui ne fait pas vraiment de mal ou peu importe la façon dont vous vous y prenez. Et je vais enregistrer ce qui a été créé. Nous devrions maintenant être en mesure de commencer à les mettre en œuvre. Donc je vais aller de l'avant et passer à, allons-y, passer à notre mise en puissance, je vais ajouter ou faire entrer nous dans le monde sur une scène graphique artistique. Maintenant que nous avons notre Dewey dans le monde, vous pouvez voir si nous l'avons en haut ou en bas. Ça n'a pas d'importance. Parce que encore une fois, c' est un calque de toile qui sera toujours dessiné par-dessus tout le reste. Maintenant, vous pouvez changer cela, bien sûr, avec des couches, comme vous pouvez le voir ici, mais il n'y a aucun véritable point. Surtout dans la maturité des jeux ici. Et les calques ne devraient vraiment entrer en jeu que lorsque vous avez, si vous avez plusieurs Canvas paresseux, je vais garder tout super organisé comme étant affiché. Très bien, passons à nos scripts. Commençons par ce que j'ai dit ? Power-ups. Allons-y. Nous allons donc participer, donc nous allons lancer appel inné et ils accéléreront, bouclier et activeront le tir multiple sur notre joueur. Disons. D'accord, donc ça nous donne la santé, c'est ce qu'on va rester assis ici ? Nous pouvons donc aller de l'avant et le fixer à cinq. Maintenant, nous allons régler cela à cinq montants maximum successifs que nous pouvons avoir. Nous allons trouver notre santé ici. accord, donc ici ce que nous allons faire c'est que nous allons, nous allons appeler le groupe DUE, qui signifie tout ce qui se trouve à l'intérieur de ce groupe. Et vous allez dire toutes ces choses pour effectuer une fonction spécifique. Maintenant, si ce n'est pas le cas, ayez cette fonction, bien sûr, vous pourriez vous retrouver avec une erreur ou un problème. Dans notre cas, nous n'avons qu' un seul élément dedans, c'est notre interface graphique. Nous savons donc que la fonction va exister. Donc nous allons dire call, get, tree dot col group. Le premier point ici est de savoir quel groupe ? Ce qui va être l'interface graphique. Nous regroupons. Le deuxième argument est la fonction que vous souhaitez appeler. Je vais juste le sélectionner pour m' assurer qu'il est bien orthographié. Elles sont toutes ajoutées sous forme de chaînes, donc mettez à jour la barre. Ensuite, il y aura les arguments que vous transmettrez. Nous avons donc d'abord besoin du bar, qui est celui de la santé. Un bar. Et la seconde sera la valeur à laquelle nous voulons la mettre à jour. Donc, dans notre cas, nous allons utiliser la santé parce que la santé va être réglée sur n'importe quoi, n'est-ce pas ? Et ce sera réglé sur 123 ou cinq d'ici la fin de tout ça. Nous allons donc continuer et utiliser cela pour mettre à jour notre santé. Maintenant, lorsque nous sommes touchés, vous vous souvenez, vous devez également mettre à jour notre santé. La santé moins les dégâts disparaîtront et nous appellerons ça. Donc maintenant, si nous l'exécutons, notre santé devrait être mise à jour. Et il est réglé sur un simplement parce que nous testons des choses en tétramère. Et comme ce n'est pas réglé sur plein par défaut, je vais entrer dans ma barre de santé et la mettre à jour. Où sont mes valeurs ? Je vais donc régler ça à cinq. J'ai demandé ma valeur par défaut et nous allons de l'avant et l'exécutons pour avoir une santé complète. Et tu vois qu'on s'est fait tirer dessus, on perd la santé. C'est une mise à jour. Et si nous pouvons trouver une amélioration de la santé, cela devrait également augmenter. Si on peut avoir autant de chance. Il y en a un, nous l'avons et vous voyez notre santé mise à jour. Quatre sur cinq. Il y a un plan multiple pour lequel aucune de ces choses ne fonctionne encore. Nous soutenons que ces valeurs par défaut doivent être définies sur 0. Ce sont des virus. Et on y va. Très bien, maintenant nous pouvons utiliser le même code ici pour obtenir notre autre valeur. Permet donc la vitesse. Par exemple, ici. Nous pouvons venir ici, nous pouvons l'activer. Je vais appeler le groupe GUI. Nous allons appeler la barre de mise à jour. Et cette fois, nous allons appeler la barre de vitesse. Et nous n'allons pas passer en santé. Nous allons en passer un. Cette fois-ci. Nous allons en fait définir notre numéro. Et quand notre vitesse reviendra à la normale, nous passerons un 0. Très bien, nous pouvons également nous occuper de cela pour activer notre bouclier. Bien que l'activation du bouclier le définisse sur un. Et on le remet à 0 quand on est touché. Donc nous revenons ici pour frapper quand bouclier devient faux et nous gardons les boucliers arrière. Nous mettons à jour notre bar. Notez que nous devons mettre à jour cela et nous allons dans la barre de bouclier. Et puis il reste notre plan multiple. Viens. Nous avons dit « vrai ». Les boutiques multiples sont définies sur un. Et après notre minuterie, lorsque nous désactivons les prises de vue multiples, nous remettons la valeur à 0. Maintenant, nos power-ups devraient tous fonctionner. Et qui doit attendre qu'ils se présentent pour les tester ? Leur rapidité. Boum, c'est parti. Nous avons notre coup de pouce. Je devrais désactiver cette option dans un instant. Allons-y. À notre vitesse fonctionne. Maintenant, nous devons nous assurer de notre multi-shot. Allons-y. Nous avons rencontré un problème. Je l'ai remis au lieu d'un bar. Allons-y. C'est pourquoi nous allons de l'avant et faisons nos tests afin de savoir si notre vitesse fonctionne. Nous devons maintenant tester notre multi-shot qui devrait fonctionner. Il y a juste une faute de frappe. Ensuite, nous pourrons tester nos boucliers. Et si les deux fonctionnent, nos Power Apps fonctionnent toutes comme elles le devraient. Soyez. Fantastique. C'est toujours bon à entendre. Ça dit : « Allez-y et attendez ». Il y a un bouclier, ramassez-le ou le bouclier est allumé. Fantastique. Quand on nous tire dessus, disparaît avec son bouclier. C'est beau. Il ne nous reste plus qu'à nous assurer que notre multi-shot fonctionne. Très bien. Nous sommes allés de l'avant et nous avons obtenu des plans multiples allumés. Et dès que c'est fait, ça devrait être le cas. Nous revenons à une icône vide. D'accord, donc toutes nos capacités et bonus fonctionnent parfaitement, ainsi que notre mise à jour de santé. Nous avons conservé tout cela dans une fonction simple. Nous pouvons appeler de n'importe où sans arriver à des signaux de connexion et rendre les choses plus déroutantes qu'elles ne le sont pour certaines personnes. 31. Explosion de particules: Très bien, dans cette vidéo, nous allons continuer et je vais vous montrer comment faire une explosion en utilisant des particules. Maintenant, vous pouvez utiliser des particules pour toutes sortes de choses différentes. Dans ce cas, nous allons l'utiliser pour faire une petite explosion. Ainsi, au lieu d' animer une explosion, je vais vous montrer comment en créer une. Je vais vous montrer comment en créer un l'aide des particules intégrées. Maintenant, lorsque vous créez vos particules, nous allons évidemment créer une nouvelle scène. Nous allons créer une minuterie. J'en suis un enfant. Juste pour qu'il sache quand se supprimer lui-même, qui se charge de notre problème de mémoire. Mais quand on fait des particules, CSI tape ça ici. Des articles. Nous avons des particules et des particules CPU. Il n'y a pas de grande différence entre les deux, sauf que les particules du processeur seront alimentées par votre processeur, alors que les particules TD seront alimentées par votre GPU. Donc, selon votre projet, vous voudrez peut-être vous ranger d' un côté sur l'autre, tout dépend de vous, mais nous allons utiliser les particules GPU ici. Très bien, donc avec cela sélectionné et renommé en explosion, je suis allé de l'avant et j'ai déjà enregistré ma vue. Quand allez-y. Nous pouvons quitter la vie à un moment donné. Et nous allons aller de l'avant et passer au matériau de traitement. Le triangle jaune nous dit que nous n'avons aucun matériau pour notre, nous n'avons aucun matériau pour nos particules ici. Nous allons donc créer un nouveau matériau particulaire. Maintenant, le shader entrerait dans le code, et c'est un langage complètement différent et une toute autre bête en soi. Gardez les choses simples. Et comme nous n'avons vraiment pas besoin d'utiliser de code shader ici, nous allons simplement créer un nouveau matériau particulaire. Et vous pouvez déjà voir que notre particule est déjà active et qu'elle descend directement vers le bas. Descendez, on peut y jeter un œil. Nous voulons notre forme d'émission. Un moment. Allons-y. Donc, notre forme d' émission change considérablement. Devons-nous dire que le nœud de la sphère va dans une zone circulaire ? Nous avons une boîte qui devait être plus un rectangle. C'est donc à peu près lui dire comment se créer lui-même. On va utiliser une bague. Et voici un exemple : si nous augmentons le rayon de l'anneau, vous pouvez voir que nous obtenons résultats différents par rapport à ce point de base. Donc si nous devions utiliser disons, une boîte, disons dix sur le X. Pourquoi ? Vous pouvez voir que nous entrons dans l'espace de dix par dix dans lequel ces particules apparaissent. Donc, selon ce que vous allez faire, vous voudrez peut-être expérimenter différentes formes, trouver quelque chose qui vous plaît. Je vais prendre une bague pour cette explosion. Réinitialisez ce retour à un, je crois que c'était un défaut. Donc, en continuant, nous pouvons aller vers nous avons une direction et nous avons la gravité. Ce sont les deux choses qui vont affecter la façon dont vos particules se déplacent. Et pour cela, je vais aller de l'avant et régler ma gravité. Il va être 0 sur le y, et je vais en mettre un sur le x pour qu' il se déplace vers la droite. Maintenant. Ça ne va pas très loin. Et elle ne se répand pas du tout, comme on peut s'y attendre d'une explosion. Mais ce que nous pouvons faire, c'est descendre à la vitesse initiale. Et nous pouvons augmenter cela, disons 180. On y va, on s'envole dans la direction X. Et la raison pour laquelle nous l' avons partout à cause de notre propagation. Nous avons donc réduit notre écart d'un degré. Ça va presque avoir l'air d'aller parfaitement droit. Si on fait 0, ça ira tout droit. Mais comme il n'y a pas d'explosion, nous devons le retourner complètement. On veut 180 degrés, non ? Nous voulons faire le tour de nous ici. Et je pense que 180 sur la vitesse est peut-être un peu trop rapide pour cela. Je vais donc le changer à 50. Maintenant. Ça, ça a l'air super. Mais comme vous le voyez, nous devenons comme boop, boop, boop, boop, boop. Vous pouvez voir toutes ces directions différentes. Maintenant, l'explosion de Warren, nous voulons que ce soit comme une explosion, non ? Nous voulons juste un gros boom et il y a tout. Eh bien, avant de sauter là-haut, je vais modifier mon année de vélocité aléatoire. Et cela va juste ajouter une variété à cela. Donc si ma vitesse est de 50, ma rougeur est d'environ 0,45. Cela signifie que ma vélocité peut être comprise entre 49,4 ou cinq, désolé, 49,55 au minimum et aussi haut que 50,45. Et vous pouvez aller de l'avant et modifier ceci est beaucoup plus facile pourquoi nous avons une seule différence là-dedans. Mais encore une fois, je vais juste choisir 0,45. Ce n'est pas une grande différence, mais cela ajoutera un peu de variété. Donc, ni pour obtenir cette explosivité que nous voulons, nous voulons en fait faire défiler jusqu'en haut sous, sous la section temps. Nous avons de l'explosivité ici. Allez-y et réglez-le sur un. Et boum, on y va. Nous avons notre explosion. Il ne s'agit pas d'un grand nombre de particules. Ils ne sont que huit. Eh bien, nous pouvons aller de l'avant et ajuster le montant ici. Et le système de chacun sera différent. N'oubliez pas que plus il y a de particules, plus il faudra de ressources à l'ordinateur pour les afficher. On peut aller jusqu'à, disons, 100. Boom, on y va. Maintenant, si vous voulez utiliser un nombre inférieur, bien sûr, 5050 semble correct par pixel de jeu également. Mais je pense que je vais y aller avec 100 dollars personnellement. Et ce sera évidemment le choix personnel de chacun ici. Maintenant, en regardant ça, on voit qu'il est tout blanc. Maintenant, ça ne va pas être comme un enfer de neige qui se passe. On veut, on veut de la couleur là-dedans. Passons à la section des couleurs. Et nous allons faire un dégradé de couleurs. Donc une nouvelle texture dégradée. Et il suffit de cliquer dessus pour créer un nouveau dégradé. Ouvre ça. Et on y va. Donc ce que je vais faire, c'est pour ma première couleur ici, je vais commencer et faire du jaune. Je vais maintenant avoir une autre couleur, un peu moins à mi-chemin, créer une orange. Et sur celui-ci, je vais juste opter pour un gris foncé. Et j'ai cliqué dessus. Allons-y. C'est donc ce que j'ai pour un explosif. Vous pouvez modifier et filmer de petites barres ici, ce qui affectera le changement de dégradé. Donc, si je déplace l'orange plus à droite, le temps de transition entre le jaune et l' orange sera beaucoup plus long. On nous demande de tracer un graphique et de le déplacer vers la gauche. Ce ne sera qu'un incident. Vous pouvez donc déplacer ces curseurs vers quelque chose avec lequel vous vous sentez à l'aise et qui vous semble bon. Je pense que je vais y aller. Et avec cela, nous avons une explosion qui est créée et prête. Maintenant, nous voulions juste partir pour une fois. Promis. Si nous frappons un seul plan, nos particules ne seront pas émises lorsqu'elles seront chargées dans la scène. Je ne sais pas s'il s'agit d'un bug ou d'un problème, mais nous pouvons basculer d'un coup une fois qu'il a été généré. Et encore une fois, votre montant ici va être élevé, mais je vais vous montrer, si nous avions quelque chose comme des explosions de mille C, pourquoi ? Pourquoi est-ce que beaucoup de choses ont changé ? Parce que répondre à tous ces éléments se monte en même temps. Vous voyez, nous obtenons une forme d'anneau très claire ici. Donc c'est peut-être un peu trop. Dans ce cas. C'est pourquoi, pour quelque chose comme de la fumée censée exister dans un jeu de ramassage, j'aime bien utiliser ces nombres plus petits, comme 50 à 100. Très bien, maintenant que nous l'avons créé, assurez-vous de sauvegarder votre scène. Nous allons nous lancer, jeter un œil à notre petit script ici. Je vais créer le pour le minuteur. Je vais envoyer le signal de temporisation, mon explosion. Et je vais juste régler ça sur self dot. Maintenant, la chose importante que je veux régler ici est de m' assurer que le temps d'attente sur mon minuteur est le même que la durée de vie au moins égale à notre durée de vie sur nos particules ici. Parce que nous ne voulons pas qu'il soit coupé tôt. Ensuite, nous pouvons nous assurer de régler notre minuterie sur un coup et de démarrer automatiquement. Très bien, ensuite, il ne nous reste plus qu'à nous déplacer et à installer ça sur nos vaisseaux ennemis. Très bien, donc sur notre vaisseau ennemi ici, je suis allé de l'avant et j'ai créé une variable appelée explosion qui charge gratuitement nos particules ici, particule d'explosion. Et je vais descendre au moment où notre ennemi sera touché à l'intérieur de la fonction de bande est inférieur ou égal à 0. Nous voulons le supprimer, mais bien sûr nous voulons, nous voulons générer ou des particules dedans. Je vais donc créer une nouvelle variable conn EX p underscore. Définissez cette valeur sur l'instance de point d' explosion. Nous avons ici un nouvel exemple de cela. Et nous voulons bien sûr l' ajouter à notre scène avec l'EXP parent et enfant. OK. Donc c'est génial. Nous l'avons dans la scène maintenant. Il y a deux problèmes dans ce cas. Eh bien, un problème et un problème partiel. Le premier est le problème qu'il va encore se diriger vers le haut dans le coin. Nous devons donc définir sa position EXP underscore point position égale self point position. Jusqu'à maintenant. Les particules de l'explosion devraient maintenant se trouver au même endroit que notre vaisseau ennemi lorsqu'il est mort. Et nous pouvons aller de l'avant et nous pouvons préparer un plan. Pour être vrai. Vous ne devriez pas avoir à le faire avec la configuration de la minuterie. Mais si vous voulez être plus sûr qu' une douzaine de boucles ou tout cela seul. Juste une petite précaution supplémentaire. Ensuite, vous pouvez aller de l'avant et définir un tir égal à vrai ici. Maintenant, si nous lançons ceci, vous pouvez y jeter un œil. Allons-y. Il y a une explosion qui disparaît. Allons-y. Maintenant, vous pouvez continuer et faire la même chose et l'ajouter au lecteur si vous le souhaitez. Quand le joueur est tué. Allons-y. Nous avons créé notre propre petite explosion. Fabriqué uniquement à partir de particules. 32. Jeu: Très bien, pour cette vidéo, nous allons continuer et faire une petite scène de game over afin que lorsque le joueur meurt, nous puissions proposer à l'utilisateur une option pour redémarrer la partie. Et je pense que je vais le faire dans le cadre de ma commande. Je voulais créer une feuille séparée pour cela. Tu sais quoi ? Allons-y, je vais l' ajouter à mon Dewey. Oui, allons-y et faisons-le. Alors je vais aller de l'avant et pour ça, je vais faire une épave de couleur. Et je vais juste l'étendre. Assurez-vous qu'il couvre toute ma zone bleue. Et je vais changer la couleur pour voir à quoi ressemblera le mode sombre. Vingt et un, vingt et un. Et baisse mon alpha à mi-chemin. Si nous regardons cela maintenant, c'est là que nous pouvons regarder. Maintenant, cette scène de game over va être très simple à faire pour nous. Je vais appeler ça GO, GO BG pour le jeu en arrière-plan. Je vais créer un nœud de contrôle ici et l'appeler game over. Je pourrai donc y accéder plus facilement plus tard. Déplacez mon arrière-plan à l'intérieur. Ensuite, ce que nous allons pouvoir faire, c'est simplement afficher ou masquer l' intégralité de la partie sur l'écran. Très bien, donc ce dont nous avons besoin ici, nous avons besoin d'une étiquette pour pouvoir afficher du texte. Ce texte va juste dire M bien sûr, étiquettes au-dessus de notre arrière-plan. Et voyons voir. Donc tout ce que nous pouvons remplacer ici. Non, tout semble aussi bon que nous pouvons le faire sans y ajouter de polices personnalisées. Alors dites GameOver, disons taxe géographique. Et la dernière chose que nous allons apporter est un bouton. Et ce bouton indiquera Réessayer. Très bien, maintenant nous avons nos livres. Nous avons tous nos éléments, vous, nous avons un peu de contexte pour montrer que quelque chose est différent. Nous avons reçu notre texto vous disant que les joueurs ont terminé et nous avons un bouton Réessayer. Maintenant, nous pouvons y mettre. Il ne nous reste plus qu'à le montrer ou à le masquer. Et pour cela, nous pouvons aller dans notre interface graphique. Et ce qui va être très important pour nous, c'est le mode pause ici. Maintenant, il est configuré pour hériter, ce qui signifie que si tout le reste s'arrête ou si l'interface graphique s'arrête et si notre Dewey s'arrête, ou si l'écran de game over ne fonctionnera pas. Donc nous voulons régler cela pour traiter sorte que lorsque nous mettons l'arbre en pause, sans doute et tous ses enfants ici, nous allons continuer à travailler. D'accord, jetons un coup d'œil à notre script et nous allons dire écrire une fonction qui l'appelle over. Et pour cela, nous allons avoir notre GameOver. Remarque ici. Est-ce que c'est visible égal à vrai ? Et quand notre joueur meurt, voyez où cela se trouve juste ici. Gratuit. Ross va appeler le groupe GUI. Nous n'avons évidemment pas besoin d'arguments pour cela. On va appeler le groupe Gooey. Et j'ai déjà oublié game over avec un trait de soulignement. Copiez ça. y a donc aucune faute de frappe. Vas-y. Il déclenche maintenant notre GameOver lorsque nous perdons. Allons-y et jetons-y un œil. Sponsoring citoyen. Apparemment, ils empruntent tous le même chemin. On y va. Ok. Très bien, nous avons maintenant deux points de santé. Un. Ce prochain devrait déclencher notre jeu. Terminé. Allons-y. Donc, si vous ne voulez pas mettre la scène en pause et que vous voulez continuer à voir vos ennemis apparaître et tirer. Vous pouvez certainement arrêter cette partie ici. Ce que je vais vous montrer comment vous pouvez également mettre l'écran en pause. Donc, dans notre script de joueur, juste avant de le libérer, après avoir appelé le jeu supervisé, nous allons dire que arbre est égal à vrai. Et si nous essayions cela maintenant, nous verrons que tout s'arrête. Quand on mourra. Allons-y. Donc, si vous voulez que tout soit mis en pause, si vous voulez que l'écran soit mis en pause lorsque nous arrivons à un jeu terminé, comme ça. C'est ainsi que nous pouvons le faire. Si vous ne voulez pas avoir cela, il suffit d'omettre cet écran ou cette ligne de code. Et maintenant, nous avons besoin de notre bouton Réessayer ici pour fonctionner. Allons-y et connectons notre bouton Réessayer avec le signal du sein à notre interface graphique. Et quand ça tombe en panne, nous allons dire obtenir trois devises de recharge. Maintenant, ce que ça va faire, c'est que ça va certainement recharger la justice manquante. Si nous étions à SF, nous appuyons sur le bouton de lecture comme nous venons de le faire. Voyons voir, 1231 tirs de plus et nous serons touchés. Voir GameOver, tout est en pause. Et nous avons cliqué sur Réessayer. Et nous voyons qu'il se recharge, mais tout est toujours en pause. Nous devons relancer l'arbre maintenant, maintenant qu'il a été rechargé. Donc, après avoir rechargé, la scène ferait la même chose que nous venons d'obtenir un arbre. Et faites une pause, et nous allons régler cela sur false. Donc maintenant, non seulement il sera réinitialisé, mais je vais être réinitialisé et nous serons en mesure de commencer à jouer immédiatement. Encore une fois. Nous n'allons pas avoir tout ce qui ne sera pas gelé. Allez-y et jetez un œil. Il nous faut encore un coup. Allons-y. Je suis venu. Peux-tu réessayer ? Et maintenant, nous pouvons continuer à jouer encore un peu. Allons-y. Nous avons maintenant une scène game over, game over screen. Maintenant, nous pouvons, cela nous donne la possibilité de redémarrer une partie sans avoir à fermer et à rouvrir notre programme.