Développement mobile d'unité - Créez votre premier jeu mobile ! | Tirion Learning | Skillshare
Recherche

Vitesse de lecture


1.0x


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

Développement mobile d'unité - Créez votre premier jeu mobile !

teacher avatar Tirion Learning, Software Engineer

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.

      Intro

      1:49

    • 2.

      Mettre en place

      1:36

    • 3.

      Les bases

      5:51

    • 4.

      Créer notre personnage

      5:43

    • 5.

      Concevoir un environnement

      7:42

    • 6.

      Intro à la physique

      9:56

    • 7.

      Notre premier script

      24:26

    • 8.

      Suivre la caméra

      9:17

    • 9.

      États de caractère

      9:08

    • 10.

      Notre boucle de jeu

      5:44

    • 11.

      Minuterie

      4:07

    • 12.

      Générer notre carte

      17:51

    • 13.

      Améliorer notre carte

      22:55

    • 14.

      Améliorations mineures

      11:13

    • 15.

      Notation

      10:37

    • 16.

      ENREGISTRER

      2:58

    • 17.

      Améliorer les visuels

      12:27

    • 18.

      Conception du son

      9:20

    • 19.

      Système de menu

      17:31

    • 20.

      Monétiser notre jeu

      8:26

    • 21.

      Finition

      5:50

  • --
  • 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.

779

apprenants

2

projets

À propos de ce cours

Hésite là-bas et bienvenue à mon cours sur la création de votre tout premier jeu mobile !

Dans ce cours, nous allons créer notre propre jeu mobile monétisable et amusant à partir de zéro ! Nous utiliserons Unity et C # pour développer notre jeu et nous couvrerons tout ce qui est lié au jeu mobile, des bases du codage à toutes les caractéristiques de notre moteur de jeu.

Au cours des dernières années, j'ai créé et publié 4 jeux mobiles, entièrement par moi-même, et ils sont tous actuellement disponibles pour le téléchargement sur Google Play. Maintenant, en utilisant les compétences que j'ai acquises, j'ai créé ce cours dans l'espoir que je pourrais diffuser cette connaissance et vous aider à créer votre tout premier jeu.

Lorsque j'étais en train de construire mes jeux mobiles, j'ai rencontré beaucoup de problèmes, et par conséquent, j'ai passé des heures ou parfois même des jours à chercher sur le Web pour des moyens simples de les surmonter. Dans ce cours, je couvrirai tout ce que j'aurais souhaité savoir quand j'ai commencé à développer des jeux mobiles, et je vous expliquerai l'ensemble du processus de création de jeux mobiles du début à la fin, en passant par des didacticiels vidéo faciles à suivre. Après avoir terminé ce cours, vous aurez acquis toutes les connaissances d'unité et de C # dont vous avez besoin pour commencer à créer vos propres jeux et applications par vous-même !

Créer un jeu mobile à partir de zéro peut être une tâche délicate, mais avec l'aide de ce cours, vous apprendrez ce qui m'a prouvé être le moyen le plus facile et le plus efficace de développer des jeux mobiles en Unité.

Si vous choisissez de vous inscrire, vous prendrez une décision judicieuse, vous apprendrez une compétence précieuse et en demande et vous amuserez tout en le faisant. J'espère avoir le privilège de vous enseigner.

Passez une belle journée ! :)

Rencontrez votre enseignant·e

Teacher Profile Image

Tirion Learning

Software Engineer

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. Intro: Bonjour et bienvenue dans mon cours sur la création de votre tout premier jeu mobile à sur la création de votre tout premier jeu mobile l'aide du moteur de jeu Unity intégré au langage de programmation orienté objet C Sharp. Le jeu mobile est un secteur en croissance rapide d'un milliard de dollars. Et en 2021, les jeux mobiles Alert représentaient 59 % du chiffre d' affaires total de l' industrie du jeu dans le monde. Créer un jeu amusant et interactif et être une source incroyable de revenus passifs. Et les compétences nécessaires au développement jeux ou de logiciels en général sont aujourd'hui très demandées. Si vous avez pris la décision judicieuse d' apprendre à développer des jeux mobiles, mais que vous faites un mouillage pour commencer, vous êtes au bon endroit. Dans ce cours, nous couvrirons toutes les bases de l'immunité C-sharp, ce qui vous permettra de faire de votre jeu de rêve une réalité sans aucune expérience préalable requise. Couvrira également tous les aspects principaux du développement et de la conception de jeux mobiles, boucles de jeu aux systèmes de menus et bénéficiera de commentaires pour ajouter de l'intégration. Ou comme indiqué précédemment, nous construirons notre jeu à l'aide du moteur de jeu Unity intégré à C-Sharp, l' un des outils intuitifs les plus utilisés pour développement de jeux mobiles, à la fois l'eau. Après avoir terminé ce cours, vous construirez votre tout premier jeu monétisable Fanta et acquérerez les compétences et les connaissances nécessaires pour améliorer et changer le jeu pour en faire un euro. De plus, vous aurez créé cette ligne noire, n'est-ce pas ? Construire un jeu mobile peut être un tableau de tâches délicat. Le guide d'une expérience, l'urine si vous déménagez là où elle sera beaucoup moins intimidante. Qu'attendez-vous ? Investissez en vous-même pour apprendre les bases du développement mobile, vous pouvez commencer à organiser votre première réunion. 2. Mettre en place: Salut et bienvenue. Maintenant, comme mentionné dans la leçon précédente, les outils que nous utiliserons pour passer à autre chose, le parcours de développement de jeux, notre unité et notre C-sharp, qui sont vrais, puissants , fiables et surtout, outils gratuits pour le développement de jeux. Pour commencer ce cours, vous devez installer Unity ainsi que l'éditeur de script tel Visual Studio pour coder C-Sharp dans le processus d'installation ces deux éléments sont plutôt simples. Cependant, je vais brièvement passer en revue pour éviter toute erreur potentielle qui pourrait survenir. Tout d'abord, rendez-vous sur unity.com, barre oblique pour télécharger la dernière version d'Unity Hub. Sélectionnez l'un des liens de téléchargement bleus présents à l'écran qui liens de téléchargement bleus présents à l'écran convient à votre plateforme et suivez le processus d'installation à partir de celui-ci. Cette application vous permettra d'ajouter, de supprimer et de mettre à jour diverses installations d'Unity sur votre appareil. Lancez ensuite Unity Hub et assurez-vous que la version d' Unity que vous installez en tant que développement mobile est cochée. Je vais démontrer ce processus en installant la dernière version d'Unity actuellement disponible sur mon appareil en vérifiant le mode Livres Android et iOS, en acceptant les conditions générales et en cliquant sur Oui, si une invite apparaît, l'installation commencera alors. Une fois cela fait, rendez-vous sur Visual Studio.Microsoft.com, barre oblique de transfert télécharge le propre éditeur de code de Microsoft. Cliquez sur le bouton Téléchargement gratuit sous le titre de la communauté pour installer la dernière version de Visual Studio. Une fois téléchargé et installé, vous serez prêt à commencer à développer votre tout premier jeu mobile. 3. Les bases: Hé, là. Lors de notre dernière leçon, nous avons installé Unity et Visual Studio. Et ce faisant, configurez notre environnement de développement. Nous devons maintenant créer le fichier de projet pour notre jeu mobile. Pour commencer, lancez Unity Hub et sélectionnez le bouton bleu Nouveau sous Projets. Une fois que la fenêtre de création apparaît, entrez le nom de votre jeu mobile et sélectionnez l'emplacement du fichier de votre projet. Ensuite, veillez à sélectionner le modèle 2D. Évitez les modèles mobiles générés automatiquement , car nous ne les utiliserons pas pour ce cours. Une fois que vous avez terminé, sélectionnez Créer, New Jersey générera un tout nouveau projet pour vous. Cela peut prendre un certain temps, donc prêt à attendre un certain temps. Une fois que votre projet est créé dans Unity, le chargement est effectué. La première chose que nous allons faire est de nous assurer que Visual Studio est défini comme éditeur de code. En haut de votre écran, sélectionnez Modifier les préférences. Ensuite, une fois que cette fenêtre apparaît, accédez aux outils externes et assurez-vous que la version de Visual Studio que vous avez installée est sélectionnée comme éditeur de script externe. Si ce n'est pas le cas et ne fait pas partie des options déroulantes, sélectionnez l'option de navigation et recherchez et double-cliquez sur le fichier EXE de points à partir de votre emplacement installé Visual Studio. Avant de commencer à entrer dans la mise en page de Unity Editor, je vais commencer par quelques concepts pertinents pour les alcools, qui devrait faciliter tout ce que je comprends. Je vais commencer par les bases. De toute évidence, nous allons utiliser Unity comme moteur de jeu. Si ce terme n'est pas familier, il suffit de le considérer comme un outil que nous utilisons pour simplifier certains aspects du développement de jeux. Eh bien, cela facilite certains de nos obstacles au développement de jeux. Nous devrons inévitablement écrire notre propre code et notre logique. À un moment donné. Nous allons écrire ce code dans Visual Studio, les codeurs que nous avons installés précédemment. Cela va essentiellement formater et coder toutes nos logiques afin de faciliter l'analyse et la compréhension. Il écrira le code réel dans le langage de programmation c-sharp. Les bases de tous ces outils seront largement abordées dans ce cours. Ne vous inquiétez pas si quelque chose ne semble pas familier. En plus de cela, il y a quelques concepts d'unité et de C qui seront utiles à comprendre avant de commencer à en profiter, vous obtiendrez beaucoup de concepts et C-sharp peut être plus utile à ceux qui le font Je ne sais pas comment se développer dans aucune langue. Donc, si vous avez une certaine expérience de codage, vous pourrez peut-être ignorer quelques points suivants. Pendant le codage. Et le C-sharp est un sujet extrêmement long qui ne peut être expliqué en peu de temps. Quelques concepts peuvent être utiles à connaître avant de commencer à développer, commenceront par les procédures. Procédures généralement identifiables tout au long ce cours par le mot de code vide, ou les zones de notre code que nous appelons à certains moments pour accomplir certaines tâches, telles que le calcul des écoles secondaires pour générer des segments de carte. L'autre concept principal de codage que nous allons aborder avant de commencer est celui des variables. Vous pouvez penser à des variables. C'est comme des espaces de stockage pour différents types de données. Le type de données pouvant être stockées est déterminé par le type de variable. Par exemple, une variable entière permettant de stocker un nombre et une variable de chaîne stockent du texte. Maintenant, dans l'unité, il y a quelques autres concepts qui peuvent être utiles à comprendre avant de commencer. Un objet est tout ce que nous pouvons attribuer de la logique dans notre jeu, tel que le personnage va alimenter l'école. Lorsque nous appelons sprite, nous faisons référence à la conception artistique d'un personnage. En outre, comme une façon d'unité de différencier les sections de votre jeu, comme la section de menu principal de la section de sélection de niveau dans différents niveaux. Et encore une fois, il est cependant possible de créer votre jeu et une seule scène. Et pour des raisons de simplicité, nous le ferons dans ce tutoriel. Ce n'est pas un problème pour nous car notre jeu ne sera pas incorrectement exigeant si nous ne fabriquions pas un jeu de tir à la première personne avec des graphismes incroyables. Cependant, en utilisant plusieurs scènes, nous serions conseillé. Enfin, lorsque nous faisons référence à des ressources, nous faisons référence aux fichiers que nous utilisons dans notre jeu tels que les fichiers PNG va MP3. Ne vous inquiétez pas si tout cela semble être un peu trop important car nous allons passer en revue tout au long du cours, la seule chose qui doit s'enfoncer dans l'instant présent sont les concepts fondamentaux et fondamentaux de l'unité et du C - pointu. Maintenant que nous avons passé en revue les bases de notre moteur de jeu et de notre langage de programmation. Commençons par la mise en page de l'éditeur Unity. Lorsque vous ne tirez pas, la première fois, vous serez accueilli par cette porte d'aménagement plutôt intimidante. Si cela semble déroutant ou compliqué car il deviendra beaucoup plus familier avec le temps. De plus, de nombreuses fonctionnalités que vous pouvez voir un éditeur dont nous n'aurons pas besoin dans ce cours. Tout en haut de l'éditeur Unity se trouve un menu dans lequel vous pouvez aimer de nombreuses autres applications, enregistrer les fichiers de chargement de votre projet, accéder à l'aide, etc. enregistrer les fichiers de chargement de votre projet, un menu dans lequel vous pouvez aimer de nombreuses autres applications, enregistrer les fichiers de chargement de votre projet, accéder à l'aide, etc. à utiliser principalement pour naviguer dans l'unité. En dessous de cela, nous avons notre hiérarchie de scènes. Il s'agit d'une liste de tous les objets actuels de notre scène. C'est ici que nous stockons tout. Je suis un jeu allant de notre personnage à un composant de carte en passant par nos objets de conception visuelle. À quelques exceptions plus complexes. Si un objet n'est pas affiché dans la hiérarchie des scènes, il ne sera pas présent dans notre jeu. En dessous, nous avons un menu de ressources, qui contient la liste de chaque fichier stocké dans notre répertoire de jeux. Si nous voulions ajouter une chanson à notre jeu ou un sprite de personnage nous avons importé dans cet emplacement dans l'éditeur Unity, ce qui nous permet de l'ajouter à notre jeu. Sur la droite se trouve l'inspecteur d' objets, ce qui nous permet de modifier les différentes propriétés des objets de notre scène. Cela inclut leur position dans notre scène, leur taille, rotation, la logique qu'ils leur ont assignée, ce à quoi ils ressemblent, etc. Enfin, au centre de l' additif, nous avons notre CGI. Cela nous permettra de voir comment le jeu et l'action testés, essayer des visuels et bien plus encore. Vous pouvez le considérer comme un aperçu de ce que nos joueurs verront lorsqu'ils joueront à notre jeu, ce qui nous permet de tester notre projet sans le construire, tout le temps. L'emplacement et la taille de toutes ces zones dans votre éditeur peuvent désormais différer en fonction de la disposition de votre fenêtre. Si vous utilisez la mise en page par défaut comme moi, vous devriez ressembler, mais vous pouvez modifier cette couche au fur et à mesure que vous vous familiariserez davantage pour voir ce qui fonctionne pour vous. Encore une fois, si tout cela est intimidant, ne vous inquiétez pas. Vous n'avez pas besoin de vous souvenir de tout que nous avons examiné dans cette vidéo, mais il peut être avantageux de la regarder à nouveau, car vous pouvez comprendre certains des concepts, la deuxième fois. Cela n'est en aucun cas nécessaire. Cependant, car nous couvrirons toutes ces bases tout au long du cours lorsque nous les rencontrerons. 4. Créer notre personnage: Salut, et bon retour. Les trois dernières vidéos que nous avons abordées l'introduction de mon cours, les bases de l'unité et la mise place de notre environnement de développement, tous les concepts que nous devons connaître. Mais le moment est venu pour nous de commencer à créer notre jeu mobile. Maintenant, si vous regardez mon écran, vous verrez que j'utilise la mise en page de l'éditeur Unity par défaut. Et sous les actifs, j'ai tout ce qui est automatiquement généré lorsque vous créez votre projet. Et ce dossier Assets de cours, que vous n'aurez pas. Tout ce dossier Assets de cours il est, est, c'est tous les actifs. Donc, le courant est juste des fichiers PNG, mais plus tard, lorsque j'ajouterai plusieurs jeux seront également les MP3 et les versions précédentes. Si j'en ai besoin, tout ce j'aurai besoin pour mon jeu et tous ces éléments, je vais relier sous cette vidéo dans la section Ressources. Vous devez le faire si vous devez trouver la section ressources de cette vidéo, télécharger les ressources du cours, le fichier zip, extraire le fichier zip, sorte que vous ayez juste un dossier normal. Je dois placer ce dossier dans le dossier des ressources de votre projet Unity. Et une fois que vous l'avez fait, votre écran devrait ressembler exactement au mien sur les actifs. Notre première tâche dans Unity va maintenant consister à créer notre personnage. Cela ne va pas être incroyablement chaud pour le moment , car nous n'allons pas ajouter de logique complexe. Nous n'allons pas ajouter de scripts. Nous allons simplement créer le personnage que nous allons utiliser comme personnage principal pour le reste du parcours. Nous allons le faire en passant ici à la hiérarchie des objets, en cliquant avec le bouton droit de la souris et en sélectionnant Create Empty. Nous allons maintenant nommer notre joueur. Je le nomme jouer. Et sur la droite ici, nous pouvons voir toutes les propriétés de cet objet actuellement. Actuellement, sa position sur l'axe X, axe Y et l'axe Z, que nous n' utiliserons pas vraiment car il s'agit d'un jeu 2D. Cependant, je vous recommande de toujours faire ce 0. Maintenant, ce que nous allons devoir faire, c'est que nous allons devoir sélectionner cet outil ici, qui est l'outil de déplacement. Cela, en fonction de votre version d'Unity, devrait être ici. Si vous avez une version antérieure, elle se trouve peut-être ici, mais trouvez l'outil Déplacer et vous devrez faire glisser cela où vous le souhaitez. Vous pouvez également le faire simplement en modifiant ces valeurs. Mais évidemment, nous ne pouvons encore rien voir parce que cet objet n'a rien assigné à cet objet. Pour en faire réellement notre personnage. Nous allons ajouter un moteur de rendu de sprite, ce qui nous permet d'ajouter un sprite que nous avons déjà couvert, un fichier PNG à cet objet. Je l'ai déjà tapé, mais pour votre cas, tapez le rendu sprite et sélectionnez celui-ci ici. Et vous pouvez voir ici que ce doit être tous les paramètres par défaut dont vous disposez. Et il y a un sprite ici qui n' a rien à lui assigner. Ces petites boîtes ici sont celles que nous allons attribuer des sprites ou des fichiers audio, n'importe quoi lorsque nous ajouterons ces composants à nos objets. De toute évidence, vous allez dans le dossier des ressources du cours si vous l'utilisez. Et nous allons vouloir faire de notre sprite un carré. Cliquez donc sur le lecteur. Et nous allons faire glisser cette place jusqu'ici. En ce moment. C'est plutôt gros. Ce qui peut vous poser un problème si vous essayez de créer un jeu mobile. Nous allons donc changer cette propriété ici sur tous nos actifs. Sélectionnez le cercle, maintenez enfoncé, décalez le carré et le triangle. Et on va faire les pixels par unité avec 10000. Une fois que c'est fini, nous devrions avoir une brillance beaucoup plus petite. Maintenant, je pourrais continuer à réduire cela jusqu'à ce que j'en ai besoin, mais à la place, sélectionnez cet outil Rec. Cliquez ici, maintenez la touche Maj enfoncée et déplacez-la comme ceci afin que je puisse mettre à l'échelle mon sprite comme il me faut. instant, c'est un sprite bien meilleur. Je dirais qu'on va peut-être les rendre un peu plus gros. C'est beaucoup mieux. À propos, il convient de noter que je navigue dans l'éditeur Unity à l'aide ma molette de défilement pour zoomer et arrière et maintenir le clic droit enfoncé pour me déplacer dans la scène. C'est principalement comme ça que je navigue dans l'éditeur Unity. Il y a différentes façons, mais celle-ci fonctionne pour moi. Ensuite, nous pouvons voir l'échelle définir ces très grandes valeurs de grippe et l'échelle z est définie, ce dont nous n'avons pas besoin. Faisons donc ça 0. Et faisons ces 300,32. Il ne modifie pas ou ne correspond pas au montant, et il est simplement plus facile pour l'ordinateur de stocker ces valeurs. Juste ici, nous avons notre sprite, il n'est qu'un carré. Si nous cliquons sur cette fenêtre de jeu ici, nous pouvons voir à quoi cela ressemblera une fois que nous jouerons au jeu. Et en fait, si nous cliquons sur ce bouton Jouer en haut, il testera notre jeu et exécutera tout. Et on voit évidemment que ce n'est qu'un sprites. Il ne va pas bouger, mais c'est ainsi que notre personnage aura l' air dans le jeu. Ce qui est important à noter, c'est que si j'apporte des modifications pendant cette fenêtre de jeu, ils ne l'enregistrent pas. Par exemple, je l'ai rendu très long, puis j'ai cliqué ici. Ce changement ne sera pas sauvegardé si je l'ai fait dans la vue de la scène, mais il serait transféré. C'est exactement comme ça que fonctionne Unity. Vous pouvez apporter de légères modifications à votre jeu pendant que vous y jouez. Vous pouvez tester leur fonctionnement et je verrai que vous n'épargnerez pas. Gardez cela à l'esprit. Maintenant, notre personnage est à peu près fait pour la plupart, nous avons fait à peu près tout ce nous pouvions, nous ne pouvons pas y faire grand-chose d'autre pour le moment parce que nous n'avons pas appris d'autres concepts. Mais pour l'instant, la seule autre chose que nous allons faire est de changer de couleur. Faisons de lui un joli personnage jaune. Comme nous pouvons le constater, cela se démarque un peu mieux dans notre scène. J'ai eu notre personnage jaune sur fond bleu. Je ne veux pas que cela améliorera toute cette couche. Mais si vous avez suivi, vous auriez dû créer votre premier personnage avec un composant de rendu de sprite joueur hors de la fierté des carrés ou votre propre sprite. Mais je vous recommande d'utiliser le dossier officiel des ressources du cours et de changer la couleur comme vous le souhaitez. Vous pouvez même les rendre verts ou bleus. Je vais m'en tenir aux autres phénoliques. J'aime bien ce que ça ressemble. Si vous l'avez fait, vous avez franchi le premier pas vers la création de votre jeu mobile. La prochaine chose que nous allons faire est de créer un environnement pour cet endroit. Il n'est donc pas seulement au milieu de l'abîme, mais il fait du bon travail à tout le monde. Et je vous verrai dans la prochaine vidéo. 5. Concevoir un environnement: Salut, et bienvenue à nouveau dans l'unité. Dans notre dernier épisode, nous avons créé cet objet joueur et attribuons la position et l' échelle ainsi qu' un sprite et une couleur à cet objet. Ce que nous allons faire dans cet épisode, cependant, c'est que nous allons créer un environnement pour rendre notre scène un peu plus vivante. Avant cela, nous devons d'abord nous assurer que notre version Unity est en train construire pour la bonne plateforme. Nous le voulons. Dans ce cas, mobile. Vous allez en haut à gauche et sélectionnez Fichier, Build Settings, puis choisissez une plateforme ici. Je peux sélectionner Windows dédié plusieurs Android comme les trois modules de plateforme j'ai installés pour cette version d'Unity. Si je voulais construire pour autre chose, je pouvais simplement sélectionner et cliquer sur isolation du module Platform ou pour des solutions plus simples comme iOS, je peux sélectionner Installer avec Unity Hub. Playstation semble avoir besoin d'une documentation étrange, mais évidemment, nous n' allons pas nous inquiéter à ce sujet. Je vais cependant démarrer mon jeu pour Android car j'ai trouvé qu'il était beaucoup plus facile à tester, je vous recommande exactement la même chose. Même si vous avez un téléphone iOS comme Audrey, je vais cliquer sur Switch Platform et vous proposer un temps de chargement court. Il devrait s'assurer que mon projet peut exécuter Unity pour Android. Nous allons ensuite fermer ça et entrer dans une vue de jeu. Nous pouvons choisir la bonne résolution que nous voulons. J'ai actuellement mis le mien au paysage 2160181080. Vous pouvez à peu près sélectionner l'un d'entre eux que vous voulez. Vous pouvez faire 1920 par 1080 ou même un portrait, mais je ne vous recommande pas de le faire pour ce cours car ne fait que redémarrer notre paysage de jeu. Nous avons maintenant le bon rapport d'aspect. Nous allons créer notre environnement, mais nous ne voulons pas que chaque objet d' environnement que nous fabriquons soit présent dans une liste car cela va devenir très déroutant. Au lieu de cela, nous allons les commander un peu. Nous allons le faire en utilisant des dossiers ou des objets parents en cliquant avec le bouton droit de la souris et sélectionnez Créer vide. Nous allons appeler cet environnement. Et cela va essentiellement stocker tous les objets d'environnement que nous voulons. Cliquez ensuite à nouveau dessus avec le bouton droit de la souris et cliquez sur Créer un vide. Et nous pouvons voir que parce que nous avons écrit un clic droit sur l'objet, cela va créer un objet enfant en dessous. Nous pouvons appeler ce flux. Ensuite, nous pouvons voir si nous déplacons l'environnement, le flux se déplace avec lui parce qu'il est parent. Nous allons définir l'environnement sur 0. Nous allons aller de l'avant et faire glisser le sol vers le bas. Ce que nous devons maintenant faire, c'est ajouter un moteur de rendu sprite. Ouvrez les ressources du cours, faites glisser le carré. Et voilà, nous avons un étage très carré. Nous ne voulons pas carrer le flux. Nous voulons plus d'étage, d'étage. Nous allons donc y parvenir en faisant glisser l'axe Y vers le bas et l'axe des X pour nous assurer que le flux sortant est étiré horizontalement sur tout notre ensemble. Voir. Si nous passons à la vue du jeu, nous pouvons voir qu'il couvre en fait toute la moitié inférieure de notre écran. Ensuite, la prochaine chose que nous voulons faire est d'ajouter un arrière-plan ou un ciel, si vous voulez. Je vais aller dans l'environnement, cliquer avec le bouton droit de la souris et créer un mouvement vide et appeler cet arrière-plan. Encore une fois sur un moteur de rendu de sprite, faites glisser le carré et redimensionnez-le. Le problème, cependant, c'est que cela va passer devant tous les autres objets que nous avons dans notre scène. Pour éviter cela, ce que nous allons faire, c'est que nous allons changer cet ordre dans l'attribut de couche cet ordre dans l'attribut de couche attaché au moteur de rendu de sprite. Si nous réglons cela à moins dix, nous pouvons voir que notre joueur et notre plancher ont tous deux sauté devant l'objet. De toute évidence, le flux est blanc, comme c'est le cas. Vous ne pouvez pas vraiment le voir , mais croyez-moi, ils l'ont fait si je bouge ça et que je le rends gris, nous pouvons voir les planchers en face. Je vais donc rendre l' arrière-plan bleu foncé. Et on y va. La dernière chose est de faire de notre sol une autre couleur, donc je vais rendre la grippe verte. Nous pouvons voir qu'il y a tout un jeu de couleurs de jeu mobile très douteux. Et nous avons créé un environnement très basique, mais nous n'allons pas nous arrêter là. Nous voulons ajouter d' autres objets. Maintenant, nous pouvons continuer à fabriquer des objets comme je l'ai fait tout ce temps, tout ce que nous pouvons simplifier un peu le processus. Nous pouvons réellement prendre ces ressources et les faire glisser directement dans notre scène. Et ils créeront automatiquement un objet avec un moteur de rendu sprite pour nous. Le problème est que cet objet ne se trouve pas dans le dossier Environnement que nous avons créé précédemment, donc je vais devoir le faire glisser donc je vais devoir le faire glisser et le placer là. Et vous pouvez voir qu'il se déplace pour écrire exactement ce qu' il est censé être. Ensuite, je vais juste baisser cela, peut-être faire 0,7 par 0,7, c'était assurez-vous de garder l'échelle x et y la même si vous ne voulez pas étirer les choses et ce n'est pas assez grand. Permettez-moi donc de ne pas le faire plus petit que 0,40.4. Ensuite, je vais le faire descendre et on peut voir le voilà, on a un pic. Faisons lire ce pic. Maintenant, c'est un très petit pic et je n'en veux pas une seule fois cinq, j'en veux trois. Donc, ce que je vais faire, je vais sélectionner cet objet. Je vais cliquer sur Contrôle C. Je vais appuyer sur Control V, et il va faire une copie exacte de l'objet dans la même position. Nous voyons donc, nous ne pouvons pas le voir maintenant, mais si nous le traînons, voilà, il y a notre deuxième pic et nous pouvons réellement le faire deux fois et faire trois pointes, ce deux fois et faire trois pointes, qui semble beaucoup mieux. Maintenant, ce que nous allons faire, c'est que nous allons aller l'avant et cliquer sur notre vue de jeu pour voir à quoi elle ressemble. Ça n'a pas l'air mal. Je pense que ce que je vais faire, c'est que je vais aller de l'avant et sélectionner le flux, sélectionner cet outil rectangle, puis le faire glisser vers le bas pour qu'il couvre toute la moitié inférieure de l'écran , a l'air un peu mieux à mon avis. La dernière chose que nous allons faire est d'ajouter des pièces de monnaie. Nous allons donc utiliser cette méthode plus rapide que nous avons découverte en glissant directement. Je vais juste le réduire à l'aide de l'outil Rectangle. Et je vais mettre ça là-bas. Je pense que les couleurs de ma pièce devraient être dorées. C'est orange. Ça va marcher. C'est bizarre. L'or, l'orange va être ma couleur. Je vais faire exactement la même chose que j'ai faite avec les triangles et je vais juste le copier et faire trois pièces. Ensuite, je vais sélectionner ces trois cercles en maintenant la touche Maj enfoncée et en le remettant à nouveau dans l'environnement. Nous pouvons maintenant voir que notre environnement est stocké dans cet objet. Ainsi, lorsque nous déplacons l'objet, tout l'environnement et bouge avec nous. Cela pourrait être utile si nous voulions créer un jeu bizarre où l'environnement se déplace , mais pas le joueur. Mais pour notre cas, ce sera un objet assez statique, il est juste utilisé pour stocker tous ces différents objets d' environnement. La dernière chose que je pense que nous devrions ajouter, c'est peut-être un peu de détails. La première chose que je vais faire, c'est de rendre ça un peu plus léger parce que je n'aime pas vraiment ce que ça ressemble maintenant. Je vais évidemment vouloir les ajuster simplement en maintenant la touche Maj enfoncée et en les déplaçant lentement comme ça. Faites la même chose avec les pièces pour qu'elles soient un peu mieux. C'est le cas, et je vais mettre le joueur par terre, donc ça ressemble à un jeu. Maintenant, notre environnement s' annonce beaucoup mieux maintenant, mais je voulais tout déplacer, y compris le joueur un peu vers la droite. Mais au lieu de le faire, je pense que je vais simplement déplacer mon appareil photo vers la gauche. La caméra va capturer chaque objet de la scène. Nous pouvons voir que si je le déplace, nous pouvons voir que l'aperçu en bas à droite change. Donc, si je voulais faire suivre un script, déplacez évidemment cela et l'appareil photo capturerait différentes parties de l'écran. Je vais le déplacer légèrement vers la gauche, peut-être là. Et tout se passe un peu mieux. À mon avis. L'environnement est essentiellement fait. De toute évidence, il va falloir ajouter un peu de logique à tous ces composants. Mais nous allons y arriver plus tard dans le cours. Les pièces et les choses ne font vraiment rien. Maintenant, on pourrait jouer tout ce qui vient juste s'empiler. Mais nous avons fait les premiers pas pour construire notre environnement à l' aide de Unity. Bon travail, et je vous verrai dans la vidéo suivante. 6. Introduction à la physique: Salut et bienvenue à l'unité dans la défaite en fait, comme vous vous en souvenez sûrement, nous avons créé cet environnement très douteux pour un jeu mobile. Ce que nous allons faire dans cet épisode, nous allons réellement supprimer certaines parties de l'environnement que nous compliquons un peu trop pour l'endroit où nous en sommes à ce cours. Et nous allons attribuer la logique à ceux qui sont partis. On dirait peut-être que nous reculons, mais ce n'est pas parce que le but du dernier épisode n'était pas de vous apprendre comment créer cet environnement exact. C'était pour vous apprendre à créer de nouveaux sprites, à les ajouter, jouer au jeu et à les commander à l'aide de ces objets parents. Nous y sommes allés, allez de l' avant et supprimez toutes les pièces et les pointes de vos scènes. Vous n'avez que le plancher de l'arrière-plan et le joueur reste. Vous pouvez alors prendre votre plan. Vous allez les déplacer vers haut pour qu'ils soient suspendus en l'air. Maintenant, cette étape est un peu préemptive, mais croyez-moi, j'ai pris plusieurs prises de cette vidéo maintenant et chaque fois que je ne le fais pas, cela signifie que vous ne pouvez pas DC une des choses que je démontre, allez-y et prenez l' arrière-plan et vous allez vouloir rendre cela beaucoup plus sombre. Même chose avec le sol et même avec le plan. Maintenant, ça n'a pas l'air génial. Oui, je suis d'accord. Mais c'est très important car je veux démontrer quelque chose avec un nouveau composant. Et ce composant, comme vous le voyez, a un contour vert autour de l'objet. Et nous ne pourrons pas voir qu' à moins d'avoir couleurs plus foncées, il y a plus de contraste. Parce que nous avons évidemment la bibliothèque et la bibliothèque et le jaune clair, ce qui est probablement les trois pires couleurs à avoir contre le vert clair en termes de contraste. Je vais donc aller de l'avant et aller voir mon joueur. Maintenant que j'ai rendu mon truc un peu plus sombre, et je veux y ajouter un composant. Et je vais ajouter avec Cold Box Collider 2D. Je suis sûr que, comme vous l'avez vu, il y avait deux encombrements ici que nous pouvons sélectionner parmi le boss planeur et le box cloud 2D. Pratiquement chaque fois que c'est le cas lorsque nous recherchons des composants, s'il existe une option 2D, nous allons vouloir l'utiliser car nous créons un jeu 2D. L'option 3D ne fonctionnera plus comme ultérieurement. Nous allons ajouter un corps rigide à quart d'objet. Il y a également un corps 2D rigide et nous allons utiliser le corps rigide 2D car il est conçu pour les jeux 2D, comme nous le faisons. Je veux aller de l'avant et choisir la boîte collider 2D et cliquer dessus. Et cela va l' ajouter à notre objet. Et ici, vous pouvez voir le contour vert dont je parlais. Vous ne pourrez peut-être pas le voir dans cette vidéo, mais vous devriez pouvoir le voir sur votre écran. Il devrait y avoir un contour vert autour de votre plante. Maintenant, ce contour est en fait le collisionneur que nous venons d'ajouter. Voici donc le Box Glider 2D. Nous pouvons voir que nous avons un matériau de collisionneur qui sera utilisé par le fait qu'ils sont utilisés par taille de décalage composite. Toutes ces propriétés, cela modifie fondamentalement la façon dont le collisionneur fonctionne et regarde notre objet. L'alcali ici est parfait pour notre joueur. C'est exactement autour du joueur. La raison pour laquelle cela se produit est que le joueur a exactement la même taille que le sprite. Ce n'est pas toujours le cas. De toute évidence, dans d'autres actifs de cours, nous pouvons voir que ce carré remplit exactement la taille de son conteneur. Mais si nous utilisions un cercle, par exemple, et que nous avons ajouté un collisionneur de boîtes, nous pouvons voir qu'il va à l'extérieur. Cette ligne verte du jour est maintenant l'extérieur de la chose, car c' est la taille de la propagation. Parce que nous utilisons un carré, nous ne devrions pas avoir ce problème. Mais c'est juste quelque chose à noter plus tard. Si nous voulons ajouter un collisionneur de boîtes et que nous voulions modifier les contraintes, allons passer à cette chose qui indique Edit Collider. Ensuite, nous pouvons changer et mettre à l'échelle le collisionneur comme nous le jugeons bon pour nous assurer qu' il correspond à la façon dont nous le voulons. Maintenant, notre nuage de boss ici va dire à l'unité que lorsque nous entrons en collision avec un objet et que je fais glisser ça vers le bas et que je passe par-dessus le sol, ça va déclencher l'événement de collision et l'unité va réagir en conséquence. Maintenant, parce qu'il s'agit d'un collisionneur de boîtes normal, ce qui devrait se passer lorsque nous tomberons va s'arrêter parce que c'est va s'arrêter parce que c' un phosphite connu qui va subir un autre type de perte, Claire plus tard, ce qui est Déclencheur quart. Nous pouvons réellement le changer pour qu'il se déclenche en prenant simplement cela. Ensuite, ça ne va pas s'arrêter, mais ça va déclencher les mêmes événements. Nous allons donc l'utiliser de toute évidence. Si, par exemple, vous fabriquez quelque chose comme une balle, comme un projectile qui passe par l'anatomie. Vous voudriez en faire un déclencheur parce qu' il ne s'arrêtera pas quand il frappera l'ennemi. Ça va passer, mais l'ennemi va toujours déclencher un événement, on peut dire, d'accord, subit autant de dégâts. C'est un peu un peu élevé maintenant, mais nous y reviendrons plus tard. Cependant, si nous gérons le jeu, nous pouvons voir que nous allons rester suspendus dans les airs, sans entrer en collision avec quoi que ce soit. Nous ne verrons donc pas l' effet de leur collisionneur. Et si on déplace vraiment ça, on peut me voir tout traverser. Maintenant, c'est pour deux raisons principales. première est que le sol n'est pas attaché à un collisionneur. Deux. Nous ne complotons pas vraiment avec quoi que ce soit. Nous sommes en quelque sorte en collision avec rien parce que c'est juste un sprite, ce n'est pas un fournisseur. Mais la deuxième raison est en fait que, parce que nous utilisons les collisions s2 ne se produiront pas , même si cela a été construit pour qu'une collision puisse avoir lieu, nous ne le verrions pas maintenant, ce qui n'est pas génial, mais c'est très bien car nous allons ajouter un autre composant plus tard qui nous permettra de voir la collision. Alors, ne vous inquiétez pas à ce sujet pour l'instant. J'essayais juste de démontrer comment cela ne va pas entrer en collision parce qu' on ne connaît jamais collider. Cependant, pour y remédier, nous allons revenir sur notre scène. On va cliquer sur plancher. Nous allons cliquer, ajouter un autre box collider 2D. Laissez-moi voir encore une fois, cela va exactement à l'extérieur, là où nous en avions besoin, parce que c'est la même pratique sur les carrés. Très cool. Nous avons maintenant deux collisionneurs. Et si, par exemple, nous jouons à un jeu et que celui-ci entre en collision ici, il s'arrêterait. Mais comme nous n'avons aucun mouvement dans notre jeu, nous devons simplement stationner des objets avec des surligneurs. Il ne va pas vraiment faire quoi que ce soit comme je l'ai dit plus tôt, si nous le déplacons ici, cela ignore les lois de la physique parce que je le déplace en utilisant la même chose, même si je suis en mode jeu. Pour démontrer réellement ces colites, nous allons ajouter un autre composant et nous allons introduire ce composant qui sera appelé 2D du corps rigide. corps rigide 2D est fondamentalement un corps entièrement intégré. Ajoutez de la physique à ce composant d'objet et voyez si nous survolons différents aspects d'une physique. Il a le type de corps, le matériau, l' automatique, la masse normale, la traînée linéaire, l'échelle de gravité, à peu près tout ce qui concerne physique ou du moins la première partie de la physique, Newton's Laws est dans ce corps rigide 2D, nous n'avons pas d'accélération, nous avons la gravité, nous avons tout, à peu près tout ce dont nous avons besoin en termes de physique sera couvert par ce corps rigide. Maintenant, cela peut évidemment aussi nous aider si nous voulions lier quelque chose, alors faites entrer quelqu'un en collision et faire autre chose. Nous n'allons pas encore entrer dans ce sens parce que nous n'allons pas entrer dans le match d'automne. Tout d'abord, nous ne voulons pas de sprites rebondissants. Et Second Bull, c'est un peu plus complexe que nous pourrions aborder plus tard lorsque nous aurons des collisions. Mais pour l'instant, tout ce que nous allons utiliser ce corps rigide, c'est tester si ce personnage va tomber et arrêter parce que nous avons ajouté les deux collisionneurs. Si je vais de l'avant et que je frappe le jeu, nous pouvons voir qu'il fait exactement ce que nous voulions. Nous avons maintenant ajouté de la physique à cet objet. Nous pouvons réellement déplacer cela. Et nous pouvons voir que la physique est évidemment un peu bizarre quand je monte parce que ce n'est pas vraiment comme ça que tu devrais tester des choses comme si je devrais tester des choses comme si je pouvais le déplacer et le remettre en place et ensuite on peut Voyez ce que je veux dire. J'ai donc passé en revue la lecture parce que je la déplace si vite. C'est une façon bizarre pour l'unité de voir ces polices de caractères. De toute évidence, ce n'est pas comme ça que quelqu'un va jouer au jeu. Je m'installe dans le rédacteur en chef. Mais oui, si c'était le cas, ce serait cool de démontrer comment la physique a réellement fonctionné. Ce corps rigide que nous avons ajouté au jeu est essentiellement tous les paramètres par défaut ici sont à peu près tout ce dont nous aurons besoin. Nous n'avons pas vraiment besoin de changer trop d'entre eux, mais je vais en changer quelques-uns pour rendre les choses légèrement plus agréables. La première chose que je vais faire, c'est de rendre la détection des collisions continue. Et cela n'est pas nécessaire. Cela fait en sorte que vous puissiez vous assurer que vous avez vu quand je le déplaçais de haut en bas 1, il est passé par le joueur. Et si je l'ai, si j'ai une détection continue de collision, cette probabilité de cela est réduite car elle vérifie continuellement s'il est entré en collision. Je pense que les gagnants qui sont passés par là, c' parce que je me déplaçais à nouveau dans la scène. Mais je pense que dans un jeu réel, chaque fois qu'il se déplace, cela entraînerait la collision. C'est juste une bonne pratique. Je l'ai généralement posé sur mes corps rigides, mais ce n'est pas nécessaire. Drag angulaire. Je vais aussi faire 0 et je vais aussi faire l'échelle de gravité. Je trouve toujours que probablement les échelles d'un ou un peu flottant que vous écoulez des jeux devraient être un bon endroit comme ça. Vous pouvez voir que la gravité est un peu plus normale comme une fois que nous avons fait tout cela, il n'y a qu'une seule chose que nous devons faire pour nous assurer que notre jeu pour notre personnage a été introduit physique correctement. Et ça va être gelé cette rotation. Maintenant, vous ne savez peut-être pas ce que cela fait. Je vais démontrer ici si je bouge ça pour qu'il atterrisse sur ce coin, sur ce sommet, vous pouvez voir que le joueur va tomber. Alors, tout comme la vraie vie , adoucit le rôle dans l'atténuation. C'est très réaliste et c'est très cool. Mais pour notre jeu, si nous laissons cette case cochée, cela pose simplement des problèmes plus tard lorsque vous pensez à si nous bougeons et que nous frappons quelque chose que nous n'affichons pas pour tourner au milieu, si vous prenez un tiret de géométrie par exemple , vous pouvez voir que, pendant que le cube tourne quand il saute sur le carré, il n'a jamais réellement changé la rotation lorsqu' il rebondit. Les choses sont fausses ou les choses. C'est plutôt une bonne pratique pour les jeux mobiles, car imaginez que nous essayons de jouer à notre jeu, puis nous tombons comme ça. Et nous devons continuer à jouer notre jeu comme une sorte de carrés latéraux. Ce n'est pas idéal. Nous allons aller de l'avant et cliquer sur geler la rotation z. Ensuite, si nous revenons à cet exemple, déplacez-le là-bas et nous tombons. Nous pouvons voir que nous ne tombons plus. Nous restons sur le bord et nous pouvons réellement rester sur le bord jusqu'à ce que plus rien ne soit en collision, auquel cas nous tomberons. C'est la beauté de ces colites et c'est ce que fait le gel de notre rotation. Après cela, nous avons fait à peu près tout ce dont nous avons besoin dans cette leçon pour couvrir les bases d'une introduction à la physique, nous pourrions également ajouter un corps rigide à cet étage, mais comme je suis sûr que vous l'avez deviné , le flux tombera tout simplement comme le joueur l'a fait et ce ne serait pas idéal. Et il est vraiment inutile ajouter notre échelle de gravité de 0 à cet objet au sol car c'est juste un peu fastidieux. Nous n'en avons pas besoin pour notre jeu. Pour l'instant, nous avons fait tout ce que nous pouvions et nous avons introduit la physique tout le jeu. Nous pouvons voir maintenant que nous avons un Q qui tombe, ce qui est très cool. Cela va nous permettre d' arrêter la prochaine leçon, qui va en fait ajouter notre tout premier script C-sharp. Et nous allons faire en sorte que notre joueur puisse se déplacer. 7. Notre premier script: Salut, et bienvenue à nouveau dans l'unité. Le dernier épisode, comme vous vous en souvenez sûrement, nous avons ajouté un corps rigide et un collisionneur de boîte à, je vais jouer notre objet pour les faire agir par gravité et entrer en collision avec le sol, auquel nous avons également ajouté une boîte Collider 2D. Maintenant, c'est cool et tout, mais cela vient un certain point dans notre parcours de développement de jeux mobiles. Eh bien, nous devons commencer à écrire notre propre code si nous voulons que les objets soient à peu près bien ce que nous voulons. Dans ce cas, je veux créer un script de mouvement pour mon joueur cesse de refaire ce jeu, car actuellement il ne s'agit d'un carré qui tombe au sol, pas super excitant. Maintenant, faites-le, je vais devoir commencer à écrire mon propre code. Cela peut être un peu intimidant à faire lorsque vous commencez. Mais heureusement, j'ai créé un fichier de code de feuille de triche dans le dossier des ressources de cours, que vous l'espérez installer plus tôt. Si ce n'est pas le cas, vous n'en avez pas besoin, mais je vous recommande installer car il peut être très utile. Si nous allons de l'avant et ouvrons cela. J'ai ici une liste de toutes les bases du codage, avec des exemples. Et même si la plupart de ces choses ne font pas encore vraiment quoi que ce soit, cela peut être utile, surtout plus tard dans le cours, lorsque nous en apprenons à ce que vous reveniez et vérifiez si quelque chose n'est peut-être pas le cas. en travaillant que vous avez la bonne syntaxe, en haut, nous avons des variables et je suis sûr que vous vous souvenez de notre vidéo d'introduction, les variables ne sont essentiellement que des espaces de stockage pour différents types de données. Cette variable x stocke un entier ou un nombre. Cette variable Y stocke une chaîne ou du texte. Cette variable booléenne Z stocke ou booléenne ou true ou false. Et ce corps rigide RB stocke un composant de corps rigide, qui est le composant exact que nous avons ajouté à notre joueur plus tôt. création de variables comme celle-ci nous permettra de les référencer dans nos codes afin que nous puissions aller de l'avant et affecter ce corps rigide spécifique à cette variable que nous avons créée appelée RB, puis modifier la variable RB, qui modifiera à son tour ce volume rigide. Par exemple, si je voulais changer l'échelle de gravité, je pourrais écrire un code indiquant que RBD ne change pas l'échelle de gravité. Et puis RB où qu'il soit lié, qui serait un corps rigide, ce qui, dans ce cas, serait si rigide au joueur que l'échelle de gravité serait modifiée. En dessous, nous avons des tableaux et je n'ai jamais revu la course auparavant. Mais nous allons en parler plus tard dans le cours. Nous n'en aurons pas besoin maintenant, mais c'est une bonne chose simplement passer en revue le stock. Maintenant, quels tableaux sont fondamentalement comme des variables, mais dans une liste. Vous pouvez donc voir ici qu'il ressemble exactement à un int x public, sauf qu'il s'agit d'un entier public, puis il a deux crochets par la suite. Ce que ces crochets signifient essentiellement, c'est que je ne vais pas stocker une variable ici. Je vais caler de nombreuses variables. Et donc ce tableau public int x va essentiellement stocker une liste de variables appelées tableau x, différentes que vous pouvez dire, Ok, la première variable et la radiographie, vous pouvez y attribuer une valeur, puis vous pouvez attribuer une deuxième valeur, la troisième valeur de cette section, vraiment utile si, par exemple, si vous y réfléchissez, nous voulons peut-être stocker tous les scores du classement. Nous ne voulons pas qu'une variable différente soit meilleure pour chaque école si nous créons un tableau d'entiers publics, j'appelle ça des scores, puis j'attribue chaque score d'un joueur à une position dans ce tableau. La même chose ici avec une chaîne que vous pouvez peut-être utiliser pour stocker des dialogues ou du texte ou quelque chose comme ça. Si cela n'a pas vraiment beaucoup de sens pour vous en ce moment. Je ne vous blâme pas parce que cela aura beaucoup plus de sens quand nous le ferons. Mais ne vous inquiétez pas, je voulais juste couvrir les bases de ce que sont les tableaux. En dessous, nous avons des procédures que nous avons passées en revue dans notre vidéo précédente. Fondamentalement, les procédures ne sont que des zones de notre code que nous appelons à certains moments pour accomplir certaines tâches. Ce démarrage vide, cette procédure est en fait générée automatiquement par Unity, et c'est avec la procédure avec appels Unity chaque fois que ce code s'exécute pour la première fois, cette procédure de mise à jour est très similaire, sauf cette procédure Unity appelle chaque trame. Nous en reviendrons un peu plus tard lorsque nous écrirons notre script de mouvements. Mais sachez simplement que ces procédures sont exactement comme nous avons parlé, sauf que les unités qui les appellent ne s' appelaient pas les genoux. En dessous de cela, nous avons un autre exemple de procédure. Cette procédure s'appelle la poitrine ouverte , évidemment pas cela, mais je voulais juste démontrer que vous pouviez écrire vos propres procédures. En dessous de cela, nous avons notre nouveau concept appelé variables locales. Et les variables locales que nous pouvons écrire dans la syntaxe. La syntaxe correspond à ce format de texte. Nous devons écrire des choses dans l' encodage pour nous assurer que cela fonctionne. Nous pouvons écrire cela avec la syntaxe int x égale à trois. Ce que cela va faire , c'est que cela va faire une variable appelée x soit définie sur trois, mais cette variable ne sera référencée qu'à l'intérieur de cette méthode. Une fois cette méthode épuisée, la variable est effectivement détruite. Si j'appelle ça quelque chose comme du Gar local. Et puis je vais essayer de référencer le var local. Et ici, nous pouvons voir qu' il n'y a rien de cool. Si je le saisis, il est dit que le nom local var n'existe pas dans le contexte actuel. , si je le place dans cette procédure Toutefois, si je le place dans cette procédure, nous pouvons voir qu'il sait exactement quoi faire. Et il ne dit pas qu'il n' existe pas parce qu'il est juste là. Nous avons bien décidé. En dessous de cela, nous avons nos déclarations if et ce sont des conditions. C'est pratiquement l'un des aspects fondamentaux, l' un des aspects les plus fondamentaux des conditions de codage. Si les déclarations, sinon, déclarations, si autrement, si, et cetera, encore une fois, à toutes ces déclarations maintenant, essentiellement toutes ces déclarations font sont de vérifier la logique. Par exemple, si nous créons maintenant un script de saut et que nous voulons savoir si les joueurs ont atterri, vérifiera que l'utilisation d'une instruction if ne sera pas exactement un dépassement parce que n'est pas génial pour performance. Mais si vous pouviez théoriquement vérifier chaque image, si le joueur est mis à la terre et s'il l'est, alors disons, peut sauter par exemple, ici, nous disons que si x est supérieur à cinq ou x, x est égal à trois. Un bon exemple de si les déclarations sont si nous essayions de calculer si le joueur a obtenu un score au lycée. Donc, s'il l'a fait, vous pourriez dire, si l'école secondaire, si votre score est supérieur à l'école secondaire, si votre score est égal à un nouveau lycée, ou si le score élevé est inférieur à notre école actuelle, alors exécutez le code qui En gros , il s'agit d'un nouveau lycée. Cette instruction else ne s' exécutera que si cette instruction ne le fait pas. Ce que dit ce code, c'est que si ma variable x se voit attribuer la valeur trois, exécutez ce code. S'il est affecté à autre chose, exécutez ce code. Nous pouvons en fait élargir un peu ces instructions en allant si x est trois, faites-le. Sinon, si x est égal à cinq pour quatre, faites-le. Ou si x est égal à cinq, désolé, je mets un signe égal au lieu de deux, x est égal à cinq. Faites-le, sinon, faites-le. Ce code est un peu plus compliqué. Ça va dire, d'accord, s'il y a trois, faites ceci, si c'est plein, faites-le, si c'est cinq, n'importe quoi d'autre. Et ce genre de code n'est pas génial car vous pouvez voir que l' ordinateur doit passer par là. Mais ensuite, après notre premier jeu mobile, si nous pouvions faire des choses comme ça pour si nous pouvions faire des choses comme ça rendre un peu plus facile à comprendre, c'est tout à fait très bien dans le cadre du processus. En dessous, il y a le concept final que j'ai voulu enseigner. Des boucles froides. Et les boucles sont des moyens efficaces d'exécuter le même code encore et encore. Cette boucle for-loop, que vous avez peut-être entendue auparavant, dure essentiellement un certain temps. Ce que fait cette boucle pour, c'est qu'elle indique x plein est égal à 0 au début, tandis que x est supérieur à trois, augmente x au début ou à la fin de la boucle. Ce que cela veut dire, c'est que nous en avons quatre, mais ici nous disons, d'accord, je veux utiliser la variable X. Et au début de cette boucle, je veux m'assurer que c'est 0. Ensuite, j'ai une condition qui doit être remplie pour que la boucle continue de fonctionner. Donc, dans ce cas, tant que x est supérieur à trois, maintenez la boucle en cours d'exécution. Enfin, j'ai du code qui s'exécute à la fin de chaque cycle de boucle. Donc, en gros, dire à chaque fin de chaque cycle de boucle, X plus plus, qui est essentiellement le code pour x augmenté d'un. Vous pouvez faire un x plus trois x plus cinq. Dans ce cas, j' ai x plus plus, ce qui signifie augmenter x d'un à la fin de chaque boucle. que dit cette boucle, c'est que x est réglé sur 0, tandis que x est supérieur à trois, exécute la boucle et augmente x à chaque fois. En fait, cette boucle ne va pas fonctionner, il va falloir changer cela à moins de trois. Cela aura beaucoup plus de sens. Cela veut dire : OK, eh bien, réglez x sur 0 au début, tandis que x est inférieur à trois. Continuez à faire avec la boucle et augmentez x à chaque fois. Si nous devions écrire quelque chose ici que Newport exécute deux ou trois fois plutôt parce que vous pouvez voir des exécutions la première fois à 0, alors cela augmente. C'est un, c'est encore moins de trois. Il va donc à nouveau en magasin, écoutez-le parce que encore une fois, trois, pas moins de trois. Alors, la boucle se termine. En dessous, nous avons des boucles de temps. Alors que la boucle fait essentiellement la même chose que pour les boucles, à l' exception de la condition pendant un certain temps, la boucle doit juste être vraie et la boucle while fonctionnera continuellement pour toujours. Donc, si nous ne changeons jamais x, cette boucle va courir de l'infini parce que si nous définissons x sur V2 va bien, X moins de trois, OK, X moins de trois. Maintenant, cela va changer. La boucle for exécutera un certain nombre de fois, mais une boucle while et exécutera pour l'infini, ce qui les rend un peu plus gênants parfois lorsque nous commettons des erreurs. Parce que si nous avons un air du parcours luthérien pour l'infini, cela provoque presque toujours un crash. Et ce n'est pas génial pour notre ordinateur ou notre code. Ce n'est pas mal, cela ne brise rien, mais juste pour ce qui est de notre tranquillité d'esprit, il arrive parfois que toute l'unité soit fermée et nous n' aurions peut-être pas sauvé quelque chose. Je vous recommande de ne pas utiliser boucles while tant que vous n'avez pas une croix complète avec elles. Je ne prévois pas que nous ayons besoin boucles tout au long de toute sa force. Et de manière générale, alors que les boucles sont débarrassées d' une chose de niche dont vous n'avez pas toujours besoin d'encodage, mais vous avez parfois besoin vous assurer que lorsque vous utilisez une boucle while, vous l'utilisez, non ? Et pour qu'il ait un état de fin, car sinon vous risquez de provoquer un accident dans dix ans. Et maintenant, nous allons essayer de réaliser notre tout premier script à partir de zéro. Nous allons le faire dans le dossier des ressources. Allez dans Assets et nous allons cliquer avec le bouton droit de la souris, nous allons créer un dossier et l'appeler script. Ce n'est pas obligatoire, mais cela signifie simplement que nous pouvons mettre tout notre code ici, donc tout est bien organisé. Vous n'avez pas besoin de faire ça. C'est exactement comme ça que j'aime organiser mes actifs. Et cliquez à nouveau avec le bouton droit de la souris et nous allons créer un script C-sharp. Je vais appeler ça un mouvement. Maintenant, si je double-clique, le script de mouvement va l' ouvrir dans Visual Studio comme je le voulais. Et nous pouvons voir ici dans notre script que nous avons trois lignes en haut, qui utilisent toutes les collections système et le moteur Unity. Ensuite, une classe appelée procédure stockée de mouvement et procédure de mise à jour. Maintenant, je ne sais pas si j'ai abordé cela dans le script précédent, mais essentiellement quelles sont ces lettres vertes, quelles sont ces lettres vertes, nos commentaires. Et c'est essentiellement la façon de dire, d'accord, je ne veux pas que ce code s'exécute, mais je veux l'avoir sous forme de texte. Si je voulais écrire quelque chose en dessous. Ce programme est génial. Évidemment, si j'écris ça sans commentaires, l'unité va être très ordinateurs peut être comme quoi a-t-il essayé de dire ici ? n'y a pas d'erreur de syntaxe de jeton. Le nom cool n'existe pas. Le nom qui n'a pas pu être trouvé en disant qu'est-ce que c'est ? Quel est le programme que je pendant que vous utilisez le mot de code IS ici, ce qui est cool, ça a été très confus. Ce que ces deux barres obliques font, c'est dire à l'unité, je ne veux pas que ça se produise. Je n'écris que des textes simples pour pouvoir communiquer quelque chose à quelqu'un qui lit mon code. Par exemple, lorsque vous créez ce fichier, Unity génère automatiquement deux commentaires ici. Ils vous indiquent à quelle fréquence les procédures du magasin sont froides et à quelle fréquence pour mettre à jour le code des procédures, ils disent que démarrage est appelé avant la première mise à jour de trame, mise à jour est appelée une fois par image. C'est les développeurs Unity qui vous disent ce que ces deux procédures font pour que vous sachiez, vous pouvez également les survoler et cela vous dira exactement la même chose. En gros, c'est dire que l'unité fait ces procédures et qu'elles les appellent seules. Nous n'avons pas à appeler ces procédures. Nous pouvons utiliser ces procédures appelées par Unity pour créer le reste de notre code. Nous pouvons supprimer ces deux commentaires. Nous pouvons commencer à créer notre tout premier script de mouvement en utilisant ces deux procédures. La première chose que je vais faire est de créer quelques variables. La première variable que je veux est un corps rigide public 2D RB. Et cela va être de créer une référence au corps rigide qui est stocké dans le joueur afin que je puisse les faire bouger. Je vais créer une autre variable, un entier public, et je vais appeler ça la vitesse. Ce sera une vitesse à laquelle le joueur progressera. Je vais créer une autre variable de qualité, sauter faux. Ce sera la vitesse à laquelle le joueur sautera du sol. Je vais créer une autre variable et je vais l'appeler de fond. Et cela va essentiellement nous dire si le joueur est mis à la terre ou non ? De toute évidence, on ne peut que sauter au sol. En guise d'avertissement, je vais écrire tout ce code à l'aide des commandes du clavier. Je vais dire que si l'espace est pressé ou si c'est pressé, vous pensez peut-être pourquoi nous créons un jeu mobile et c'est vrai. Mais si je veux tester mon jeu dans l'éditeur Unity, je peux réellement écrire des commandes clavier, même si je suis Bowden pour Android et Unity sera comme, ok, utilisez simplement la barre d'espace. Et quand je construis le jeu pour Android, évidemment ces commandes et ne fonctionneront jamais. Donc si j'écris sous la mise à jour ici, si je dis que si la personne passe la barre d'espace, saute, alors quand je construis mon Android donné, il n'y a aucun moyen que vous puissiez sauter parce qu'il y a la barre d'espace. Mais lorsque je teste une rente, c'est ce que je vais utiliser pour m' assurer que tout fonctionne. C'est en fait comme ça qu'on va faire ce cours ? Nous allons construire tout ce cours testé pour ordinateur , puis écrire la fin. Je vais vous montrer comment modifier toutes vos commandes d'entrée pour qu'elles fonctionnent sur mobile, c'est vraiment facile car nous n' aurons pas autant de contrôles. On va juste faire un saut. Ce saut que nous allons déclencher en tapant. Mais pour l'instant, nous allons le faire via la barre d'espace pour rendre les choses beaucoup plus faciles à tester. Je vais taper une entrée, ai la clé fgetc enfoncée. Et je vais ouvrir le support et garder espace de points de code clé. Ensuite, en dessous, je vais ouvrir des crochets bouclés, que nous, chaque fois que nous utilisons une instruction ou une procédure if, nous avons tapé le crochet bouclé ouvert puis nous appuyons sur Entrée et avant tout bien pour nous. Je vais aller ici, laissez-moi les supprimer. Je vais dire un commentaire en saut. De toute évidence, ce commentaire comme nous l'avons vu ne va pas s' exécuter, c'est juste du texte. Mais en gros, ce que cela va faire, c'est que je peux l'utiliser pour stocker du code que je n'ai pas encore écrit. Je sais donc ce que je dois dire. Maintenant, chaque image, si je descends la touche Space, je vais vouloir sauter. Maintenant. Je ne veux pas sauter à chaque fois pour nous atteindre la clé Space. Je ne veux sauter que lorsque je suis ancré à l'intérieur de cette déclaration si. Je vais mettre une autre déclaration si en bas. S'il est mis à la terre. Je vais ouvrir la peau de ces supports. Maintenant, ce n'est pas ce qu'on appelle une if imbriquée dans une instruction if, à l'intérieur d'une instruction if, je pourrais en fait écrire ceci comme une instruction if. Mais par souci de simplicité, c'est beaucoup plus facile à lire à mon avis, si ça vous plaît. Et nous pouvons en apprendre davantage sur ces composés si les déclarations plus tard, nous ne couvrirons pas ça maintenant. Maintenant, si Grounded, nous allons vouloir sauter, alors nous ne voudrons pas sauter si nous ne sommes pas ancrés. Maintenant, nous devons écrire un peu de code pour nous assurer que nous pouvons réellement sauter. Je vais aller ici et je vais faire ma propre procédure. Je vais écrire le vide public et je vais l'appeler saut, mettre des parenthèses, puis ouvrir le crochet bouclé et appuyer sur Entrée et à l'intérieur en sautant, je vais écrire du code pour faire le saut. J'ai donc cette référence au corps rigide et aux corps rigides, ce que nous allons utiliser pour sauter, je vais taper RV, et ça récupère essentiellement le corps rigide. Maintenant, je peux faire du point et je peux changer ? Vélocité. Cela signifie essentiellement que je vais modifier la vitesse du corps rigide. C'est la vitesse linéaire. Il est donc de haut en bas, de gauche et de droite. Je peux faire cette vélocité où je veux. Je peux aller égaux. Et puis parce que je mets deux valeurs, une valeur x de la vélocité x et la valeur y pour la vélocité y. Je vais taper le nouveau vecteur deux, puis ouvrir les parenthèses et fermer les parenthèses, puis un point-virgule. Nous mettons toujours un point-virgule à la fin de notre code. Ce que ça va faire en gros. Ça va dire, d'accord. Réglez la vitesse RB où je veux. Si j'ai 55 ans, la vitesse RB quand je saute va se passer comme ça. Et si je le mets à moins 55, ce sera comme ça. Moins cinq et moins cinq comme ça, ça ira. Et si je le mets à 05, par exemple , ça va se passer. Vous pensez peut-être, Oh, c'est ce que nous voulons parce que nous voulons qu'il saute. Mais si c'est le cas, je gagnerai essentiellement comme ça. Vous sautez et l'eucarya et déplacez le saut, nous ne voulons pas ça. Nous voulons sauter avec le même élan que vous portez depuis tout le temps. En d'autres termes, nous voulons maintenir la vitesse du corps rigide dans sa direction X. Donc, si vous allez en arrière ou en avant ou si vous êtes immobile, nous voulons garder cela et nous voulons seulement changer le Y je vais faire cette force de saut de la valeur Y. C'est la variable que nous avons créée ici. Actuellement, l'entier est défini sur 0 car nous ne lui avons pas attribué de valeur. Mais nous pouvons accéder à l'éditeur Unity et nous pouvons changer la force de saut où nous le voulons. Et c'est la vitesse à laquelle vous sautez. Et puis, au lieu de mettre 0 ici, je vais taper le point de vélocité du point de VR x, ce qui est essentiellement dit : OK, faites la vélocité, la vélocité x. Donc, ne modifiez pas la vélocité x, mais faites de la vitesse y quelle que soit la valeur stockée dans la force de saut, ce qui sera un nombre que nous allons attribuer ce que nous voulons. C'est à peu près tout ce que notre code de saut doit être, nous allons sauter et retomber. Cela devrait réellement fonctionner si nous entrons dans Unity. Si nous supprimons simplement le commentaire de cela et que nous mettons des parenthèses après, alors nous appelons cette méthode parce que nous avons tapé des parenthèses de saut, nous appelons cette méthode. Si j'avais une autre méthode appelée sauter, je pourrais taper des parenthèses sautées et cela tirerait cette procédure de saut vers le haut parce que je ne le fais pas, ça ne trouve rien parce que j'ai cette procédure de saut cependant. Je m'appelle la procédure de saut tant que j'appuie sur la barre d'espace et que je suis mis à la terre. Maintenant, je vais sauter et redescendre. Évidemment, nous n'avons pas encore fini de code, mais si nous entrons dans Unity, cela devrait fonctionner comme je le veux. La seule chose que je vais devoir faire, cependant, tout d' abord, c'est que je vais avoir besoin de signer quelques-unes de ces valeurs. La première chose que je veux faire, si vous n'avez pas déjà fait glisser un script de mouvement sur le lecteur comme ça. Ensuite, une fois que vous avez fait cela, prenez votre corps rigide et faites-le glisser sur cette variable RB. Nous avons donc un lien avec eux. Vous pouvez alors définir la vitesse comme vous le souhaitez. Je vais mettre cinq, évidemment, je suis encore codé ça, donc je ne vais rien faire et je ferai mon saut faux cinq aussi. Ensuite, je vais cocher ce terrain de variable parce que nous pouvons voir dans notre code, je ne peux sauter que lorsque je suis mis à la terre. Et parce que je n' ai pas encore codé la logique ancrée, je ne serai jamais arrondi. Il va automatiquement passer à faux et je ne vais pas sauter. Mais si je dis « terrain vrai », ça devrait marcher. Maintenant, si je joue, j'appuie sur saut. Vous pouvez voir que je saute, ce qui est vraiment cool. Nous n'avons pas codé un petit saut très pathétique. Et la raison pour laquelle nous utilisons des variables, c'est parce que je suis sûr que nous sommes tous d'accord pour dire que le saut n'est pas assez haut. Je vais donc changer cette force de saut et en faire dix. Vous voyez, c'est un peu mieux. Je pense que c'est presque suffisant. Je vais faire mon saut pour quelque chose comme 12. Nous avons un bon saut pour notre jeu mobile. Maintenant que nous l'avons abordé dans le premier épisode, si nous effectuons des changements en mode de lecture et que nous cliquons dessus, ils ne sont pas sauvegardés. Mais je peux simplement me souvenir de la valeur que j'avais, la remettre et je n' aurai pas à entrer dans mon code et à changer cette variable cinq ou 1270. Je peux simplement changer la variable et ensuite je peux changer tout ce qui est stocké là-dedans, ce qui est vraiment cool. Maintenant, notre saut fonctionne. Nous voulons nous assurer que nous ne pouvons sauter que chaque fois que nous frappons le sol. Nous allons aller de l'avant et créer deux nouvelles procédures, et les deux sont automatiquement générées par l'unité. Le premier sera en collision en 2D. Je vais dire que l'ancrage est égal aux fruits. La seconde sera nulle à la sortie 2D de collision, et nous allons mettre à la terre la valeur False. En gros, ce que cela va faire , c'est que cela va dire, chaque fois que nous entrons en collision avec quelque chose, rendez la terre vraie. Chaque fois que nous entrons en collision avec quelque chose ou que nous n'y sommes plus en contact, mettez le terrain à faux. Et si cela fonctionne correctement, nous devrions passer à faux. Et au début, nous pouvons aller ici et nous pouvons voir que le fondement est faux. Et dès que j'ai décroché des subventions supplémentaires fixées à vrai. Et si je saute à nouveau, les granites sont faux puis vrais à nouveau. Et c'est essentiellement tout le script dont nous avons besoin pour créer notre code de saut. Nous pouvons appuyer sur Space autant de temps que nous le voulons. Nous ne pouvons sauter que chaque fois que nous ne sommes pas, ce qui est vraiment cool. Maintenant, cela fonctionnerait. Mais le problème est que c' est un peu difficile parce que si je laisse le code exactement comme il est, je peux vivre avec une pièce de monnaie. Je suis techniquement allumé avec quelque chose. L'union va être comme, oh, il est en collision. Il peut sauter à nouveau, mais je ne veux être ancré que tant que je touche à ce matériau de sol. Je dois donc trouver un moyen de différencier cette faille sur tous les autres collisionneurs. Je vais le faire avec des étiquettes. Je vais aller ici jusqu' au sol, cliquer sur le sol. Je vais cliquer sur tag, puis ajouter une balise. Et je vais ajouter une étiquette au sol. Ensuite, nous pourrons revenir ici au sol et nous pouvons attribuer cette étiquette de sol ici. Vous pouvez ajouter une attache quelque chose comme j' ai ajouté une balise, puis taper le nom. Ensuite, nous avons une taxe foncière. Et maintenant, nous avons un moyen de différencier entre fait que ce que nous frappons est un terrain ou autre chose. En revenant à ce code, je vais aller ici et je vais taper collision collision, balise de comparaison de points, crochets ouverts, guillemets autour. Ensuite, je vais ouvrir les crochets bouclés. Disons que le fondement est vrai. Évidemment, je pourrais taper des valeurs vraies à la fin ici, mais ça va vraiment le faire automatiquement pour moi parce que je l'ai fait. C'est vrai ici. Mais comme je le fais automatiquement pour moi, parce que je ne mets rien dedans, ça envoie automatiquement à vrai de la même manière. Je peux réellement taper ça si je suis mis à la terre, c'est dire si la mise à la terre est vraie. Mais au lieu d'écrire si la chronique est vraie, je n'écris que si elle est ancrée, c'est une façon plus simple de le faire. Par ici. Je vais dire que je suis mis à la terre tant que je suis en collision avec le sol, je vais copier ce code exact et le mettre sous mon truc de sortie, sauf le changer en faux. Maintenant, ce que cela va faire n'a rien changé. Mais si nous devions avoir une autre couleur avec laquelle nous vivons, je ne serai pas ancré à moins que ce soit le sol. Mon équipe, comme un peu bizarre à faire maintenant parce que notre code fonctionne bien. Mais croyez-moi, cela sauvera un mal de tête, nous épargnera un mal de tête à long terme. La dernière chose que nous devons faire est de nous assurer que nous allons continuellement vers la droite car nous devons passer à notre jeu comme Azure Dash, afin que nous puissions interagir avec les obstacles et sautez par-dessus les choses. Nous allons le faire en utilisant la variable de vitesse. Maintenant, la mise à jour s'appelle chaque image comme nous l'avons déjà couverte, mais nous ne voulons pas que cette mise à jour soit appelée chaque image. Nous voulons qu'il soit froid à chaque intervalle fixe afin qu' il ne change pas si nous exécutons la même pente fossile que vous pouvez utiliser le tableau de mise à jour fixe vide. Maintenant, la mise à jour fixe est exactement comme la mise à jour sauf au lieu de chaque image, c'est tous les intervalles. Je pense donc que c'est 0,01 seconde ou 0,15. Vous pouvez le définir dans votre code. Mais oui, c'est essentiellement ce que ça va faire. Je vais y aller et taper RB. Ne faites pas de vélocité comme je l'ai fait auparavant, elle équivaut au nouveau vecteur deux. Sauf que cette fois-ci, je ne veux pas modifier la vitesse y, je veux seulement modifier la vélocité x. Nous pouvons en fait copier ce code exact d'un ici et les échanger. Donc, au lieu de dire la vélocité du point RB ou x par ici, je vais taper la vélocité des points RB point y dans le truc y. Et puis pour le x, je vais le régler sur ce que cela va faire est chaque trame fixe. Donc, chaque intégrale, je veux m'assurer que ma vitesse est égale à la vitesse que je veux parcourir et conserver la vitesse de y. Et chaque fois que je saute, je veux garder cette vitesse x et sauter. Si nous revenons dans notre code et que nous réglons notre vitesse à quelque chose de lent. Nous gérons notre jeu. Nous pouvons réellement le voir en action et le voir ici. Nous avançons lentement et si nous sautons, nous sautons en gardant l'élan. Et ce sera essentiellement notre script de mouvements pour le début de notre jeu mobile. C'est la première étape que nous avons franchie pour créer un jeu mobile vraiment excitant. Si vous avez suivi, bon travail. Si quelques choses ont semblé un peu écrasantes, je comprends complètement et j'ai relié mon code d'origine dans la section ressources de cette vidéo pour que si le vôtre ne fonctionne pas, vous pouvez le réparer et vous assurer que tout est parfait. Vous participez au cours parce que je veux que vous soyez coincé sur cette vidéo. J'espère cependant que cette vidéo a bien expliqué ces concepts. Et si vous avez copié mon code exactement comme je l'aime, vous devriez travailler exactement dans le programme de sodium. Faites défiler la vidéo pour pouvoir mettre en pause la vidéo et voir s'il y a quelque chose de différent. Mais tout devrait bien fonctionner. Vérifiez simplement que vous n'avez pas mal orthographié comme une collision ou un collisionneur. Et il y a ici quelques concepts tels que comparaison des étiquettes et de la vélocité, que nous avons abordés assez rapidement. Mais c'est juste parce qu'ils ne sont pas très importants pour le moment. Ils sont simplement utilisés pour déplacer le mouvement, pour faire le mouvement de notre personnage. Nous allons toujours les répéter. Ça va devenir beaucoup plus familier. Mais si vous arrivez à un point où votre personnage peut bouger et sauter, c'est un excellent travail. Vous avez fait une avancée massive et vous allez avancer dans le développement de jeux. Je vous verrai dans la prochaine vidéo. 8. Suivez la caméra: Salut, et bienvenue à nouveau dans l'unité. Dans notre dernier épisode assez long, nous avons créé notre tout premier script C-sharp et intégré à Unity Editor, ce qui a permis à notre joueur se déplacer le long de la scène et de sauter. C'est génial. C'est vraiment un grand pas vers la réalisation de notre jeu mobile. Et nous pouvons le voir en action ici, comme nous l'avons fait la dernière fois. Nous pouvons donc avancer et sauter. Et de toute évidence, nous ne pouvons sauter que lorsque nous sommes au sol, ce qui est vraiment cool. Le problème, c'est qu'une fois que nous avons atteint la fin, nous avons remarqué ce qui arrive au joueur parce que nous voyons cela signifie pour nous, comme les développeurs le savent, joueurs qui complotent actuellement sa disparition et le rédacteur en chef dans l'abîme. Mais les joueurs auront remarqué que cela se produisait. Donc, pour minimiser ce problème, ce que nous allons faire, c'est que nous allons créer une caméra qui suit le script. Et nous allons nous assurer que la caméra suit toujours le joueur pour nous assurer que nous savons toujours où nous en sommes en tant que joueurs. Maintenant, nous sommes actuellement un peu perdus d'un éditeur. Je vais donc vous apprendre une autre astuce rapide de Unity. Vous pouvez double-cliquer sur la caméra principale et elle vous ramènera là où vous le souhaitez. Vous pouvez faire la même chose avec le joueur ou l'environnement. Essentiellement, effectue un zoom avant. Si on a perdu quelqu'un d'autre, ils étaient comme, Oh, où suis-je ? Double-cliquez sur la caméra principale et vous êtes de retour. Maintenant. Allons dans les scripts et faisons en sorte que notre caméra suit le script. Cliquez avec le bouton droit de la souris, créez un script C-Sharp, et nous allons appeler ce suivi de caméra. Assurez-vous de ne pas nommer votre caméra de script car il s'agit d'un mot réservé. Et je l'ai fait il y a quelque temps et j'ai rencontré des problèmes Sony et je ne sais pas ce qui en était la cause, mais heureusement, vous n'avez pas à faire la même erreur que j' ai faite à l'époque. Alors, allez maintenant à la caméra principale et assurez-vous que le script suivant est signé sur votre caméra. De plus, en général, lorsque vous nommez des scripts, veillez à ne pas inclure d' espaces, car cela rendra Unity incapable de lire le script car ce nom ici, la classe doit être corrélée avec le nom. du fichier. Et évidemment, cette classe nommée a un peu d'espace parce que le code ne saura pas quelles classes et si le comportement du modèle commence et c'est un gâchis. Donc, assurez-vous que ce n'est qu'un mot. Maintenant, ouvrez votre caméra en suivant le script et nous allons commencer par créer une variable comme nous l'avons fait la dernière fois, sauf cette fois, au lieu de faire référence à un corps rigide ou à une chaîne, nous allons faire référence à un objet de jeu. Et c'est simplement une façon chic de dire que nous allons créer une variable qui stocke un objet tel que nous l'avons couvert au début du cours. Objets ou tout autre élément notre jeu auquel nous pouvons attribuer la logique. Le joueur est un objet, une caméra et objet cet environnement même un objet, le sol et l' arrière-plan des deux objets. Et oui, presque tout ce qui peut être assigné à la logique est un objet. Nous allons donc créer un lecteur d'objets de jeu public. Et cela va en fait nous permettre de choisir l'un de ces objets et de l' attribuer à notre script. Donc, si nous allons à notre caméra principale, nous pouvons nous assurer que votre script de suivi de caméra est attribué. Le mien l'est. Mais si ce n'est pas le cas, retirez-le et faites-le glisser. Et nous pouvons faire glisser le joueur dans ce jeu de joueur et créer un lien vers nos objets. La variable joueur est donc maintenant liée à l'objet joueur, qui est vraiment sympa car cela nous permet d'accéder à toutes sortes d' informations sur cet objet, y compris sa position actuelle, qui est vraiment, vraiment cool parce que lorsque nous jouons à un jeu, je suis sûr que vous pouvez voir la position du joueur. Il est constamment en mouvement et c'est pourquoi notre caméra n'est pas en mesure de le suivre. Si nous pouvons déplacer notre caméra en fonction de la position du joueur, ce sera vraiment génial pour nos joueurs de le faire. Nous allons aller de l'avant et supprimer la méthode de démarrage. Nous n'en aurons pas besoin pour ce scénario. Et nous allons passer à la mise à jour qui, comme nous l'avons abordée la dernière fois est la procédure que Unity appelle chaque trame. Évidemment, puisque nous construisons une caméra suivant le script, nous voulons nous assurer que la caméra et l'endroit se positionnent ou coulent chaque image. Pour ce faire, nous allons aller ici et nous allons taper transformation avec un t minuscule. C'est essentiellement une façon d' unités de dire quel objet est actuellement attaché à ce script, accès à cette transformation, la transformation attachée à cet objet de jeu et voir si nous survolons cet objet de jeu, dans ce cas, c'est la caméra car c'est ce que les scripts y sont attachés. Maintenant, déplacez un point, nous pouvons voir toutes les différentes parties d' une greffe qu'ils peuvent faire, la transformer, la transformer, l' échelle locale, transformer la rotation des points. Si nous pouvons penser à quoi que ce soit, nous allons avoir besoin d'une opposition à la greffe. Nous allons donc transformer la position des points. Nous irions égaux. Ensuite. C'est là que vient le Koopa. Parce que nous avons créé un lien avec notre joueur. Nous pouvons taper la position du point de transformation du point du joueur. Ensuite, si nous appuyons sur Entrée comme ça, c'est essentiellement tout le code dont nous avons besoin pour nous assurer que notre transformation, notre position est toujours réglée sur la position du joueur. Si nous exécutons notre jeu, cela ressemble vraiment à ceci. Maintenant, vous êtes peut-être un peu confus. Je vois juste un écran bleu. Oui, vous avez demandé à introduire l'écran et la raison en est que le composant z de la caméra doit toujours être inférieur au reste de la scène. Sinon, exactement le même plan et il ne capte rien. Cela peut être un peu déroutant car il s'agit d'un jeu 2D après tout, pourquoi le composant z de quoi que ce soit est-il important ? Et en général, ce n'est pas le cas. Mais pour vous assurer qu'en règle générale, tous vos composants z de tout le reste sont toujours réglés sur 0 et que la caméra est toujours inférieure à 0. Si c'est moins un, c'est très bien. Si c'est moins 100, c'est très bien. Mais moins dix est un bon endroit. Maintenant, nous ne voulons pas exactement que la caméra soit toujours exactement la même position que le joueur pour des raisons évidentes. Au lieu de cela, ce que nous allons faire, c' est que nous allons attribuer spécifiquement la position x de la caméra au joueur. Et vous penseriez qu'il a généralement transformé l'opposition de x égal au joueur, ce concept session point x. Mais pour une raison quelconque, Unity ne le rend pas aussi simple, ce qui est un peu agaçant, mais c' bien parce que c'est très simple à faire. Il suffit d'utiliser vecteurs 3 ou les outils vectoriels dont nous avons parlé le dernier épisode. Pour une opposition transformée, il est égal à mu. Nous allons saisir le vecteur deux. Nous pouvons voir que ce n'est pas le remplissage automatique parce que j'ai position de transfert thêta sur le chemin. Je vais donc supprimer ça et appuyer à nouveau dessus. Voir le vecteur 2D, vecteur trois, désolé. Ensuite, nous ouvrirons des crochets et nous allons taper transformation des points du joueur, position du point x. Et cela signifie essentiellement que chaque image, assurez-vous que mon exposition est la même que celle des joueurs. . C'est en fait la seule position que nous voulons modifier. Nous ne voulons pas changer le y, nous ne changeons pas le z. Au lieu de changer la plaque ou la transposition des y et z, nous allons simplement le régler sur l'opposition transformée, point y et le l'opposition transformée fait Z. Ce que cela va faire , c'est que cela va faire en sorte que notre position soit toujours réglée sur la PlayStation x, l'opposition en y et l'opposition dans le z. Il existe maintenant un moyen plus simple de le faire car, puisque nous utilisons uniquement la qualité de transformation de notre objet de jeu de joueur, nous pouvons réellement utiliser une Transform. En gros, je veux la position, la rotation et l'échelle de cet objet. Je ne veux rien d'autre, qui est génial parce que c'est tout ce dont nous avons besoin. Nous pouvons ensuite supprimer tous ces mots-clés de transformation. En fait, c'est juste celui-là parce qu'ils font référence à nous. Et maintenant, jouons simplement l'opposition et non x. Cela peut sembler un peu inutile, mais stocker un transformateur est évidemment un peu moins que de stocker un objet de jeu entier. Ce sera donc une bonne pratique de codage. Nous pouvons le voir ici. Il est dit incompatibilité de type et c'est parce qu'il était stocké dans GameObject. Et maintenant, il stocke une transformation et il ne sait pas quoi faire de lui-même. Il suffit donc de redessiner ce joueur et il se débrouillera. Maintenant, si nous continuons à cliquer sur Lecture, nous pouvons voir que notre caméra va en fait suivre notre lecteur comme nous voulions le rejouer, comme toujours au centre de l'écran. Et lorsque nous sautons et que nous retombons dans l'abîme, nous pouvons voir exactement pourquoi cela se produit. Maintenant, cela peut paraître cool et cela pourrait bien fonctionner, mais nous ne voulons pas que le joueur soit toujours au centre de l'écran. Nous voulons qu'il s'agisse d'un léger décalage. J'ai entendu dire que jouer mes jeux sont les joueurs comme s'ils partageaient la plupart des jeux, vous trouverez que c'est le cas. Nous allons aller de l'avant et créer une variable de décalage. Nous appellerons cela un flotteur public. C'est la première fois que nous utilisons des flotteurs, ils peuvent sembler compliqués et ce ne sont que des décimales. C'est tout ce qu'ils sont là. 0,50,20,45. Tout ce qui n'est pas un entier est un float dans un nombre réel à peu près flottant ? Nous allons aller de l'avant et taper offset. Cela va essentiellement nous permettre d'ajouter cette valeur de décalage aux joueurs, l'opposition transformée de x, qui va essentiellement compenser la transformation. Donc, si vous y réfléchissez, si le joueur est en position 0, nous lançons ceci. Nous allons passer à la position 0 plus cinq. Alors, le joueur va être là-bas. Disons que les joueurs sont là, le point-virgule sera ici. Ou si nous disons que deux moins cinq seront là. Nous pouvons modifier cela en mode de jeu comme nous l'avons fait avec tout le reste, n'est pas un type de fois si nous commençons notre jeu, nous pouvons voir devant le payeur, mais je veux bouger hors de la pièce pour être là. Et nous pouvons enregistrer cette valeur, 5,78, sortir du mode de jeu, saisir directement. Ensuite, lorsque nous commençons notre jeu pour la deuxième fois, nous pouvons voir que le joueur est exactement là où il devrait être, juste là. Je vais en faire six car je pense que la pièce est encore trop à droite. Oui, ça devrait faire l'affaire. C'est peut-être un peu trop à gauche maintenant, mais nous tomberons sur ce pont quand nous le rencontrerons, vous préférerez peut-être avoir votre joueur l'autre côté, ce qui est très bien si vous faire. Nous pouvons modifier cette valeur au fur notre parcours de développement de jeux. C'est ce qui est génial avec les variables. Mais pour l'instant, nous avons créé un script très basique qui permet à la caméra de suivre le plan, le travail, et je vous verrai dans la vidéo suivante. 9. États de caractère: Salut, et bienvenue à nouveau dans l'unité. Au cours des derniers épisodes, nous avons créé notre tout premier script C-sharp, permettant au joueur de se déplacer le long de la scène. Et nous avons même ajouté un script de suivi de caméra afin que nous gardions toujours une trace de l'endroit où se trouve le joueur. Par conséquent, notre jeu ressemble actuellement à ceci. C'est dans un état semi-fonctionnel et nous pouvons sauter qu'un seul mal sur le sol que nous pouvons sauter, ce qui est vraiment cool, jusqu'à ce que nous atteignions la fin, puis nous suivons. Semi fonctionnel peut être un peu étiré. il en soit, dans cet épisode, nous allons commencer par créer des états de joueurs. Ce sera la première étape que nous allons faire pour créer une grosse boucle. Maintenant, si vous ne voulez pas de boucle de jeu c' est essentiellement le fait que vous pouvez jouer, mourir jouer à nouveau et mourir quand, etc., vous pouvez continuer à jouer ou en boucle. Et les états vont nous permettre de déterminer dans quel état ils jouent. S'il est mort, s'il est vivant, s'il attend de voir s' il peut répondre après une annonce, s'il saute ou tombe. De toute évidence, beaucoup de ceux que nous n'allons pas utiliser, nous n'allons pas coder, sauter et suivre les états. Mais si nous n' utilisions pas de moteur de jeu, c'est peut-être quelque chose que nous devrions faire. Heureusement, parce que Unity possède ce grand composant Rigidbody qui prend soin de toute la gravité pour nous. Les seuls états qui travaillent avec attention dans cet épisode, je vais être de savoir si le joueur joue ou est autorisé à bouger ou mort, pas autorisé à bouger. Commencez par aller dans le dossier des scripts, cliquez avec le bouton droit de la souris, créez un script C-sharp. Je vais appeler le directeur d'État. Ensuite, une fois que cela a été créé, Google vers le lecteur et faites glisser votre script State Manager sur celui-ci, comme cela. Maintenant, nous allons chercher ça. Je vais définir la portée de la gestion et nous allons commencer comme nous le faisons habituellement en créant une variable. Et cette variable va s' appeler état et elle sera une variable de chaîne, publique. Nous pouvons donc le voir dans l'état de chaîne de l'éditeur Unity. Cette variable d'état va maintenant nous permettre de vérifier dans quel état se trouve le joueur. Nous allons le faire. Je vais faire référence à l'état dans d'autres scripts comme notre script de mouvement. De toute évidence, en ce moment, le script de mouvement est ce qui dit réellement au joueur de déplacer chaque image. Cette ligne indique au joueur de déplacer chaque image. Mais si la pièce est morte, on ne veut pas qu'il bouge chaque cadre. Nous voulons qu'il arrête de bouger. Nous allons le faire en référençant ce script. Maintenant, si vous ne savez pas comment faire cela, je ne vous en veux pas parce que cela m'a pris beaucoup de temps à apprendre, mais c'est très simple. Si vous l'avez déjà deviné, il suffit de créer une variable reliant le script, une variable reliant le script, tout comme nous avons créé une variable qui lie des corps rigides, des entiers et même d'autres transformations et GameObject, nous pouvons faire la même chose ici. Nous allons donc taper public. Ensuite, nous allons taper le nom Bosco State Manager. On va appeler cette déclaration. Une fois que nous aurons fait cela, nous retournerons à Unity Editor. Nous allons sélectionner l'objet de notre joueur. Nous allons faire glisser notre script State Manager dans notre variable Stage Manager, qui nous permettra ensuite d'accéder à ce script à partir de ce script, qui est vraiment, vraiment utile car ce que nous pouvons faire, nous pouvons aller ici pour corriger la mise à jour et nous pouvons taper. Si vous ne voulez le faire que sous certaines conditions. Nous allons appeler le gérant de l'État George State. Et nous pouvons accéder aux variables dans ce script géré par l'état simplement en tapant point puis le nom de la variable. Je vais taper deux signes égaux. Et puis on va dire jouer avec un P. majuscule en dessous de ça. Nous allons mettre notre code ici, ce qui signifie que chaque image, seulement si nous sommes en état de lecture, nous allons définir la vitesse du point RB sur cela. Sinon, nous ne le sommes pas. Cela peut être vraiment cool parce que lorsque nous entrons dans Unity et que nous touchons Play, nous pouvons voir que nous ne bougeons pas. Et si je devais entrer en jeu dans l'État, je commencerai à bouger. Mais dès que j'ai changé quelque chose de stock, ce qui est vraiment, vraiment cool, ça va nous permettre, comme je suis sûr que vous pouvez le comprendre, créer des états différents pour notre joueur. La façon dont je vais le faire, c'est que je vais passer à la déclaration que je viens d'écrire. Et maintenant, la dernière chose que je dois faire est de m'assurer que cet état est attribué fonction de ce que je veux que l'état soit. Quand je commencerai, je vais toujours vouloir que l'État soit égal au jeu. Nous commençons à bouger. Mais quand j'entrerai en collision avec quelque chose, je vais vouloir mourir. Lorsque j'entrerai en collision avec un obstacle, je vais vouloir déclencher l'état de mort. Cet état de mort va être exactement ce que ça ressemble. Il va mettre cet état à jour et il est évident que nous ne bougerons plus. Et ce qui est génial, c'est que plus tard, lorsque nous ajoutons des effets de mort et toutes sortes de choses comme ça, nous pouvons utiliser la machine d'état pour simplifier ce processus. Je vais supprimer ma mise à jour car je n'en ai pas besoin ici. Et je vais créer un nouvel événement déclencheur. Maintenant, si vous vous souvenez du dernier épisode ou de deux épisodes, nous avons eu nos propres événements de collision. Et c'est essentiellement dire quand je entre en collision, faites ceci et ce code, évidemment au fur et à mesure que nous sommes allés, lorsque je suis entré en collision avec le sol, je veux mettre le terrain à la vérité. Nous allons créer quelque chose de très similaire ici. Nous allons être annulés sur Trigger, Enter 2D sur l'entité déclenchée d est exactement la même que sur collider en 2D. C'est juste que le collisionneur est un déclencheur. Donc, parce que notre joueur va utiliser un collisionneur normal, vous pouvez l'être, pourquoi utilisons-nous un déclencheur ? Mais la raison est en fait que les obstacles que nous allons ajouter dans une seconde, nous allons utiliser des déclencheurs pour que événement déclencheur s'active lorsqu' un collisionneur touche un déclencheur, mais il ne s'active pas. quand il est entré en collision de tête pour collisionner. Nous allons entrer ici et lors de notre événement déclencheur. Maintenant, ça va être une longue ligne de code et il va utiliser un certain nombre de concepts. Nous ne sommes pas encore vraiment passés en revue. Et la raison pour laquelle je ne les ai pas dépassés, c'est parce qu'ils ne sont pas incroyablement pivots à ce stade du cours. Mais l'unité, une fois que nous les utilisons pour une raison quelconque. Nous pouvons aller ici. Si nous allons ici, nous pouvons voir que nous venons de dire que le collisionneur de points de collision activant partout où il vit dans l'obscurité comparativement à notre vérification que l'étiquette est au sol. Mais lorsque nous utilisons trigger, nous devons taper une ligne de code beaucoup plus longue qui se passe comme ceci. En cas de chute de collision, oui , composant, vis ouverte, supports ouverts. Et nous allons dire que le collisionneur de polygones 2D est le type de planeur que nous utiliserons pour nos ennemis. Ensuite, nous allons mettre des parenthèses, George, comparer l'étiquette, un autre crochets ouverts, puis un obstacle. Maintenant, vous allez peut-être y aller, quoi dans le monde et nous écrivons simplement, et je ne vous en veux pas parce que cela utilise toutes sortes de concepts que je ne voulais pas enseigner à ce stade du cours. Je ne sais pas pourquoi Unity nous oblige à utiliser tous ces concepts pour une ligne de code aussi simple. À mon avis, je ne comprends pas pourquoi inconscient est un point de collision que le Colorado a eu juste parce que d' habitude le déclencheur, mais pour quelque raison que ce soit habituellement une fois que c'est comme ça et j'ai essayé dans un précédent sujet de cette vidéo, faites-le dans l'autre sens et cela cause toutes sortes de problèmes. Il suffit donc de copier le code exactement comme je l'ai fait. Et ne vous inquiétez pas si c'est un peu déroutant. Point de collision de Bouddha composant fgetc ouvert ou inférieur au signe, puis collisionneur de polygones 2D supérieur au signe, crochet ouvert, crochet de fermeture, balise de comparaison de points, crochet ouvert, guillemets, guillemets d'obstacle, crochet de fermeture. Et puis nous allons écrire dans notre déclaration if, l'état est vrai. Maintenant, la première chose que nous allons faire pour vérifier si cela fonctionne, c'est que nous allons réellement faire en sorte que notre collision soit un nouveau collisionneur, un nouvel objet. J'appelle ça un obstacle et vois si on a arrêté de bouger quand on l'a frappé. Nous allons donc passer ici dans le dossier des ressources du cours. Et nous allons cliquer sur le triangle et le faire glisser dans notre scène. Comme ça. La première chose que nous allons faire, c'est que nous allons réduire ce triangle. Déplacez-le à peu près là. Et je vais rendre le mien rouge. C'est une couleur décente. Rouge plus foncé. Maîtrise comme scène. On y va. Ce que nous devons maintenant faire, c'est que nous devons nous assurer que lorsque nous entrons en collision avec cet obstacle, nous traitons l'état mort. Mais il est évident que cet obstacle n'a pas l'étiquette d'obstacle. Donc pour changer cela, nous devons aller ici, vous devez ajouter une balise comme nous l'avons fait la dernière fois et tapez un obstacle. Exactement comme je l' ai écrit, Capital O. Ensuite, nous irons ici. Nous allons cliquer, désolé, pas le joueur, le triangle sur lequel nous allons cliquer ici. Et lorsque vous cliquez sur obstacle, il y a maintenant une étiquette d'obstacle, mais nous n'avons pas encore de collisionneur attaché à ce triangle. Nous allons devoir effectuer ce type add component, le collisionneur de polygones du collisionneur de polygones 2D antérieur. Et assurez-vous que c'est un déclencheur. Nous pouvons voir que c'est parfaitement autour de notre triangle. Si nous cliquons sur Play, devrions recharger nos assemblages de script, puis nous devrions bouger, bouger, bouger, bouger, récupérer notre joueur. Parfait. Dès que nous entrons en collision, l'état mort se déclenche. Ce sera en fait le début d' un autre gros bâton et je vais faire du développement de jeux. Nous venons de créer une sorte de mini machine à états. Cette machine à mini-états nous permet de suivre quand le joueur est mort ou vivant. Et je vais vous montrer à quel point il est facile développer cela dans le prochain épisode. Mais si votre code fonctionne comme le mien, excellent travail comme toujours, dissociez mon code d'origine dans les ressources de la vidéo. Si le vôtre n'a pas fonctionné, mais bon travail. Tout le monde devrait travailler, apparemment très bien. Et je vous verrai dans la prochaine vidéo. 10. Notre boucle de jeu: Salut, et bienvenue à nouveau dans l'unité. Dernier épisode, nous avons créé notre toute première machine d'état, ce qui nous a permis, lorsque vous jouez au jeu, avoir le joueur dans deux états différents, à savoir jouer quand il ne touche pas l'obstacle et la dette dès que possible. car il a frappé l'obstacle. Et cela pourrait ne pas ressembler à une très grande chaîne. C'est vraiment, vraiment bien et c'est vraiment une étape importante dans notre parcours de développement de jeux, car cela va faire beaucoup de travail pour faire fonctionner une boucle de jeu. Et une boucle de jeu en termes simples, est fondamentalement tout ce qui nous permet de jouer à un jeu ou de gagner et de perdre et de réessayer de l' expliquer d'une autre manière, vous pouvez penser à une boucle de jeu comme un processus à faire Assurez-vous que le joueur n'a pas à redémarrer l'application chaque fois qu' il veut arrêter le jeu, évidemment dans notre jeu. Maintenant, si vous jouez à notre jeu et que vous perdez, et Emily, si vous touchez l'obstacle, la première façon de continuer à jouer est évidemment de relancer le jeu. Nous voulons changer cela. La première chose que nous allons faire, c'est que nous allons entrer dans notre script State Manager. Et en fait, tout au long de son absolu, nous allons seulement éditer les manuscrits d'État. Je vais télécharger une version mise à jour du manuscrit d'état à la fin. Mais nous allons éditer ce que nous avions de la dernière fois. Double-cliquez donc sur State Manager. Quand ça se chargera, vous allez commencer par créer une nouvelle procédure. Donc, vous allez aller ici et vous allez taper public, vide mourir. Ce nom très horrible pour une procédure va essentiellement être le code que nous exécutons une fois que le joueur est mort ou qu'il a un état mort. Vous pouvez le voir ici où les étudiants peuvent vivre un obstacle ou mourir. Nous venons de mettre notre État à l'endettement, mais nous voulons en fait appeler cette procédure morte, puis faire tout ce qui s'inscrit dans cette procédure pour diverses raisons. Le principal est que de cette façon, nous pouvons ajouter des effets de profondeur ou ajouter un minuteur pour répondre, ce que nous allons faire dans cet épisode. Des choses aussi. On va lui faire couper ce code et le coller ici. Et je vais en fait changer cela D majuscule parce que je pense que c'est mieux si c'est un je pense que c'est mieux si P majuscule et un D. majuscule. Ensuite, ici, sous l'état d'ID froid, parenthèses et le point-virgule, a commencé à mourir la procédure. Maintenant, lorsque nous avons heurté un obstacle, nous allons appeler cette procédure. Je vais mettre mon état à mort. Et tout devrait fonctionner comme il a disparu tout le temps. Vous devriez avoir un programme de travail qui effectue les opérations suivantes. Ça devrait courir, courir, courir, aller comme la dernière fois. Dès que nous sommes arrivés, nous devrions arrêter bouger comme nous l'avions auparavant. Ce qui est vraiment génial, c'est nous pouvons maintenant à partir de cette procédure, nous inscrire ou répondre si nous allons ici et que nous sommes publics, nuls et que nous allons appeler celle-ci avec le téléphone. Placez les parenthèses ouvertes. Et je vais répondre. La procédure va nous remettre à la position que nous voulons être au début. Nous voulons nous assurer de revenir à notre position de départ 0 générée. Je vais donc fixer cette position forte pour être là où je veux commencer l'endroit. Je vais le jouer ici. Et je vais dire, d'accord, c' est une bonne position forte. C'est moins 8,52 et moins 1,69. Allez ici et nous allons aller en France comme nous souvenir du code du script de caméra, nous parlons de la transformation étant l'objet du jeu attaché au script. Exactement la même chose ici, nous parlons de la transformation d'un joueur. La position des points est égale. Encore une fois, nous allons utiliser un vecteur trois, nouveau vecteur trois, un crochet ouvert, désolé, des crochets normaux. Et nous allons taper moins 8.521.69. Et bien sûr 0. Maintenant, tout cela devrait fonctionner parfaitement, mais nous pouvons le voir ici. Il est dit que l'on ne peut pas se convertir à partir de fluides C'est essentiellement parce que nous n'avons pas dit à Unity que ce que nous stockons ici sont des décimales. Nous venons de le dire. Ce ne sont que deux chiffres que nous avons mis. Dots in. Unity va automatiquement devenir confus quant à ce qu'ils sont. Ils vont penser que c' était un double, c'est un flotteur. Donc, pour minimiser cela, nous allons simplement mettre la lettre F, minuscule f après ces deux années, vous saurez alors qu'il s'agit de vous saurez alors qu'il s'agit deux flotteurs et que nous sommes prêts à partir. Avant de retourner dans Unity, je dois m' assurer d'appeler ce réponse à partir du code de teinture. Laissez-moi aller ici. Je vais répondre à froid, ce qui signifie que dès ma mort, j'ai mis mon état à mort. Et puis je réponds, eh bien, c'est que ça va me faire répondre, mais je vais toujours être dans l'état mort. Et ça va ressembler un peu à ça. Partez en voyage, voyagez avec des ennuis, mourrez, puis retournez ici et soyez toujours dans l'état mort. Vous pouvez voir que je ne bouge pas parce que je suis dans l'état mort, mais nous ne voulons pas vraiment que cela se produise. Nous voulons continuer à bouger. Donc, nous allons aller se transformer Sarah, et ensuite nous allons remettre notre État à la hauteur de la réclamation. C'est notre tout premier exemple de ce qu' est une boucle de jeu, car maintenant nous pouvons voir si nous touchons le jeu, nous pouvons avancer, avancer. Si nous mourons, nous réagissons là où nous étions et nous pouvons jouer le jeu. En fait, si on saute par-dessus ça, ce que je suis juste de le faire, je ne le ferai pas. Je ne sais même pas si c'est possible parce que je voyage à un demi-kilomètre à l'heure, mais oui, ce n'est pas le cas. Mais si nous avons fait notre vitesse de jeu ici, si nous avons fait mon discours et ma vie avant, puis j'ai sauté au bon moment. Je peux vraiment passer en revue ça et je pourrais continuer à jouer. De toute évidence, je vais maintenant avoir des ennuis parce que nous n'avons pas fini de construire la carte. C'est la base d'une boucle de jeu. Et en fait, la dernière chose que nous allons faire dans cet épisode, c'est que nous allons changer la vitesse à trois parce que deux sont juste un peu lents, même à des fins de test. Si tout fonctionne comme moi, vous avez créé votre tout premier thème. Maintenant, la seule chose que nous devons faire dans le prochain épisode, nous allons ajouter un léger minuteur ne pas répondre immédiatement, nous mourrons puis nous répondons. Et c'est en fait là que notre machine d'état va être encore plus utile, mais contre cela dans la prochaine étape. Ce que vous devriez avoir maintenant, c'est un script de réponse normal. Et si ça fonctionne parfaitement bien. 11. Minuteurs: Salut, et bienvenue à Unity. Dans notre dernier épisode, nous avons créé notre groupe de jeux, ce qui représente un autre grand pas vers la réalisation de notre jeu mobile. Et si nous cliquons sur Play, nous pouvons le voir en action ici lors de ce que nous avons fait la dernière fois. Nous allons avancer et dès que nous mourrons, nous revenons au début, ce qui est vraiment, vraiment cool. Maintenant, il y a quelques problèmes avec cela, mais tout d'abord, il n'y a pas de temps dans la journée car nous apparaissons pratiquement dès notre mort, ce qui n'est pas idéal. Et deuxièmement, nous frayons un peu plus haut que prévu à l'origine. Quand je regardais la vidéo, j'ai réalisé que j'avais entré la mauvaise valeur. J'ai entré 1,69 au lieu de moins 1,69. La première chose que nous allons faire dans ce cours est que nous allons aller de l'avant dans cet épisode, frère, c'est que nous allons aller de l'avant et régler ça. Je vais donc revenir à mon scénario que j'ai fait la dernière fois et ajouter un inconvénient. Maintenant, ça devrait paraître un peu mieux. Mais notre problème avant de frayer dès notre mort est toujours un problème qui doit être résolu. Si nous touchons Play ici, nous verrons que nous voyageons et voyageons. Nous déversons maintenant plus bas, mais nous faisons toujours cuillère dès notre mort, ce qui n'est pas génial. Donc, pour résoudre ce problème, je vais introduire un minuteur qui nous donne un peu de temps à partir d'un T2 du milieu des années 90 et je répondrai à nouveau. Nous pouvons donc voir notre machine d'état en action. Laissez-moi aller de l'avant, ouvrez toujours le script State Manager. Et je vais le faire est un processus assez simple, mais il va utiliser un terme et une procédure très peu familiers numérateur IEE plus froid. Maintenant, j'ai énuméré ici, notez cela. Il fonctionne de la même manière qu'une procédure. Je vais appeler ça du retard. Mettez des parenthèses, puis mettez des crochets. Maintenant, pour être tout à fait honnête, j'ai utilisé, j'énumère pendant très longtemps sans savoir ce qu'ils faisaient juste comme commandes de temporisation ou de commandes d'attente. Et c'est tout à fait correct. énumérateurs sont un peu plus compliqués que cela. Ils doivent renvoyer une valeur. Comme vous pouvez le constater, c'est un peu inconnu pour nous à ce stade du cours. Mais pour l'instant, tout ce que vous devez savoir à leur sujet c'est qu'ils sont les deux que nous allons utiliser pour retarder. Et nous allons écrire un code qui dit rendement, retour, nouveau. Attendez, une seconde, ouvrez des crochets, un point-virgule. Ensuite, nous allons appeler la procédure de réponse. Maintenant, la dernière chose que nous devons faire est au lieu d'appeler répondre directement ici, nous allons appeler la coroutine de démarrage, crochet ouvert, le retard, les parenthèses, puis un point-virgule. Vous pensez peut-être Quel est le **** que nous venons de programmer ? Et je ne vous en veux pas parce que nous venons d'ajouter une chose complètement inconnue , puis complètement inconnue. Mais je ne veux pas vraiment m' intéresser à toutes les utilisations de cette chose parce que ce n'est pas vraiment important dans notre cours. En fait, vous pouvez créer des jeux mobiles en utilisant ces derniers comme des mois temporels. Et pour mes premiers jeux mobiles, c'est tout ce que j'ai fait. Tout ce que je fais ici. Vous pouvez y penser comme si j'appelais simplement une procédure et que la procédure appelle maintenant la procédure. La seule raison pour laquelle la procédure semble différente est qu'elle doit être utilisée pour attendre un certain temps. Et je ne veux pas entrer dans toute la logistique maintenant parce que ça va devenir assez compliqué et ce n'est pas très utile. Pensez-y comme commencer la coroutine, qui est essentiellement un mot fantaisiste pour une procédure de magasin qui peut attendre, puis une demi-procédure qui peut attendre, puis commencer ma nouvelle procédure. Ce code peut sembler un peu inconnu comme je l'ai déjà dit, ne vous inquiétez pas. Si vous l'écrivez comme je l'ai fait, cela devrait parfaitement fonctionner. Et nous n'allons pas faire beaucoup plus de choses que j'ai énumérées parce que c'est un peu plus compliqué que nous n'avons besoin de revenir dans mon jeu maintenant. Et je clique sur Play. Nous pouvons voir que je devrais avancer, avancer, mourir. Et puis, après une deuxième réponse, ce qui est bien meilleur que ce que nous avions auparavant, ce qui est génial. Si vous avez obtenu ce bon travail. Cela faisait partie d'un court épisode parce que je voulais juste présenter le sujet des horaires. Mais comme je l'ai dit, c'est peut-être un peu inconnu. Ne vous inquiétez pas à ce sujet. Assurez-vous simplement que votre code fonctionne comme le mien. Je vais évidemment télécharger mon code comme je l'ai fait tout ce temps. Vous pouvez donc le télécharger si vous rencontrez un problème. Mais si ça marche bien et je vous verrai dans la vidéo suivante. 12. Générer notre carte: Salut, et bienvenue à nouveau dans l'unité. Maintenant, au cours des dernières vidéos, nous avons créé un jeu mobile semi-fonctionnel où vous pouvez vous déplacer. Si vous mourrez, vous répondrez et vous pouvez sauter par-dessus tout et continuer. Mais le problème qui se pose si vous sautez par-dessus le triangle, vous ne pouvez rien faire pour vous empêcher de tomber inévitablement dans l'abîme. Et c'est parce que les extrémités de la carte sont là. Dans cet épisode. Ce que nous voulons faire, nous voulons créer une carte qui dure toujours. Il existe maintenant deux façons de le faire. Premièrement, nous pourrions simplement faire bouger cette partie de la carte avec le joueur. En tant que famille, nous ne faisons pas tous la même chose et que nous ne manquons jamais de maths, mais c'est assez ennuyeux. Ce que nous allons plutôt faire, c'est que nous allons créer un système qui engendre des parties de notre carte pour nous. Lorsque nous atteindrons certains points, si j'y arrive, je vais créer une nouvelle partie de notre carte pour nous, ce qui est vraiment, vraiment cool. La raison pour laquelle c'est tellement cool, c' est parce qu'elle nous permet d' avoir une carte infinie variée afin que nous puissions modifier la hauteur qu'elles vont, nous pouvons changer la longueur si nous le voulons. Évidemment, nous ajouterons tout cela plus tard lorsque nous approuverons tous les jeux mobiles. Mais pour l'instant, nous allons juste y arriver. Ils ont donc tous parlé devant nous afin que nous puissions avoir une carte qui fonctionne réellement. Maintenant, la première chose que nous allons devoir faire, c'est nous allons devoir réduire ces segments de carte parce que je pense que les segments de cartes devraient être à peu près aussi gros. Faisons en sorte que le triangle s'enfile. Ensuite, la deuxième chose que nous devons faire est transformer ce segment de carte en préfabriqué. Dans notre préfabriqué, vous pouvez le considérer comme un tampon. Je veux tout copier dans cet objet, le transformer en un fichier que je peux ensuite mettre dans mon jeu. C'est ce que je fais. En fait, il suffit de prendre cette parole et je le fais glisser dans le dossier des ressources et je le lâche. Il crée un fichier préfabriqué pour moi. Ensuite, je peux faire glisser ce fichier préfabriqué dans ma scène et le faire apparaître comme je le voulais. Et nous allons le faire avec du code. Mais c'est vraiment cool parce que si je vais de l'avant et que je change quelque chose à ce sujet , par exemple, rendre cette couleur olive jaune clair et bizarre. Cela change tout le préfabriqué pour que je puisse réellement le mettre à jour comme je veux, et tout se mettra à jour avec, ce qui est vraiment, vraiment cool. De toute évidence, nous devons créer le code qui les engendre réellement. Mais avant de le faire, nous allons d'abord ajouter un autre collisionneur. Maintenant, cette partie est très importante. Nous allons entrer dans notre préfabriqué et nous avons déjà un collisionneur de boîtes, mais nous voulons ajouter un collisionneur à gâchette. On va y aller et ajouter un collisionneur de bord cette fois, ce sera le collisionneur de bord 2D. Et il va voir une ligne verte. C'est comme ça que le curseur Edge. Ensuite, nous allons cliquer sur ce bouton qui indique Edit Collider. Et nous allons cliquer dessus et nous allons faire glisser ça, ce côté là où la boîte apparaît à peu près là. Je dirais que tant que c'est environ les deux tiers de la longueur, c'est très bien. Ensuite, nous allons aller de l'avant et décocher ce menu de points et nous allons copier, nous allons changer cela en un pour qu'il soit plus facile à stocker. Ensuite, nous allons copier l'élément un, la même position où ils sont tous les deux stockés là-bas. Et puis la dernière chose que je vais faire, c'est de monter légèrement. Assurez-vous qu'il s'agit d'un acier. Ce que j'ai fait, c'est que j'ai déplacé l' exposition gouvernementale en un point de ce point en décochant ce menu de points. Ensuite, il suffit de et de suivre le cours cognitif, puis le suivre et de suivre le cours cognitif, puis de faire les valeurs Y pour qu'elles ressemblent à un mur que vous ne pouvez pas traverser, qui est exactement ce que nous voulons. Et évidemment, si j'y jouais maintenant, j'irais là-bas et je m' arrêterais , je ne pourrai pas y passer. Donc, si j'en fais un déclencheur, je serai en mesure de passer parfaitement. Mais cela crée en fait quelques problèmes pour nous. Je me souviens plus tôt, lorsque j' éditais l'un de nos précédents scripts, je crois que c'était ce responsable d'État ici. Nous pouvons voir que nous avons un événement déclencheur inconnu. Et si vous vous rappelez que j'ai dit, je me souviens que c'était une façon très compliquée d' atteindre l' étiquette de l'objet. Et j'avais raison, c'est très stupide. Et ce n'était pas vraiment ce que nous devions faire. Unity ne nous oblige pas à écrire toute cette ligne de code. Nous pouvons en fait tout retirer ici et remplacer par dot GameObject, balise de comparaison de points. Et cela fera exactement la même chose pour nous. Et la raison pour laquelle cela est si utile, c'est parce que la façon précédente était d'obtenir le collisionneur puis d' obtenir l'objet du jeu, ce qui était juste un peu fastidieux. De cette façon, c'est beaucoup plus simple car nous pouvons simplement obtenir le GameObject. Je veux que vous fassiez un manuscrit d'état et changiez cela en objets de jeu sombres. Tout fonctionne donc parfaitement. Vous auriez pu le laisser tel quel, mais croyez-moi, vous rencontrerez des problèmes plus tard. Cela ne vaut pas la peine de changer simplement l'objet D2L et tout devrait fonctionner correctement. Ensuite, nous allons rencontrer un nouveau script. On va faire quelque chose de très similaire. Mais commençons par tester cela fonctionne. Si c'est le cas, nous devrions pouvoir mourir comme nous l'avons été. Et répondez. Et vous pouvez voir qu'il fonctionne parfaitement. Alors allez-y et assurez-vous de changer cela en collision avec un objet de jeu. La raison pour laquelle je pensais que c'était la méthode la plus compliquée provoquait une prise antérieure. Je l'avais écrit de la même manière que cela et l'unité m'avait dit que c' était déprécié et ancien. Je suppose donc que c'était la seule façon de le faire, mais je suppose qu'il y avait un autre moyen plus simple. Donc, mes excuses pour cela, mais assurez-vous de le réparer à collision avec la balise de comparaison de points GameObject. C'est beaucoup plus simple. Ensuite, nous pouvons aller de l'avant et créer nos nouveaux scripts. Nous allons cliquer ici avec le bouton droit de la souris. Je vais créer un script C-sharp. Nous allons appeler ce géniteur de carte. Nous allons réellement ajouter ce script au lecteur. La raison pour laquelle nous pouvons l'ajouter aux joueurs parce que nous voulons créer la carte par rapport à la position du lieu. Donc, si je fais glisser ça sur un joueur comme ça, on peut voir que j'ai mes cartes, hacher le joueur. Maintenant, quand j'atteindrai des points dans mon code où je veux créer une pièce de carte à jouer va passer à travers elle et ça va les diviser en pièce devant la pièce, qu'il a fait exactement ce que je veux. Donc, la façon dont nous allons vérifier où nous le faisons est avec ce collisionneur que nous avons ajouté, nous avons évidemment un planeur à gâchette. Donc, nous allons dire que chaque fois que la paire passe au-dessus gâchette Collider crée une nouvelle pièce la carte, ce qui est parfait. En fait, je vais entrer dans mon code là où j'ai eu, je vais aller à l' énoncé de code. Je vais copier ça sur la grille d'aération exactement comme elle est. Copiez-le. Ensuite, je vais ouvrir mon nouveau script, le script de création de carte. Je vais les supprimer et quoi les mettre là. Vide sur l'entité trig. La seule chose que je vais faire ici, c'est que je vais changer cette étiquette d' obstacle en sol. Vous vous souviendrez que c'était l'étiquette nous avons faite pour le sol plus tôt. Et je vais supprimer cette procédure et la remplacer par ma procédure d' instanciation, que je vais faire une seconde. Maintenant que je vais brièvement éviter que les préfabriqués ne soient, je vais vous montrer comment les mettre à la cuillère via des courbes. Ce que nous allons faire, nous allons voir notre scénario ici, et nous allons créer une nouvelle variable, publique, et nous allons créer une référence à un objet de jeu. Maintenant, rappelez-vous que nous l'avons fait plus tôt avec notre appareil photo suivant le script où nous avons d'abord créé un objet de jeu, puis nous avons changé pour une transformation parce que nous avons réalisé nous n'avions pas besoin d'un objet de jeu. génial avec les objets de jeu, c'est que nous pouvons stocker toutes les entités dans les scènes Unity, ainsi que d'autres fichiers de ressources qui sont des objets tels que des préfabriqués. Nous pouvons stocker des préfabriqués dans des objets de jeu , puis les gâter via le code deviendra un objet de jeu public maintenant appelé plancher. Va par ici et je change ce code et je fais de l' espace d'objet de jeu G capital, puis je le mets là où je veux appeler ça un flux de mine de charbon que je mettrai un signe égal. Ensuite, j'écrirai le mot « instancier ». Je vais ouvrir les parenthèses. je vais taper la variable en flux. Ensuite, j'écrirai comme, puis encore un objet de jeu G majuscule. Maintenant, vous pouvez être un peu confus quant à ce que nous faisons exactement ici. Mais en gros, ce que dit cette ligne de code, c'est que nous avons cette variable ici, que nous allons relier au flux. Allez ici, faites défiler vers le bas et faites glisser le flux. Il y a maintenant un lien entre eux. Donc, c'est cet objet que nous allons mettre en place qui dit : Ok, quand nous entrons en collision avec un déclencheur qui a l'étiquette au sol, en d'autres termes, lorsque nous passons ce point, je veux instanciate, ce qui signifie créer un flux en tant qu' objet de jeu et le stocker dans cette variable locale. Je me souviens que nous sommes passés aux variables locales il y a très, très longtemps, dans notre introduction à la vidéo C-sharp. Mais en gros, ce ne sont que des variables que vous pouvez référencer dans cette méthode, car nous allons créer l' objet entier dans cette méthode. C'est parfait pour nous. En gros, ce que cette ligne de code va faire va le mettre quelque part, mais nous voulons contrôler les classeurs. Donc, sous la scène, je vais aller transformer la pièce de flux. N'oubliez pas que c'est sa position, sa rotation et son échelle. La position des points est égale au nouveau vecteur trois. Et puis je vais marcher dans les trois positions où je veux que notre transformation soit. Évidemment, je sais que je veux que mon z soit 0, presque 0 pour l'instant. Je veux que mon z soit 0 et je veux que mon y soit quelque chose en bas de l' écran, mais mon x, je vais évidemment toujours vouloir être différent parce que si je me déplace, que je vais le long, Ensuite, je veux dépenser quelqu'un, si je saisis toujours cette valeur moins quatre et que je me déplace, il suivait exactement le même endroit. Ou si, même si je mettais fin à la valeur ici, moins trois en arrivant à celui-là, ce préfabriqué qui aurait ces déclencheurs. Je veux juste avertir la troisième pièce. Cela le mettrait au même endroit, ce qui n'est pas génial. Je veux vraiment le frayer par rapport à la position du lieu. Je ne ferais pas ça. Nous allons trouver le décalage comme nous le faisons avec notre caméra suit un script avec des variables. Une fois encore. Je vais retourner ici et je vais taper public int offset. Je vais en fait aller de l'avant et taper une valeur Y similaire à celle-ci. Ils ont donc tous parlé à la même valeur Y. Si je fais ça moins 4,6417, je vais mettre ça dans ma valeur Y. Ensuite, ici, je vais dire, n'oubliez pas de mettre votre FM qu'il sache que c'est un flotteur. Ensuite, ici, je vais dire transformation, t minuscule, ce qui signifie la transformation là-bas. Ceci est attaché, dans ce cas, au joueur parfait, position x plus décalage. Cela va faire cela. Ces deux lignes de code vont dire, d'accord, quand je suis en collision avec quelque chose, lorsque je déclenche mon événement, cela signifie que je veux créer un nouveau morceau de terre. Je vais créer une nouvelle variable, une variable locale, et je vais l' appeler flux. Et cette variable va en fait créer un nouvel objet pour moi et le mettre dans la scène. Et puis cet objet, je vais mettre dans une position moins 4,6 pour y, qui est autour de van. J'ai vu des zéros. Et là où que je sois plus une certaine valeur, nous pouvons le voir en action si je vais de l'avant et simplement ici, et que j'ai mis la valeur cinq pour la compensation. Je ne sais pas si ça va marcher. Il est peut-être un peu trop proche, peut-être un peu trop loin. C'est pourquoi nous utilisons des variables. Mais je vais l'essayer. Si je vais ici, allez ici. Nous pouvons voir qu'il est en fait beaucoup trop proche. Nous pouvons voir que ces deux-là les chevauchent un peu ici, mais nous sommes en train de créer une carte comme nous le voulions. Donc, je vais aller de l'avant et changer ça par quelque chose de plus dix. Voyons à quoi ça ressemble. Si je recharge mon jeu, nous pouvons voir que je crée presque parfaitement une carte juste après, ce qui est plutôt cool. Mais en fait, je veux rendre le joueur un peu plus rapide et je veux faire en sorte que ces pièces mathématiques également un peu plus éloignées. Je vais changer ça à 12 et je vais changer la vitesse de ma place à cinq. Ce qui devrait se passer maintenant, c'est que j'ai une carte sur laquelle je peux sauter. Beaucoup plus facile, je serai beaucoup plus rapide maintenant vous pouvez voir que je dois sauter et le frapper pour que j' atterrisse sur chaque nouveau segment de carte, ce qui est vraiment cool car la carte va être créée au fur et à mesure que nous avançons, ce qui est vraiment, vraiment cool et nous pouvons commencer à le rendre plus intéressant. Mais avant de faire tout cela, nous devons en fait créer un peu plus de code pour nous assurer que nous n' encombrons pas notre inspecteur d'objets, si nous allons ici et que nous allons ici, désolé, Je vais hiérarchier, nous pouvons voir les plans d'étage y sont créés. Ces clones de flux sont les préfabriqués en statut dans le jeu de coquilles. Nous pouvons voir qu'ils sont en train de se remplir et ils ne sont pas détruits. Et je n'en ai plus besoin parce que je n'ai plus utilisé. Ce que je vais faire, c'est que je vais créer un nouveau scénario. Et je vais dire que lorsque ma position, c'est-à-dire la position, je vais attacher le script à ce flux au préfabriqué. Je vais dire quelle est ma position inférieure à celle du joueur plus un certain montant. Alors, quand je suis aussi loin de la caméra, détruis-moi. Et ce sera un scénario très simple. Et je vais cliquer avec le bouton droit sur créer un script C-sharp, et je vais appeler ce flux. Ensuite, je vais simplement aller de l'avant et ouvrir le flux. Et je vais dire dans les règles de mise à jour, première chose que je dois faire avant de le faire, c'est que je dois créer de nouvelles variables. Je sais ce que sont les transports publics avec les joueurs. Transformation publique, comme nous l'avons utilisé pour la jupe à contre-courant, je vais appeler ça un joueur. Ensuite, je vais aller de l'avant ici et je vais dire que point x de la position du point de joueur transforme le point x, et ce sera ma seule chose sur cet outil ici. Je dis juste ma position de transformation point x. Maintenant, je dirai si mon emplacement actuel dans le plan x est inférieur à la conversation et à l'explication du lieu. Je veux aller de l'avant et me détruire. Et la façon dont je vais faire ça, c'est que je vais juste taper détruire comme ça. Ouvrez les crochets, puis l'objet de jeu minuscules. Il s'agit essentiellement de me détruire parce que l' objet de jeu minuscules fait référence à n'importe quel objet de jeu auquel ce script est attaché, auquel cas nous parlons du sol. Ce préfabriqué, eh bien, ça va faire quand ma position est inférieure à celle d'un joueur, me détruire. Mais je suis sûr que vous pouvez comprendre que l'exposition de ces morceaux de flux sera inférieure à celle du joueur quand ils seront sur place. Mais nous ne voulons pas encore dessiner car nous avons toujours besoin de cet étage. où nous allons vraiment faire, c'est dire quelle est ma position inférieure à l'expédition au joueur moins, puis une autre valeur de décalage. Et on va faire ça moins dix parce que ce n'est pas forcément exact. Il faut juste qu'il y ait un peu plus de marge de manœuvre pour que nous sachions que nous ne le détruisons pas. Dès que nous le mettons en pause. Si cela fonctionne ou doit se produire, c'est que chaque image que nous devrions vérifier si nous sommes trop loin et si nous le sommes, nous devrions nous détruire nous-mêmes. Nous allons juste économiser des performances à long terme, c'est vraiment bon. Je vais aller de l'avant et aller à mon préfabriqué ici. Je vais cliquer sur Ajouter un composant et je vais écrire le nom du script que je viens de créer. Et nous pouvons voir que c'est vraiment ici. Nous pouvons additionner la dette et ensuite j'ai juste besoin d' ajouter la transformation du joueur. Mais ce n'est pas si simple, car ce n'est pas un préfabriqué. Et là encore, nous ne pouvons pas simplement traîner et je jouerai une femme trans comme nous l'avons fait auparavant. Nous devons également attribuer cela par code. Nous y retournerons. Nous allons taper le stock vide que nous avons supprimé plus tôt, mais nous pouvons simplement revenir en faisant cela. Ensuite, nous dirons que le joueur est égal. Cela va s'exécuter dès que nous serons instanciés. Dès que nous avons créé, nous allons entrer en majuscule G GameObject dot phi, ce qui signifie recherche éditeur, crochet ouvert. Ensuite, nous mettrons des guillemets et froids en tant que joueur. Parce que nous pouvons voir que notre joueur est appelé joueur. Nous allons maintenant faire des recherches sur l'intégrité. Transformation de points. Cela va dire, d' accord, quand je apparaîtrai, cherche un joueur, GameObject Dot trouve, ce qui signifie rechercher la position du joueur et ensuite il ne sera pas exactement positionné, mais c'est une façon simple de dire puis placez-la dans cette variable. Maintenant, si cela a fonctionné, que devrait-il se passer ? Nous devrions commencer notre jeu. Nous pouvons voir que dès que nous créons un flux, nous pouvons mettre le jeu en pause et nous pourrons regarder ici. Ce flux a en fait attribué la transformation du joueur à ses codeurs R étaient parfaitement en plus de cela si nous créons un nouveau flux parce que nous pouvons réellement voir l'ancienne pièce complète est détruite exactement quand nous avons terminé notre écran, ce qui est parfait car cela signifie que si vous regardez l'écran, vous ne pouvez voir aucun problème avec celui-ci. Il fonctionne un peu parfaitement. Mais alors que nous faisons un hors-écran, les pièces de sol sont détruites, ce qui est vraiment, vraiment cool. La dernière chose que nous allons ajouter, c'est parce que ces foyers sont créés juste devant nous. Ça n'a l'air pas génial. Ce n'est pas le cas, il n'a pas l'air trop cool. Et ce que nous voulons faire, c'est que nous voulons faire en sorte qu'ils soient installés deux devant nous. Nous voulons donc prendre ce petit morceau et nous voulons dire que c'est ce qu'il faut faire. Comme je vais le faire, je vais aller à l'usine. Je n'ai pas changé ce décalage à quelque chose comme 30. Alors il sera plutôt 24 en fait, c'est exactement doublé. Une fois que nous aurons défini cette valeur, nous allons faire encore une chose. On va aller ici. Et au lieu d'en avoir un, nous allons en mettre deux au début du match, car je suis sûr que vous pensez, si nous en mettons un là, il va à l'école trop loin pour nous puissions sauter , ce qui ne va pas marcher. Maintenant, si nous jouons au jeu, nous devrions être en mesure de trouver un bon endroit où nous voulons que cela se mette à la cuillère sans avoir à sauter pour tomber. Nous avons touché Play. Vous pouvez voir qu'il apparaît parfaitement là où nous le voulions et il y a toujours des cartes pour sauter. Il n'y a jamais d'écart légèrement plus grand parfois, et parfois un écart légèrement plus petit, ce qui est notre propre vision novatrice créative de ce jeu. La raison pour laquelle ces écarts se produisent est parce que nos deux éléments de départ ne sont pas exactement séparés de 24 unités. Donc évidemment, si vous le souhaitez, vous pouvez déplacer cela jusqu'à ce que vous obteniez moins d'écarts ou plus d'écarts où vous le souhaitez. Je vais laisser mes phénomènes, mettre le mien là-dessus parce que je pense que les lacunes ajoutent un peu de caractère à notre jeu. Si nous continuons ici, nous pouvons voir un écart un peu plus grand et un écart important. J'ai un peu réduit le problème. Ils sont tous assez similaires comme si vous vouliez utiliser mes coordonnées, vous le pouvez. Ils sont moins 4.89888.38, ce qui est plutôt bon pour ne pas avoir d'écart. Mais ce qui est vraiment génial, c'est que nous avons franchi à nouveau un grand pas vers la réalisation de notre jeu mobile. Maintenant, nous avons une boucle de jeu et une carte infinie, ce qui signifie qu'il ne reste plus qu'à faire est de créer une sorte d' obstacle qui se produit sur tous ces éléments, évidemment avec un peu de variété, ce que nous allons être à l'étape suivante. Et nous avons un jeu mobile qui est pratiquement fait, ce qui est vraiment, vraiment génial. Je comprends maintenant que c'était un épisode un peu compliqué. Je suis sûr que beaucoup de concepts que nous avons abordés ici étaient un peu déroutants, surtout avec ces activités préfabriquées instanciantes. Si vous avez besoin de le regarder à nouveau, je comprends parfaitement. Si vous ne voulez pas le regarder à nouveau, c' est aussi très bien parce que nous allons évidemment couvrir ces concepts un peu à l'avenir lorsque nous, surtout dans le prochain épisode où nous serons vont instancier des triangles, les faire peut-être aussi, et aussi les mettre sur ces blocs de plancher comme nous le devons. Mais nous y reviendrons un peu plus tard. Si vous avez réussi l'épisode et vôtre fonctionne parfaitement bien. Excellent travail. Si vous avez besoin de télécharger mon code, c'est très bien aussi. Assurez-vous simplement de le copier exactement et que vous devriez bien avoir un jeu de travail. Super travail, tout le monde. Et je vous verrai dans la prochaine vidéo. 13. Améliorer notre carte: Salut, et bienvenue à nouveau dans l'unité. Dans notre dernier épisode assez long, nous avons créé notre système de génération de cartes, ce qui est vraiment très cool. C'est une autre étape importante pour faire une réalité sur un jeu mobile, car nous avons maintenant une carte infinie que nous pouvons parcourir lorsque nous jouons au jeu. Si nous allons de l'avant et le charger, nous pouvons le voir en action comme nous l'avons fait le dernier épisode. La carte est générée devant nous et je pense que nous pourrions tomber bien. nous avons vraiment réussi à traverser. Nous pouvons voir cette carte en action ici, créant nos nouveaux segments et en détruisant les anciens, ce qui est vraiment, vraiment cool. Dans cet épisode, nous allons vouloir améliorer cela un peu parce que, eh bien, il s'agit d'un très, très beau système de génération de cartes. La carte que nous générons n'est pas la chose la plus intéressante au monde car nous n'avons pas d'obstacles triangles, nous avons simplement des morceaux de flux verts nous avons simplement des morceaux de flux verts qui sont engendrés les uns aux autres. Et ce n'est pas idéal parce qu'il ne nous donne pas de jeu à jouer, nous donne juste des pièces de ScreenFlow vers lesquelles sauter. Et comme nous le prouvons, nous n'avons pas à sauter. Nous allons commencer cet épisode en ajoutant points d' apparition de chaque côté des pièces d'écoulement vertes. Ensuite, nous allons créer un système où nous mettons triangles sur l' un ou l'autre ou les deux. Nous avons donc une certaine variété sur notre carte. Ensuite, une fois que nous aurons créé notre système triangulaire sur ou l'autre avec des points nés aux États-Unis, nous allons commencer avec quelques problèmes qui vont survenir suite à l' ajout de des triangles, parce que je suis sûr que vous pensez si nous ajoutons des triangles et que nous perdons, nous allons répondre, alors il n'y aura pas de flux pour sauter, car nous avons détruit la règle. Nous allons créer un système dans lequel nous créons un plancher et nous allons en fait apparaître des pièces de sol sous un objet parent. Et une fois que nous mourrons, nous serons sûrs d'effacer cet objet parent pour assurer que nous n'avons pas de doublons. Floor a été créé après un autre. En plus de cela, nous allons enfin créer système similaire avec les triangles parce que nous voulons nos triangles soient également des objets enfants au sol. Nous allons ajouter cela de façon maladroite. Et à partir de ce moment, nous pourrons avoir des triangles et des planchers afin de ne pas supprimer les pièces de sol sans triangles. Et nous allons pouvoir redémarrer le jeu tout en effacant tout. Commencez d'abord avec les triangles, si nous double-cliquons ou coulons préfabriqué, rappelez-vous que c'est ce que nous gâtons. C'est notre tampon. Et nous passons ici en haut, nous pouvons créer un objet enfant comme nous l' avons fait un objet enfant comme avec l' environnement il y a très, très longtemps, lorsque nous avons créé cet objet d'environnement et que nous ajoutons un groupe d'enfants Armitage à ça. C'est ce que nous allons faire ici. Si nous allons sur le bouton droit de la souris et que nous allons créer un vide et appeler cette pause pour la première position. Nous pouvons créer un objet que nous plaçons à cet étage. Et quel que soit l' endroit où nous circulons, cet objet reste toujours le même par rapport à cette position. qui est vraiment, vraiment cool, car cela va nous permettre de faire des points de sperme pour le triangle. Je vais donc en mettre un ici environ un tiers du chemin, puis un autre, ici, peut-être aux trois quarts du chemin. Nous pouvons donc voir qu'il y a deux points d'apparition. Je devrai peut-être les ajuster au fur et à mesure, mais ils vont bien pour l'instant. Ces points d'apparition vont être là où je vais mettre mon triangle. Je vais donc créer un script qui dit que lorsque je ferai cet étage, je vais créer, générer un nombre aléatoire et ça dira soit en mettre un là ou là, un là et un là. Ce qui est vraiment cool. Si je vais de l'avant dans les scripts en cliquant avec le bouton droit et que je vais créer un script C-sharp et appeler cela un angle droit généré. Et je vais aller de l'avant et je vais aller à mon sol et faire glisser mon script de géniteur de triangle sur mon plancher, comme ça. Maintenant, mon script généré par le triangle est évidemment vide, donc je vais l'ouvrir. Je vais aller de l'avant et supprimer la méthode de mise à jour, mais conserver la méthode de démarrage car nous allons réellement faire car nous allons réellement faire tout notre codage dans la méthode star. Maintenant, ce script va être assez simple parce que nous avons déjà géré instanciation et tout ce que nous avons fait dans ce groupe auparavant. Donc, si je pars, je vais commencer par faire ma position une transformation publique. Ensuite, je vais en faire un autre. Je pourrais encore taper exactement la même ligne, comme cette position de transformation publique deux. Mais la façon de le faire consiste simplement mettre une virgule, puis à écrire la deuxième position. Et c'est essentiellement l'extrait. N'importe quel mot dans la confiance du public à qui je veux qu' un concours de composition 11 revienne dans mon éditeur Unity. Et j'ouvre mon script de flux ou mon objet de flux. Je vois plutôt que la position 1 à la deuxième position est ici et ils n' ont pas été affectés. Maintenant, vous vous souviendrez que nous ne pouvions pas simplement faire glisser le plan parce que le joueur est un objet et qu'il s' agit d'un préfabriqué, ce n'est donc pas si simple. Nous avons dû écrire du code pour obtenir le joueur dans notre dernier épisode. Mais avec le plancher parce que nous assignons un support préfabriqué, nous pouvons le faire glisser comme non, en fait, pour renommer cela de la position 11 à la deuxième position, juste pour que ce soit un peu plus agréable. Mais nous pouvons réellement faire glisser ces écrits que nous n'avons pas pu faire la dernière fois. Ce qui est vraiment, vraiment cool. Parce que maintenant ce que nous pouvons faire, nous pouvons aller de l'avant et créer un script de création de triangles. De toute évidence, nous allons devoir utiliser un préfabriqué comme nous l'avons fait tout ce temps. Je veux donc rendre public, objet de jeu, appeler ça un triangle. Ensuite, nous allons écrire un code très similaire à ce que nous avons fait ici. Il y a un objet de jeu, la pièce de flux est objet de jeu de planchers instancié et la position de transfert. Ce sera en fait le code exact que nous allons écrire ici. Mais ce code va être quelques conditions quant au nombre et à l'endroit où nous les créons. Si nous y réfléchissons logiquement, il existe quatre combinaisons que nous pouvons diviser. Cela signifie pour un triangle d'un côté, un de l'autre, l'un des deux ou l'un ou l'autre. Et nous pourrions le faire en écrivant pour des déclarations si et faisant évidemment une condition pour chacun d'eux. Mais nous allons en fait simplifier cela en faisant deux déclarations si. Pour ce faire, nous allons créer une variable aléatoire qui définit x sur un ou deux. Je vais aller int x donc c'est une variable locale égale à une plage de chute aléatoire. Ouvrez le carré, ouvrez les crochets normaux. Et je vais entrer une valeur dans ce cas, une, une autre valeur dans ce cas trois. Cela va en fait me donner un nombre aléatoire d'un ou deux, sans compter les fluides. Donc, soit un ou deux. Si, par exemple, je mets un F ici, ça va me donner un flotteur aléatoire. Donc, ce sera soit 101.101.21.3. Mais évidemment, ça va me poser quelques problèmes ici parce que je stocke n'importe quel SIG. Je ne vais pas faire ça cette fois. Je vais stocker un entier en cours d' un avec un maximum de trois. Ça va être un ou deux. Si je fais cette mise à jour vide, cela se produit à chaque image, puis je vais imprimer x. Je peux réellement démontrer ce processus car cela va imprimer ma variable x Je peux réellement démontrer à chaque fois cadre de un à trois. Nous pouvons réellement tester s'il s'agit en fait des variables aléatoires que nous voulons, car elles seront exécutées chaque fois ce code est en personnel ou chaque fois qu'un flux est instancié. Si nous allons ici, nous verrons dès le début que nous avons un tas de deux et deux et trois parce que cela pourrait être un peu déroutant au début, je ne sais pas pourquoi c'est exactement comme ça, mais pour une raison quelconque dans le New Jersey, quand on dit 123, cela signifie que c'est le minimum et c'est le maximum, sans compter le maximum, donc un ou deux. Maintenant, cette ou deux variables, nous allons en fait définir deux fois aléatoire. La première fois que nous allons faire haut où nous l'affectons, nous disons que l'entier x est une plage aléatoire. Et puis quelques lignes plus bas avec et faites exactement la même chose pour que nous ayons une autre variable aléatoire. Et ensuite, ici, nous aurons notre première déclaration if, si x est égal à un et faites ça. Et ce sera si x est une cuillère par un préfabriqué, alors nous allons réaffecter x et nous allons faire exactement la même chose si x est égal à un et recommencer. La façon dont cela fonctionne essentiellement est qu'il choisit une valeur valide de une à deux variable aléatoire pour x. Ensuite, si c'est un, faites-le sur l'un, recommencez et si c'est encore l' un, faites apparaître l'autre. Nous pouvons donc voir à partir de cela que nous pouvons avoir un triangle ou aucun triangle, soit un triangle ou aucun triangle, deux triangles, soit un triangle et l'autre position. Il y a quatre combinaisons différentes qui peuvent résulter de cela, ce qui est vraiment cool. La dernière chose que nous devons faire est simplement créer le code de frai dans ce triangle. Et comme je l'ai dit, ce code va être très similaire à ce code. Nous pouvons en fait copier ce code et le placer juste là. La confidentialité va nous poser quelques problèmes de dénomination. C'est comme quoi les planchers quand on change ce plancher ? Triangle. De toute évidence, nous n'avons pas non plus de variable de décalage. Et ce vecteur trois Transform n' est pas du tout ce que nous voulons transformer en E. Allez-y et supprimez cette partie du code. Maintenant, nous avons une pièce de flux d'objets de jeu, triangles instanciés, un objet de jeu. Cela n'a pas beaucoup de sens, alors changeons cela en triangle. Ensuite, il va falloir le taper ici aussi. Maintenant que nous avons le triangle GameObject O, nous avons vu une erreur de nom. La raison pour laquelle cela se produit est que nous nommons ce triangle comme le nom de ce triangle, qui n'est pas une bonne logique de codage. Nous allons aller de l'avant et en faire un T majuscule et un T majuscule et maintenant nous pouvons voir que l' air disparaît réellement. C'est une bonne chose à illustrer, et C-sharp. C-sharp est un langage sensible à la casse et nous avons également montré deux types de langage. Une chose que vous pouvez changer de cas et c'est une chose complètement différente comme nous l'avons vu avec jeu majuscule comme objet de jeu en minuscules. Et aussi que vous pouvez rencontrer des zones de dénomination en C-sharp. Maintenant, ici, mon point triangle transforme la déposition, je vais vouloir positionner un ou positionner les troupes ici, je suis certain de la première position parce que c'est la première fois que je fraie. Mais la première position n'est pas vraiment une position. C'est une transformation, donc c'est une transformation de cette position, une échelle et une rotation, toutes sortes de choses. Je suis heureux de taper la position du point ici. Ça va me donner une infirmière. Ensuite, sous copiez ce code exact et placez-le ici, sauf cette fois, il suffit de changer ceci en position deux dépôts. Maintenant, c'est une façon un peu fastidieuse d'écrire ce code, mais j'ai pensé qu'il serait préférable d' illustrer la logique de ce que nous faisons. Il y a peut-être des façons simplifier cela si vous montrez cela à un C-sharp professionnel, car ils pourraient être, oh, changés que vous pouvez le faire en trois neuf, mais pour l'instant, cela va fonctionner. complètement bien. Nous pourrions maintenant revenir à Unity et tester ce code, mais nous pourrions nous rendre compte que nous avons oublié de le modifier pour commencer. Nous essayions d' illustrer quelque chose plus tôt avec la mise à jour, mais si nous exécutons ce code maintenant, chaque image va gâcher plus de triangles, qui ne sera pas du tout ce que nous Je veux être sûr de le modifier pour commencer. Je ne sais pas si vous avez changé pour mettre à jour quand je l'ai fait, mais si vous ne l'avez pas fait, c'est génial car il est censé être arrêté. Maintenant, revenez ici à Unity et nous allons aller au préfabriqué de sortie, et nous voulons attribuer un triangle à apparaître, mais nous n'avons pas de préfabriqué de triangle ici. Heureusement, tout comme nous avons fait le plancher préfabriqué, fabriquer un préfabriqué est très facile. Il suffit de revenir sur votre scène, aller dans le triangle et de le faire glisser comme ça. Il fera un préfabriqué pour nous. Ensuite. Supprimez ce triangle car je n'en veux plus dans ma scène. Je pense que c'est un peu bizarre d'en avoir un sur le premier et aucun des autres. Évidemment, ils vont gâcher ça au fur et à mesure, mais c'est très bien pour l'instant. Et puis je vais aller de l'avant et ouvrir mon préfabriqué. Et je vais vouloir faire glisser un triangle par ici. Maintenant. Ce que je veux faire, c'est que je veux m' assurer de pouvoir jouer mon jeu et créer des triangles comme je le veux. Mais le seul problème avec notre code d'apparition ne va pas que notre code gâche le système pour le moment est que nous devons grimper des objets. L'un d'entre eux va exécuter le script triangle ainsi que l'autre. En fait, tous les livres d' étage vont être ce qui s'est passé dans celui-ci. On va commencer le code et il pourrait y avoir un petit triangle juste ici, ce qui ne sera pas génial pour nous. Mais si nous apportons des modifications à ce sujet parce qu'il s'agit d'un préfabriqué, il y aura des modifications sur ce préfabriqué entier , ce que nous ne voulons pas faire. Nous allons faire ce qu'on appelle le déballage de la preuve. Et cela peut sembler un peu déroutant, mais en gros, tout ce qui est en train de dire que je ne veux pas faire référence à ce déballage d' animaux préfabriqués. Fondamentalement, cela signifie que je peux maintenant apporter des modifications à ce préfabriqué et ne pas affecter le préfabriqué global. Eh bien, ce n'est pas vraiment une taupe pré-fader. Nous en avons refait un objet. Allez-y et supprimez le script d'apparition de triangle de votre premier bloc. Et après cela, vous devriez être prêt à partir parce que nous ne voulions plus créer de triangles sur le premier. Mais tout le reste devrait fonctionner parfaitement si notre code fonctionne correctement. Allons de l'avant et jouons et voyons si c'est le cas. Nous pouvons voir que nous avons un triangle qui fraie là-bas et un autre là , qui est parfait exactement ce que nous voulions. Ces triangles sont un peu rigides. Je ne sais pas si vous pouvez le dire. Et nous pouvons teindre et recommencer. Vous rencontrerez peut-être quelques problèmes ici parce que nous n'avons pas terminé la boucle de jeu, mais nous y arriverons dans la prochaine moitié de cet épisode. Avant d'en arriver là, je veux d'abord m'assurer que nos positions des triangles sont un peu meilleures. Allons donc ici et faisons glisser un triangle. Nous pouvons le tester. Passons à la position 1 et copions le triangle de position et collons la position. Vous pouvez voir qu'il est téléchargé, donc nous allons passer à la hausse, trouver la nouvelle valeur Y. Nous voulons un 4.07 et nous allons ajouter cela à ma position 1.074 et à ma position de 4.5 à sept. Maintenant, vous n'avez pas besoin de faire cette procédure avec une copie et je faisais juste quelques tests, mais oui, si nous l'exécutons maintenant, cela devrait parfaitement fonctionner. Elle est née en triangle est exactement là où nous voulons qu'ils le fassent. Nous pouvons voir où il y en a quelques-uns au début, mais à partir de maintenant, le triangle pointé de Rios exactement ce que nous voulions et nous mourrons. C'est le même problème qu'avant. Maintenant, la raison pour laquelle ce problème se produit, c'est parce que si vous y pensez tout le temps avec des liquides de frai, mais lorsque nous revenons au début où ces frayères coulent, mais il n'y a rien sur lequel nous pourrions atterrir. Et c'est pourquoi je n'en avais pas fini avec le premier scénario. Je dois également supprimer ce script du sol parce que je ne veux jamais détruire le premier étage. Je veux le détruire en tombe et c'est pareil avec le deuxième étage. Maintenant, au deuxième étage, je peux garder cette invite de script de générateur de triangle car je voulais m'assurer que je peux créer des triangles à partir d'ici. Je vais supprimer ce script complet. Mais avant de le faire, je vais m'assurer déballer ce préfabriqué aussi. Sinon, je vais avoir exactement le même problème que celui que j'ai fait avec le premier. Il a donc supprimé ce script complet et passe ici et déplacez le même script complet. Maintenant, si nous frappons le jeu, nous devrions travailler très bien. Si nous mourons, nous pourrons revenir à l'endroit où nous avons commencé et continuer à faire des cuillères et des choses. De toute évidence, il y en a quelques-uns ici qui sont déjà là de ce genre de frai sur les autres, mais l'essentiel est là. La dernière chose que nous devons faire est de nous assurer que ces anciennes sont effacées pour que nous sachions que nous éliminons toutes les anciennes afin que nous n'ayons pas de double spore et au-dessus de chacune d'elles. autres. Et la façon dont nous allons le faire, c'est en les ordonnant. Nous allons donc créer un nouvel objet et nous allons appeler ça des lueurs apparues. Donc je vais aller de l'avant et m' assurer d'avoir l'objet de la cuillère. Et puis je vais ajouter ceci comme référence à mon script de création de carte dans mon lecteur pour que je puisse m' assurer que je stocke tous mes défauts dans ce script de flux osseux sur le Hoegaarden 000 comme nous l'avons fait avec l'environnement, avec notre sol et nos antécédents sur notre sol. Je vais faire la même chose avec une cuillerée. Qu'une fois que je meurs, je peux effacer ce point et m'assurer que toutes les anciennes règles soient supprimées. Je vais le faire en ouvrant mon script de création de carte. Et ici, je suis en train de définir le transfert et l'opposition, mais je veux aussi définir l'objet parent, qui signifie que je veux définir l'objet, cet objet que je divise maintenant est aussi un enfant. Cela peut ne pas paraître important, mais comme je viens de le dire précédemment, nous l'utiliserons comme espace de stockage. n'est pas pour cela qu'il garde une trace de l'emplacement ou quoi que ce soit du genre. Alors, allez ici et réglez le flux, la paix. Transformation de points, parents de points. Et on pourrait juste dire la transformation des points, mais les parents équivaut à chose, mais elle semble penser que c'est une vieille façon de le faire. C'est donc la meilleure façon de ne pas connaître le support ouvert. Et maintenant, nous devons définir quelque chose ici, mais nous n'avons pas de référence à ce que nous voulons stocker ces actifs. Allons-y ici. Publique. Les électrons forment ce stockage. Ensuite, nous allons aller ici et taper du stockage là-dedans. Et nous n'avons pas besoin de dire le point parent ou cette position ou quoi que ce soit de ce genre. Cela sait exactement ce que nous voulons faire. Nous avons donc notre variable de stockage de transformation et nous faisons le point set parent, ce qui est fondamentalement une façon chic de dire tout mettre à l'intérieur. La dernière chose que nous devons faire maintenant est d'aller de l'avant et de le faire glisser dans le stockage. Et si nous le faisons, nous devrions maintenant voir que chaque fois que nous instancions un flux, il est mis à l'intérieur de cette cuillère. Ce qui est vraiment, vraiment cool parce qu'alors, si nous mourons, je veux dire qu'il n'y a plus de choses qui se passent maintenant, qui n'est pas un point supplémentaire à propos de si nous mourons, ce que nous pouvons faire si nous le tirons dans le jeu maintenant, nous pouvons entrer dans et nous pouvons supprimer tous ces vieux flux dont nous n'avons pas besoin, ce qui est vraiment cool. De toute évidence, nous n'avons pas encore tout à fait organisé les triangles, donc nous nous assurerons de le faire plus tard dans une seconde, d'utiliser exactement la même méthode. Mais maintenant, si vous allez comme ça, nous pouvons voir que les planchers sont engendrés exactement de la même manière qu'un flux normal en double est stocké, ce qui est super cool. Maintenant, je suis sûr que vous avez remarqué les triangles que nous voyons seuls. Donc, résolvons rapidement ce problème. Si nous entrons dans les actifs et que nous allons à notre flux, nous pouvons voir que les triangles sont nés de ces scripts d' apparition de triangle. Allons donc écrire des triangles nés et ensuite faire exactement la même ligne de code que nous venons de faire ici. La transformation de démarrage de disquette définit Terran, sauf que cette fois, nous voulons le définir à nous-mêmes. Allons ici et nous allons taper triangle, annuaires téléphoniques France sont parents. Et puis je vais simplement taper transformation avec une équipe minuscule, qui signifie la transformation ou n'importe où où est exécuté ce script parce que ce sera le plancher. Copiez ça et posez-le ici. Parfait, ça devrait parfaitement fonctionner si je lance mon jeu maintenant, on peut voir que tous les triangles apparaissent à l'intérieur des flux ici. Position 1, position deux. Et si nous allons ici, triangles bas sont à l'intérieur d'eux, qui est exactement ce que je veux. La dernière partie de ce code de nettoyage que je veux faire est que je veux m' assurer que mes triangles et tout le reste sont supprimés une fois que je meurs. Ça va être un peu plus compliqué. Je vais donc consulter mon script State Manager et nous pouvons voir que nous avons cette procédure de teinture, mais je voulais en avoir besoin à partir d'ici parce que ça va être un peu déroutant. Donc, au lieu de cela, je veux aller à mon script de création de carte et le faire à partir de là. Est-ce que cela donne un peu plus de sens à l'enregistrement de script que nous pourrions faire ? Cela ne fait aucune différence car l'énoncé de script est sur le joueur , tout comme les cartes Warner. Mais pour des raisons d'intérêt, je pense que ce sera plus facile si je le faisais à partir d'ici, donc c'est moins déroutant à l'avenir. La première chose que je vais faire, c'est que je vais faire une nouvelle procédure et ensuite nous appellerons cela nul public. Et je vais appeler ça un stockage clair. Ensuite, la sexualité est plus facile parce que je peux aller entreposer ou ici j'ai mon rangement senti comme aucun stockage. Je peux vider chaque enfant de l'entreposage. Et comme je vais le faire, je vais aller chercher un enfant. Ensuite, je vais vouloir amener l'enfant à la première, deuxième, troisième, quatrième ou cinquième. Si je tape 0, je reçois le premier enfant, premier pour avoir un deuxième enfant, mais je veux avoir tous les deux. Et nous allons le faire en utilisant une boucle for. Je vais donc y aller alors je vais vouloir appeler une nouvelle variable. Et je n'ai pas encore de variable, alors faisons une variable locale int x , puis je vais dire plein. Et si vous vous souvenez de la syntaxe de la boucle for , cela devrait être logique. Je vais le revoir parce que je suis sûr que beaucoup d'entre vous l'ont oublié parce que c'était plus haut en 15 épisodes. Je ne sais pas. Quatre x équivaut à 0. Cela signifie que je veux avoir le premier enfant et je vais moins que maintenant. Je veux le faire pour autant d'enfants que le stockage a le stockage alligators, le nombre d'enfants à point. Ça va me donner des chiffres si c'est un, ce code va toujours s' exécuter une fois parce qu'il est 0, c' est moins que le nombre d'enfants parce qu'il va s' exécuter une fois et ensuite il va en être un. car je vais l'augmenter à la fin. Je vais avoir X plus plus. Maintenant, rappelez-vous avec des boucles for-et trompez beaucoup de gens c'est qu'ils séparent les paramètres à l'aide de virgules. Ils disent donc x moins que 0 virgule x plus, mais nous utilisons en fait des points-virgules. Assurez-vous donc que x est égal 0 espace point-virgule que x inférieur à l'espace point-virgule Child Count X plus plus. Et rappelez-vous simplement que c'est une erreur que beaucoup de gens font. C'est en fait tout ce dont nous aurions besoin pour détruire chacun de ces objets enfants parce que nous pouvons opter pour x moins que le nombre de stockage X augmente. Donc, si nous avons deux enfants, ce sera 0 augmentation de 11. Et puis parce que c' est aussi bien moins que des raccourcis. Donc essentiellement dans le travail que j'ai mis x ici, point de stockage a eu l'enfant x et on va aller de l'avant et détruire ça. Nous allons taper le point de stockage de support ouvert de paille obtenir l'objet enfant. Et si tout fonctionne, chaque fois que nous appelons cet état, nous devrions effacer chacun des objets. Nous allons vraiment vouloir appeler cela dès que nous répondrons. Parce que si nous réfléchissons au moment où nous appelons si nous mourrons, nous allons tomber par terre. Par conséquent, dans le recadre, la dernière chose que nous devons faire est créer un lien vers les formulaires de correspondance. On va donc naître des cartes de la République, appelle-ça des maths. Et nous allons entrer ici pour répondre et nous allons passer au point de maths Clear Storage. Avant de revenir dans Unity, nous devons d'abord nous assurer que nous détruisons l'objet du jeu, non la transformation, car nous pouvons voir ce code ici. Il est dit que le point de stockage devient enfant, mais cela va nous rendre une transformation. Pour résoudre ce problème, nous allons simplement à l'enfant point GameObject. Et cela va faire référence à l'objet du jeu, pas au composant Transform. Sachez simplement que si nous disons que le chien a un enfant, cela renvoie le mauvais genre de chose, qui renvoie un enfant transférant. Il ne retourne pas l'enfant réel. Ici, nous obtenons l'objet de jeu, qui est l'objet enfant réel. Nous voulons détruire la communauté backend. Je dois juste faire glisser cette carte vers le haut sur la variable de carte stockée dans le lecteur pour m'assurer qu'elle est liée. Et puis, si j'y vais et que je frappe Play, je devrais voir que cette cuillère coule est lentement peuplée de différents étages. Voyez qu'il y en a deux et si je meurs, ils devraient tous être nettoyés, ce qui est vraiment génial parce que cela signifie que cela fonctionne exactement comme nous le voulions. n'y a plus de flux en double, ce qui est vraiment cool. Si vous avez remarqué quelques petites zones, nouveau jeu, par exemple, j'ai remarqué que parfois je ne peux pas sauter au troisième étage ou par la suite. C'est tout à fait très bien. Nous allons aborder ces questions dans le prochain épisode, tous les épisodes suivants. Par exemple, nous n'avons jamais vraiment contrôlé si nous pouvions ou ne pouvons pas sauter alors que nous ne voulions évidemment pas que ce soit vrai parce ce n'était pas une partie très importante de notre jeu pour le moment. Nous allons évidemment régler tous ces problèmes plus tard. Lorsque vous aurez terminé ce cours, vous aurez un jeu sans bugs. Si votre nouveau jeu test maintenant et que peu de choses sont un peu mal, ne vous inquiétez pas, elles seront toutes réglées. Et si vous avez un script d'apparition de flux, vous avez bien fait. Maintenant, si vous suivez et que votre code fonctionne comme le mien, la dernière chose que nous devons faire est d'ajouter un peu de variété à notre carte, et nous le ferons plus tard dans le cours. De toute évidence, comme je l'ai dit, il y a encore quelques domaines à régler. Quelques choses peuvent s'améliorer, mais notre boucle de jeu de base a été créée. Il y a également quelques changements d'équilibrage que je souhaite aborder. Je ne pense pas que ce soit toujours possible de sauter des deux. Nous allons donc plus tard dans les épisodes augmenter la gravité et augmenter le saut faux et des choses comme ça pour ceux qui sont du jeu. Mais si tout fonctionne et que vous avez un jeu semi-fonctionnel que vous pouvez créer et réessayer plusieurs fois, vous voulez un excellent travail. Vous l'avez fait de façon étonnante, et je vous verrai dans la vidéo suivante. Je vais bouger notre jeu va se faire plus tôt que vous ne le pensez. Bon yaourt autour. 14. Améliorations mineures: Salut, et bienvenue à nouveau dans l'unité. Maintenant, au cours des dix derniers épisodes nous avons créé ce jeu assez nu, mais en fait assez impressionnant avec ce jeu mobile, le premier ou l'un des premiers jeux mobiles vous avez créés. excellent travail. C'est vraiment fou de penser à quel point vous avez accompli. Vous avez créé un jeu mobile à partir de zéro en utilisant votre propre code et vous pouvez générer une carte. Vous pouvez sauter par-dessus les obstacles, vous pouvez répondre, sauter, bouger. C'est vraiment génial, bon travail, tout le monde, vous avez fait de l'incroyable. Cela dit, il y a quelques problèmes avec notre jeu mobile dans son état actuel. Et vous les avez peut-être remarqué lorsque vous jouez au test dans votre propre build. Et il n'y a que quelques bugs. Et la plupart de ces bogues sont en fait des erreurs logiques qui se sont produites. Nous avons fait quelque chose d'un coup, puis nous l'avons changé , puis cela a créé une petite erreur logique. Et ce ne sont pas les bugs les plus faciles à remarquer. Mais si vous comprenez ce que fais constamment une fois que je les ai expliqués, ils auront beaucoup de sens, alors je m'y plonge directement. Le premier bug que vous avez peut-être remarqué, si vous cliquez sur Play, si je glisse, vous n'avez pas besoin d' appuyer sur saut pour glisser le long, mais si vous faites cela, vous ne pouvez pas sauter sur espace présent. Je ne saute pas. Ce n'est pas un problème avec ma barre d'espace. Ce n'est pas un problème avec quoi que ce soit de mauvais. C'est en fait un problème avec cette variable mise à la terre. Vous pouvez voir ici, si je joue, je verrai que le terrain est vrai. Et quand je laisserai ça faux et que je suis allé à nouveau, et cetera, vrai de jour à jour, je vais prendre un risque large. Maintenant, si je vais comme ça, ça met le faux et on ne peut pas sauter. Et la raison en est que notre sol la variable est basée sur le fait que nous entrons ou sortons d'une collision. Donc, si vous pensez à glisser, nous allons le long, nous allons, allons, nous entrons dans une nouvelle collision ici, puis nous en sortons une. Mais parce que nous sortons par la suite, cela va passer outre et dire, d'accord, nous sommes sur le sol animal. C'est une chose très, très simple à résoudre. Tout ce que nous devons faire, c'est que nous devons modifier légèrement le nom de nos procédures afin de ne pas le faire chaque fois que nous entrons dans une collision, nous voulons nous assurer que nous sommes au sol. Quand on est toujours en collision, on va le faire très facilement. Nous allons ouvrir le mouvement, vous allez le script de mouvement. Et vous allez vouloir changer cela en cas de collision, entrez deux en collision, restez allumé. L'état de collision est pratiquement la même chose. Il fait tout aussi froid. Chaque cadre que nous sommes sur le terrain, chaque cadre est un déjeuner autour du sol veillera à ce que nous disons au jeu que nous sommes ancrés, c'est toujours AY. Et il suffit de remplacer Entrée par séjour. Donc, en cas de collision, restez 2D. Parfait. Maintenant, si nous continuons à cliquer à nouveau sur Lecture, nous devrions voir que tout devrait bien fonctionner. Nous pouvons maintenant sauter, ce qui est génial. Maintenant, la deuxième chose que je veux aborder est l'UCI que je fais en ce moment, mais je trouve que parfois quand il y a des pics, il est assez difficile de sauter par-dessus les deux. Et c'est à cause de la balance dégoûtante et la vitesse sera payante. Ce n'est pas un bug, c'est juste un problème d'équilibrage. Je vais donc y aller de l'avant et régler ça maintenant. Je vais aller voir mon joueur. Je vais vraiment faire trois niveaux de gravité, donc c'est un peu plus facile à contrôler. Ensuite, pour compenser que je vais augmenter ma force de saut, mais pas trop automatiser mon saut 13. En fait, j'ai testé cela et j'ai trouvé que c'était le moyen le plus efficace de résoudre ce problème. Vous pouvez voir maintenant qu'il est beaucoup plus facile de contrôler quand je veux sauter parce que je le fais plus fréquemment. Et cela ne rend pas le jeu un peu plus difficile parfois, mais il est également beaucoup plus facile à contrôler, ce qui, dans mon esprit, est une très bonne chose. Je vous recommande d' y aller et de le faire parce que j'ai trouvé que c'était beaucoup mieux pour le gameplay. Une fois que vous avez fait cela, vous pouvez voir que je saute avec ces derniers avec une aisance absolue maintenant, ce qui est vraiment génial. Maintenant, l'autre chose que je voulais m'assurer que nous le faisons, c'est que je ne veux pas être capable sauter tout en continuant à bouger tant que nous sommes morts. C'est vraiment facile à lire, grâce à notre machine d'état. Si je vais de l'avant et que j'ai ouvert mon directeur d'État, vous verrez que tant que je mourrai, mon État est mort. La raison pour laquelle j'ai arrêté de bouger est parce que j' ai un script de mouvement ici qui dit si l' état du point du gestionnaire d'état est égal à simple mouvement, mais sinon je n'ai rien dit d'autre. Que se passe-t-il si je frappe cette chose, je ne surpasse plus la vitesse de mon corps rigide. Donc, j'ai juste une sorte de glissement. Je continue plutôt à cause de l' élan ou de l'inertie, mais je continue tout simplement. Je suis en train d'écrire une autre déclaration. Et aussi longtemps que je ne joue pas, je veux m'assurer que ma vitesse est toujours égale à 0. Rb. vélocité n'est pas égale, et je pourrais taper un nouveau vecteur deux zéros, mais je vais juste taper le vecteur deux points 0, et c'est exactement la même chose. C'est simplement une façon plus simple de le dire. La théorie vacuolaire consiste essentiellement à s'assurer que tant que je ne joue pas, je suis mort en selles. Et c'est vraiment génial parce que cela signifie que nous allons vraiment remplacer notre code de mouvement pour remplacer notre code de mouvement que chaque image que nous sommes morts, nous n'allons pas seulement aller de l'avant, Nous allons arrêter les morts en place sur l'axe X. Et nous allons régler votre vélocité à 0. Nous pouvons donc voir ici que nous nous arrêtons, ce qui est vraiment génial. Le problème, c'est parce que nous sommes assis sur la vélocité 0, chaque image qui n'arrivera pas vraiment tant que nous ne bougerons pas tout. La gravité de l'unité glissera lentement comme ça. Vous pouvez voir là-bas, je suis toujours en train de descendre. C'est un peu un problème. Mais je peux résoudre ce problème très facilement en disant simplement que l' échelle de gravité des points RB est égale à 0. Vous pourriez penser que c'est tout ce qui est vendu. Mais n'oubliez pas de remettre cela à ce que nous voulions dès que vous jouez à nouveau. Nous allons le faire en allant ici pour réclamer et en réglant notre échelle de gravité à trois. Tant qu'ils jouent des échelles, ou est-ce trois ? Et lorsque ce n'est pas le cas, notre échelle de gravité est toujours réglée sur 0. J'y vais et j'ouvre encore une fois mon jeu. Nous pouvons voir que je vais très bien. Et si je meurs, comme Monsieur, je me suis arrêté, puis je reviens à mon échelle de conduite, ce qui est vraiment, vraiment cool car je vais illustrer à quoi cela ressemble quand nous mourrons beaucoup mieux à mon avis. Maintenant, la troisième et dernière chose ou commentaire si c'est le cas, pour ce point. Mais une autre chose que je voulais aborder dans cet absolu, je veux que vous les réduisiez légèrement parce que je pense qu'ils sont un peu trop longs. Je vais donc faire ces 2,8. Je vais juste changer les deux individuellement parce que je les déballais du préfabriqué, afin qu'ils ne soient plus liés à ce préfabriqué. Il suffit d'entrer dans le préfabriqué et de taper 2.8 ici. Et cela devrait vraiment arranger tout le reste pour vous, ce qui est vraiment cool. Maintenant, nous avons un peu plus de saut et nous devons les traverser, ce qui est beaucoup mieux. C'est comme si c'était de petites îles. Maintenant, cela nous amène à la deuxième chose que je veux changer dans cet épisode, et c'est la friction. Vous verrez si je vais comme ça et que je tombe, je ne sais pas si je serai trop lourd, mais oui, parfait. Je vais rester ici. Et ce n'est pas génial. Et la raison pour laquelle cela se produit c'est à cause de mes frictions. Maintenant, je vais placer le frottement est réglé sur le réglage de frottement par défaut. Comme il est réglé sur le paramètre de frottement par défaut, je continue essentiellement à me déplacer vers la droite. J'essaie de savoir, mais je suis en peluche. Par conséquent, je suis juste en train de rester en place. Donc, pour y remédier, je vais créer un nouveau matériel physique. Je vais le faire en cliquant avec le bouton droit de la souris sur créer en 2D puis sur le matériel physique aujourd'hui. Et je vais appeler cette couche. Et tout ce que je vais faire, c'est que je vais régler deux zéros à cette friction. Ensuite, j'irai voir mon joueur et je le traînerai dans mon corps rigide. Vous pouvez voir ce qui se passe maintenant, c'est que je ne devrais plus rester là. Je devrais faire glisser l'écriture vers le bas, ce qui est parfait. C'est exactement ce que je voulais arriver. Maintenant, nous changeons pas mal de choses, mais il y a une dernière chose que je veux m' assurer que nous abordons dans cet épisode, c'est un moyen plus optimisé de corriger une chose. Plus tôt. Plus tôt, ici, nous avons changé notre échelle de gravité RV TO, mais nous l'avons fait à chaque trame. Ce n'est vraiment pas génial, car cela signifie que nous surmontons quelqu'un qui se passe déjà. Ce n'est pas bon pour la performance. Au lieu de cela, ce que je veux faire, c'est que je veux faire une procédure qui va le faire pour moi. Et je vais le faire avec un nouveau concept appelé paramètres. Je vais entrer ici et je vais créer un vide public, appeler ça réinitialiser la gravité. Je vais aller ici. Je vais mettre une balance de gravité pour chien RB ici. Supprimez celui-ci là-bas. Maintenant, je vais vouloir appeler ça chaque fois que je change d'état. Donc, si je vais voir mon directeur d'État, je savais exactement quand mon état est mort et où joue mon État. La première chose que je vais faire est de faire un lien à partir de la déclaration I GO TO mouvement. J'ai déjà un lien dans l'autre sens, mais je veux faire un lien de cette façon c'est Algoma Public Movement, et je l'appellerai bouger. Ensuite, ce que je vais vouloir faire, je vais appeler cette procédure à la fois lorsque je meurs et que je déplace la gravité réinitialisée. Et ici, déplacez la gravité de réinitialisation des points. Mais je vais vouloir le régler deux choses différentes, je veux le définir à 0, et ici je veux le définir à trois. Et de la façon dont nous allons le faire, vous pourriez écrire deux procédures, mais une meilleure façon de le faire consiste simplement à utiliser des paramètres. Je vais donc passer ici jusqu'à ma récente gravité et je vais entrer dans ces deux crochets et je vais taper int x. Eh bien, en fait ça va dire, d'accord, quand Je suis allé appeler cette procédure, j'ai entré une valeur pour ce paramètre. C'est un peu comme une valeur d'entrée. Vous pouvez voir ici, il est dit qu'il n'y a aucun argument donnant les correspondances à la fière formelle requise de x. Si je double-clique dessus, je peux voir où se trouve l'air. C'est par ici. Je ne dis pas ce que je voulais mettre x ici, entrez la valeur 0 ici et la valeur trois là. Tout va bien. J'ai maintenant appelé cette procédure ici et donné à différentes valeurs ici, j'ai réglé sur 0 et ici j'ai dit les trois. Il ne me reste plus qu'à revenir en mouvement. Et dans ma gravité réinitialisée, j'avais besoin de dire échelle de gravité albédo est égale à x. Maintenant, nous avons réalisé deux choses complètement différentes avec la même procédure en utilisant des paramètres. Maintenant, c'est un sujet complètement nouveau, mais je voulais le couvrir à un moment donné de cet épisode parce que j'ai pensé que ce serait utile plus tard au cas où nous besoin que ce soit comme une valeur d'entrée. On me donne donc le droit de vous dire quoi faire et de vous donner un peu d'informations pour le faire. Et cela nous permet de créer une meilleure façon de réinitialiser la gravité. Maintenant, tous ces attributs j'ai besoin de rouvrir Unity. Bien, mon joueur s'assure que j'ai traîné mon mouvement ici. Et si je vais de l'avant et que je frappe Play, nous pouvons voir maintenant que nous avons atteint exactement le même résultat avec une meilleure façon de le faire. Nous pouvons voir que nous nous arrêtons comme nous l'avions fait, et nous recommençons, ce qui est génial. Cela aurait donc pu sembler un épisode un peu bizarre, mais je voulais juste l'utiliser pour enseigner les paramètres constants et résoudre tous les petits problèmes. Et je pense que vous découvrirez cet épisode, vous allez jouer est beaucoup plus agréable à jouer. Félicitations, vous avez terminé le module de base de ce cours, créant un jeu mobile. Nous avons créé un jeu mobile où vous pouvez y jouer. Ayez une boucle de jeu. Vous pouvez, quand vous pouvez perdre. Mais il y a beaucoup d'autres choses à venir et maintenant on se lance dans les choses amusantes. Je suis sûr que vous avez remarqué que nous n'avons même pas encore bougé nos antécédents avec notre joueur. C'est un changement très simple. De toute évidence, je ne vais pas le faire maintenant. Professeur fort, à la fin de cet épisode. Mais dans le prochain épisode et les prochains épisodes à venir, nous allons commencer à nous préparer avec toutes les choses vraiment amusantes que nous allons ajouter dans notre système scolaire. Nous allons ajouter des améliorations visuelles, audio, musique, tout ce qui fait vraiment pop un jeu mobile arrive dans la seconde moitié de ce cours. Mais à la fin de cet épisode, vous auriez dû finir la partie de base de votre jeu, ce qui est vraiment, vraiment cool. Super travail, tout le monde. Incroyable. Et si vous êtes des jeux mobiles qui fonctionnent comme le mien est un travail incroyable comme toujours, je vais bien sûr lier tous mes scripts dans la description ou ressources plutôt pour que vous puissiez les lier. Et bon travail. Une fois que vous avez terminé cet épisode, vous êtes à peu près à mi-chemin. La partie difficile de ce cours est en fait maintenant la posture et nous sommes en train de se lancer dans les choses amusantes. Super travail, tout le monde. Je vous verrai dans la vidéo suivante. 15. Scoring: Salut, et bienvenue à Unity. Notre dernier épisode, nous avons dit que notre jeu ou les concepts fondamentaux sont presque terminés et c'est vrai. Mais il existe plusieurs façons d' améliorer notre jeu pour le rendre encore meilleur. De toute évidence, ce n'est même pas encore un jeu mobile parce que nous ne l'avons pas fait pour avancer. Mais nous allons changer toutes ces parties sympas amusantes du développement de jeux mobiles. De toute évidence, les parties précédentes ont été amusantes, mais ce sont mes idées, toutes les meilleures parties du développement de jeux mobiles. C'est le truc vraiment créatif que vous pouvez ajouter dans la conception sonore, améliorer votre jeu, comme vous le souhaitez, tous les trucs vraiment amusants. Tout cela va donc se situer dans la seconde moitié de ce cours. Et cela va commencer aujourd'hui avec notre système scolaire. Avant d'ajouter à notre système scolaire, je veux d'abord m' assurer que notre jeu, nous pouvons apporter quelques améliorations mineures. À partir de là, je vais faire glisser l'arrière-plan sous la caméra principale afin de l' avoir comme objet enfant. Et ce que cela peut faire, c'est de s'assurer que notre caméra principale est toujours suivie d'un objet enfant. Si nous allons à notre jeu ici et que nous cliquons sur Jouer, nous pouvons le voir en action. Nous sommes maintenant suivis de l'arrière-plan, ce qui est vraiment cool, vraiment simple pour y remédier. Maintenant, le deuxième changement que je veux faire, c'est que je veux aller dans mes antécédents. Et je veux aller de l'avant et je vais ajouter Component Edge collider 2D. Et puis je peux voir mon nuage Edge ici. En fait, c'est presque Salut, je voulais juste le faire glisser vers le bas. Donc je vais aller décaler, le faire glisser vers le bas moins 1,9 ou moins deux, si vous voulez. Il s'agit essentiellement d'un mur de la mort, de sorte que si un joueur traverse ces lacunes, il meurt. Ils ne tombent pas seulement dans l'abîme. Je vais marquer ça comme un obstacle et je vais m'assurer de se déclencher et je resterai la machine qui va vraiment s' occuper de tous les restaurants. Si on touche Play. Nous pouvons voir maintenant, si je tombe par ici et que j'ai un téléphone pour le Gap, je meurs en fait et je reviens au début, ce qui est vraiment cool. Ce sont là quelques choses mineures que je voulais faire. Mais évidemment, le principal point de cet épisode sera l'ajout d'un système de notation. Allons donc directement là-dessus. Avant cela, nous devons créer des composants Unity UI. Donc, vous n'aurez évidemment jamais fait cela auparavant. Nous allons donc accéder au Gestionnaire de paquets Windows. Nous avons besoin de bien ici à ce menu Unity Registry si vous pouvez y être par défaut. Cliquez ici, puis accédez au texte Mesh Pro et cliquez sur Installer. Maintenant, il s'agit essentiellement de la solution Unity deux objets texte. C'est un outil très puissant et facile à utiliser ici. Et c'est à peu près la valeur par défaut qu'ils veulent que vous utilisiez. Si vous ne l'utilisez pas, c'est ce qui est considéré comme un héritage ou une version plus ancienne. Nous allons donc vouloir utiliser cela. Ensuite, nous allons cliquer avec le bouton droit ici, nous pouvons accéder au texte de l' interface utilisateur, au texte Mesh Pro. Cela va créer ça et ça va apparaître dans cette fenêtre. Cliquez sur Importer, TMP Essentials. Vous n'avez pas besoin d' ajouter les extras. Et ensuite, si nous défilons vers le haut, nous pouvons voir notre texte là-bas. Je n'ai pas aimé cette toile. Ce canevas sert essentiellement d'espace de stockage pour tous nos composants d'interface utilisateur. Et c'est le texte. Si nous le déplaçons hors de la toile, nous ne pouvons plus le voir. Alors assurez-vous de le garder là-dedans. Renommez votre canevas en UI ceci, ce que je vous aime, vous n'êtes pas obligé de le faire. Et nous allons renommer nos textes en marquant. Ensuite, nous allons passer à notre interface utilisateur et nous allons changer ce mode aléatoire de superposition d'espace écran à caméra spatiale, puis faire glisser notre Cameron, c'est mon mode aléatoire préféré. Vous pouvez le conserver si vous le souhaitez, mais je vous recommande de le changer. Et ensuite, nous allons aller de l'avant et faire passer notre score à peu près là. Maintenant, cela a l'air bien, mais parfois l'unité a quelques bugs où si vous sortez et revenez, elle est en fait déplacée pour vous assurer faire et ensuite la déplacer. C'est vraiment la bonne position. Maintenant, je vais prouver que ce couvercle sur un changement à la taille de police 75 est un peu plus grand. Je veux le rendre audacieux, et je vais aller de l'avant et le rendre beaucoup plus grand pour que nous puissions stocker ça là-bas. Et je vais le traîner jusqu'ici. Cela va servir de score. Si je tape un magasin et que je rentre dans une école imaginaire, nous pouvons voir ici à quoi cela ressemble dans un jeu. Je pense que c'est assez joli. Nous pouvons le déplacer un peu vers la droite, et c'est très bien. Nous devons maintenant commencer à coder la logique réelle quant à la façon dont cela va fonctionner. Nous allons donc créer un nouvel objet et nous allons appeler ce score profit. Ensuite, je vais entrer dans le scénario. Je vais faire un clic droit sur créer un script C-sharp. Nanocoulomb n'est qu'une école. Maintenant, ce script va essentiellement dire à ce texte ce qu'il doit afficher. Et nous allons déterminer le score du joueur fonction de la distance qu'il se trouve de la piste scolaire que vous voyez là-bas. Bougez, mais ce n' est pas ça. Mais si nous ajoutons de la beauté de la gouache, ce tracker de score nous voulons positionner au point de départ. Je vais aller ici et je vais mettre moins 8,52 ça dans la prochaine étape et ensuite le faire baisser. La valeur Y n'a pas vraiment d'importance. Il s'agit essentiellement d'un acte camion et de voir jusqu'où le joueur s' en est éloigné ou jusqu'où la phase a déplacé notre distance, c' est-à-dire notre école. Alors allez-y et assurez-vous que c'est moins 8,52 ou où que vous soyez placé sur une plante, veillez à copier cela. Ensuite, allez ici et faites glisser votre script de partition dessus, puis ouvrez-le directement vers le haut. Maintenant, une fois que c'est ouvert, allez en haut et nous allons importer certaines choses. Nous allons utiliser d'autres choses que collections système et la saisie de moteurs génériques et murales à l'aide de l'interface utilisateur de points du moteur Unity , puis de taper également en utilisant le produit TM, c' est-à-dire le texte Mac Pro. Cela va nous permettre d'annuler le script comme nous le voulons sans être confus. Ensuite, nous allons créer une transformation publique. Et nous allons appeler ça un joueur. En dessous de cela, nous allons créer un int public et extraire cette école et un texte public Mesh proof. Nous allons appeler ce texte ou plutôt le texte intégral n'est pas un meilleur nom. Ensuite, nous allons passer à notre procédure de mise à jour et nous allons taper le score égal. Et maintenant, nous allons vouloir soustraire la transformation et la transformation de l'endroit, mais cela va nous donner un flot. Donc, avant d'écrire, nous allons écrire un point F mathématique autour de int. Et cela va essentiellement nous assurer que nous pouvons arrondir la valeur flottante à un pouce. Et ensuite, on va juste y aller. Le point du joueur a transformé l'opposition de X moins notre proposition de transformation que x. Et cela va arranger notre score à chaque image, cadre pour nous, ce qui est vraiment cool. Ensuite, je vais descendre ici et je vais faire défiler le texte. Maintenant, je veux stocker ce que ce score est dans cette chose. Je vais donc aller à l'école , le point txt est égal, et maintenant je vais mettre ma valeur scolaire, mais je ne veux pas normalement parler de force, ce qui signifie que je le convertis à ce qui signifie que je le convertis partir d'un entier vers une chaîne. Cette petite quantité de code va en fait nous donner une école, mais nous voulons en ajouter un peu plus. Nous voulons nous assurer d'ajouter un score entre guillemets. Assurez-vous de le mettre entre guillemets, un deux-points, puis un espace, et c'est que nous allons mettre un plus. Donc, les guillemets marquent l'espace avec un codon plus et ensuite l'école. Et ça va faire en sorte que ça soit beaucoup plus beau. Il ne va pas seulement nous donner un chiffre, il va nous donner un score et un deux-points, comme nous l'avons fait ici et le modifier. Avant de revenir à Unity, j'ai réalisé que nous utilisions la seule chose ici, les femmes pour utiliser un texte Mesh Pro, votre interface graphique. Assurez-vous simplement de changer cela. C'est juste une chose mineure que j'ai oublié d'ajouter et qui va faire une note émise. Tout ce qui va simplement poser problème à votre code. Ensuite, ouvrez Unity et vous devriez voir la trace de votre école ici. Assurez-vous de faire glisser votre jeu dans la transformation et votre partition dans l'équipe Mesh de texte. Vous, bouée. Et là-bas, vous pouvez voir cette étape de glitch cliquez à nouveau, elle se réinitialisera. Maintenant, si nous sommes en fuite, cela devrait vraiment tout faire pour nous. Nous pouvons voir comment l'école commence à 0 et elle augmente exactement comme 12 si nous sommes morts. C'est donc le retour à 0. Et c'est vraiment, vraiment cool. La dernière chose que nous devons faire est de nous assurer d'avoir un lycée. La façon dont nous allons le faire, c'est que nous allons faire une variable de plus. On va aller au lycée public. Ensuite, nous allons juste avoir une nouvelle procédure. Nous appelons cela leur vide public. On va dire que si le score est supérieur au lycée , au lycée, désolé pour ça. Ensuite, le lycée est égal à score. Cela permettra essentiellement de s' assurer que dès que nous mourrons, nous vérifions si nos écoles sont meilleures que notre école secondaire actuelle et si elle est à la recherche d'un nouveau lycée, nous Il faut toujours appeler cela depuis nos machines publiques. Nous allons aller voir State Manager et créer une référence à ce directeur d'école publique pour ce que nous venons d' attraper notre école, mais c'est un directeur d'école. Et puis, ici, sur le dé, on va dire qu'après cette réinitialisation de la gravité, on va dire Score point n qui va essentiellement exécuter cette procédure. Dès que nous mourrons, nous vérifions nos scores supérieurs à ceux d'un lycée. Évidemment, un lycée sera réglé à 0 au début. Donc, si nous revenons à u et d, nous avons juste besoin d'attribuer une valeur à notre référence ici. Donc, si nous allons voir notre joueur, nous pouvons voir que notre machine d'État n'est pas une science qui s' assure de traîner dans votre camion scolaire là-bas. Nous pouvons donc stocker notre truc. Et si vous cliquez sur Play, nous devrions avoir un système de lycée entièrement fonctionnel. Si vous allez ici pour suivre l'école, voyez comment le lycée 0 et notre score est de 14. Si nous mourons, notre lycée, et cetera, 18 ans. Et ensuite, si nous mourons avant d'atteindre 18 ans, il ne se réinitialise pas, ce qui est vraiment cool. La dernière chose que nous allons faire est de faire une copie du texte de la partition pour le faire glisser vers le bas. Et nous allons appeler ce lycée. Cliquez ici. Assurez-vous de changer ce score par un score élevé. Ensuite, nous allons juste avoir ça juste en dessous. Je veux le rendre légèrement plus petit pour qu'il soit moins important. Je pense que ça me paraît bien. Et puis peut-être un peu plus bas. Et ensuite, ici, si c'est plus grand, nous allons simplement nous assurer de définir notre nouvelle sonde Mesh textuelle publique. Vous mangez vraiment. On va faire un lycée comme chaleur. Nous allons juste faire un commentaire comme nous l'avons fait dernière fois, un texte du lycée. Ensuite, ici, nous allons dire que texte de points du lycée est égal à point de l'école secondaire à chaîne, puis entre parenthèses. Il s'agit essentiellement de nous assurer que nous affichons ce qu' est notre lycée chaque fois que nous devrions nous assurer d'attribuer ce lycée. Donc une fois que ça se charge de nouveau, j'ai mis ce lycée, je vais renommer le mien trop au lycée, donc je sais exactement ce que c'est. Cela devrait parfaitement fonctionner. Nous avons encore ce problème, mais c'est très bien. Retournez dans notre jeu. Et nous pouvons voir que notre lycée est 453 pour le moment parce que nous ne le surpassons pas. Si nous nous écrasons, il est réglé à 18. Et si nous allons plus loin que cela, nous pouvons voir qu'il est maintenant 27 ans, ce qui est vraiment cool. La dernière chose que nous devons faire est d'ajouter les mêmes textes que nous avions ici. Assurez-vous de le copier. Nous avons donc un score plus le lycée et ensuite nous allons changer cela en lycée. Alors tout devrait fonctionner parfaitement bien. Ce code court ici, nous allons faire tout notre lycée pour nous. Et avec ce petit appel de méthode du State Manager, que nous avons lié, tout fonctionnera parfaitement bien. Allez-y et ouvrez-le. Et si nous courons, nous pouvons voir nos lycées Carney pour trois parce que c'est l'entité que si vous faites ce lycée 18, continuez. Essayons de dépasser 18 ans cette fois. Seulement à 29 ans. Si je meurs, c'est 37 ans et ça sauve si je vais à 18 ans et que je fume va écraser, ce qui est vraiment, vraiment cool. Un autre grand pas vers la bonne direction pour un jeu mobile. Excellent travail, tout le monde, et je vous verrai dans la prochaine vidéo où nous allons couvrir les économies afin que notre lycée soit sauvé même avec la fermeture et le rechargement du jeu. Je vous verrai dans la prochaine étape. 16. Enregistrer: Salut et bienvenue à l'unité, ou dans ce cas Visual Studio. Maintenant, dans cet épisode assez court, nous allons simplement passer un système de sauvegarde rapide pour notre jeu pour commencer à ouvrir le script de l'école que vous avez créé, comme je l'ai fait maintenant. Maintenant, ici, nous pouvons voir le score est mathématique, F dot round end, transformation du point du joueur qui nous amène à l'école et nous pouvons nous faire attribuer notre texte de partition ici. Nous avons également créé cette variable de lycée, qui va essentiellement vérifier si nous avons un score élevé ou non, ce qui est vraiment, vraiment cool. Il est vraiment très simple de s'assurer que nous pouvons économiser en tant que lycée lorsque nous cuisinons le jeu et nous pourrons le récupérer une fois que nous l'avons chargé. Et c'est utiliser ce que l'on appelle les préfs du joueur. Maintenant, une unité, il a ce système intégré pour économiser et nous pouvons l'utiliser pour les jeux mobiles parce que bien qu'il se stocke localement sur l'appareil, personne ne pourra encoder ça parce que ça va être allumé. un téléphone, donc c'est génial. Par conséquent, ici, nous avons un système pour voir si notre score est supérieur à celui d'un lycée. dessous de cela, nous sommes essentiellement un lycée de déconnexion. Et c'est essentiellement dire, d'accord, vous avez un nouveau lycée. Et si nous avons un nouveau lycée, nous allons vouloir le sauver. Nous allons donc taper P majuscule, préfs du joueur, point, puis définir int. Maintenant, nous pouvons mettre tout ce que nous voulons appeler un entier entre ces crochets. Je vais donc nommer le mien. Le score va mettre une virgule , puis nous mettons la valeur que nous voulons mettre dans les écoles. Je vais taper au lycée. Si nous voyons que nous sauvons notre lycée dans le jeu de l'école approximative. Ensuite, ici, au sommet, nous allons dire une étoile nulle sous le personnel quand nous commencerons le match. En d'autres termes, lorsque nous arrêterons de jouer à nouveau, nous allons nous assurer d'obtenir cette variable entière et de définir le score le plus élevé afin que nous sachions ce qu'est notre lycée. Par ici. On va dire que les préfs du joueur, points et les obtenir, les crochets ouverts marquent. Cela va essentiellement renvoyer tout ce que nous avons mis à l'intérieur du score. Et je vais aller de l'avant et mettre le lycée à la hauteur. Ça va être vraiment cool. Mais il est maintenant au début de chaque match que nous avons dit au lycée partout où nous l'avons sauvegardé comme chaque fois que vous avez un lycée. En dessous de cela, je peux simplement dire un texte de lycée. Nous pouvons simplement copier cette ligne. En fait, faites-le glisser ici, texte du lycée. Et nous sommes maintenant en train de mettre le lycée au premier rang. Nous montrons ce que c'est avec ces trois lignes de code simples . Évidemment, nous pourrions aussi ajouter de l'argile ou peut-être des points à la fin. il ne fait pas grand-chose. D'après mon expérience, j'ai constaté que cela le sauve sans cela, mais si vous le voulez, vous pouvez le faire. Je ne sais pas. C'est peut-être quelque chose que je n'ai pas rencontré que ça sauve. Donc, peut-être le mettre là pour faire bonne mesure, mais ce n'est pas vraiment essentiel dans mon expérience. Puis avec ces quatre lignes de code, nous sommes partis, elle a créé notre propre système d'épargne. Nous économisons notre école secondaire chaque fois que nous en recevons un nouveau et que nous le lisons chaque fois que nous commençons le jeu, cela fonctionnera parfaitement. Dans le prochain épisode, nous allons faire toutes les améliorations visuelles. Et après cela, nous allons revenir toutes sortes d'autres choses maintenant, mais c'est vraiment bien d'avoir ce système d'épargne crucial installé dans un jeu de manière aussi simpliste. J'espère que vous avez apprécié cet épisode très court, et je vous verrai dans le prochain. 17. Améliorer les visuels: Salut, et bienvenue à nouveau dans l'unité. Dans cet épisode, ce sera l'une des choses les plus cool que nous allons ajouter à notre jeu mobile. Nous allons améliorer les visuels décuplés encore plus que cela. Je veux dire, si vous l'avez refait en ce moment , ça n'a pas l'air mal, mais ça n'a pas l'air très bien. Le problème avec notre jeu en ce moment, c'est qu'il est jaune sur bleu et vert, et nous avons du rouge. Ce n'est tout simplement pas une excellente palette de couleurs. Je vais juste garder ça jaune parce que je pense que les plaquettes sont jolies, mais je veux changer quelques choses. Je pourrais changer le temps des choses. Donc, pour commencer, je vais rendre le fond noir parce que je pense que ça aura l' air plutôt cool. Je vais donc aller de l'avant et faire glisser ça de droite en bas. Maintenant, nous avons un fond noir. Maintenant, la deuxième chose que je vais faire, c'est que je vais aller voir le joueur et je vais les rendre un peu plus brillants comme ça. Je pense que ça a l'air bien. Ensuite, je vais aller voir ces morceaux de flux et je vais en fait changer cette couleur en bleu. Je vais donc aller ici, laisser ouvrir les planchers et voir ces changements prendre effet. Je vais le faire comme un beau bleu clair là-bas. Je pense que c'est plutôt bien. Je vais copier cet hexadécimal. Je peux le mettre sur l'autre pour aller les planchers de décollage de l'environnement et ensuite le faire entrer. Je pense que c'est beaucoup mieux. Maintenant, la dernière fois que quelqu'un va au triangle et le rend légèrement plus rouge. On y va, ça a l'air bien. Maintenant, déclarez le jeu, je pense que c'est une très grande amélioration visuelle que nous pouvons voir. Maintenant, c'est beaucoup mieux. Il ressemble plus à un vrai jeu d'arcade, un vieux jeu d'arcade qu'à ce que nous avions auparavant, le jeu de couleurs bizarre. Mais en fait, nous pouvons améliorer la situation avec le post-traitement. Si vous n'en avez jamais entendu parler auparavant. post-traitement est essentiellement ces effets que nous pouvons ajouter visuellement à notre jeu pour le rendre meilleur. Je suis allé de l'avant et j'ai créé cet objet vide, je n'y ai encore rien ajouté. Assurez-vous simplement que si vous ne l' avez pas déjà fait, je peux juste supprimer le mien, vous montrer. Je vais créer un vide, et je vais appeler ça un post-traitement. En fait, c'est beaucoup mieux. Alors, centrons-le au milieu. Assurez-vous que tout est réglé sur 0. Ensuite, je vais aller dans mon gestionnaire de paquets Windows. Et je vais en fait ajouter ce paquet de post-traitement et cela va vous le permettre. Tout ce que je veux faire, c'est que je vais cliquer sur Installer. Et ça va prendre un certain temps. Une fois que vous aurez terminé de compiler des scripts dans tout, vous pourrez commencer à ajouter un jeu CIO post-traitement. Nous y allons donc, assez vite et je vais cliquer sur mon objet de post-traitement. Et je vais aller de l'avant et je vais cliquer sur un volume de post-traitement. Saisissez donc le volume post-traitement. C'est ici que nous allons réellement créer nos effets de post-traitement. Mais avant de le faire, nous devons ajouter un calque à la caméra, ce qui permet essentiellement procéder au post-traitement. Je vais donc passer en post-traitement des gamètes ici, couche post-traitée. Et ça va être génial. Nous allons aller ici et nous avons notre gâchette. Maintenant, la liste ne peut être définie sur rien. Donc, c'est essentiellement dire, d'accord, que nous avons un peu de post-traitement. Si nous nous installons ici, nous définissons ce que nous voulons pouvoir ajouter du post-traitement. Je vais donc régler la couche d'eau, sans autre raison que nous n' utiliserons pas la couche d'eau. C'est un peu comme une couche de rechange. Il faut l'arroser et laisser tout le reste pareil. Ensuite, je vais passer à mon post-traitement. Je vais changer cette couche ici en eau, ce qui est vraiment cool. Maintenant, je vais cocher cette case globale. Et je vais aller au profil et nous cliquerons sur nouveau. Cela va créer un profil de post-traitement pour nous. Et si nous voulons gagner, nous pourrons voir cela en action. Je vais aller ici sur l'immunité d'effet. Et je clique sur gluten. Et ce sera notre premier effet post-traitement. Si j'augmente l' intensité ici, vous pouvez voir ce qu'il fait. De toute évidence, c'est un peu beaucoup, mais c'est un peu l'effet général de la floraison. Il ajoute ce joli bleu. Vous pouvez voir que ça va faire des merveilles pour nos jeux. Je vais faire mon épanouissement. Peut-être que quelque chose comme je lie cinq est probablement une bonne chose, nous avons une bonne chose de néon qui se passe donc ça va. Je vais laisser ma gorge à un seul coup parce que je pense que c'est très bien. Et toutes les autres choses que je vais laisser comme le bœuf, je pense que ça a l' air plutôt bien. J'aurais pu, je veux changer la couleur en rouge évidemment. Et puis j'ai une fille rouge, jaune si l'une des barres jaunes et tout ce qui semble assez cool, mais aussi ajouter peut-être un vert ou un bleu si le bleu, mais je vais le laisser blanc. Et maintenant, je pourrais l'ajouter aux données bleues parce que, mais je verrai, je pense que le blanc semble bon financement pour décocher cette couleur. Maintenant, je vais ajouter mon deuxième de mes trois effets et je vais ajouter un effet net vague sur si je prononce bien, je vais passer ici à l'intensité. Je vais augmenter l'intensité à environ. Vous pouvez voir ce qu'il fait, c' est l'effet net naturel. Je vais faire du mien quelque chose comme 0,3. C'est donc un peu subtil, mais on peut le voir sur les bords. Si je faisais 0,5, ce sera un peu beaucoup, au moins 0,3. Je pense que c'est un bon point médian. Ensuite, le dernier facteur que je vais ajouter sera l'étalement des couleurs. Cela peut être assez compliqué, mais ne vous inquiétez pas, nous n' utiliserons pas tous ces éléments. Nous allons simplement cliquer sur le mode ici et passer à Plage basse définition. Et ici, notre température ne laisserait pas de teinte. Nous pouvons partir, mais nous allons en fait nous assurer que la température est réglée sur 0, c' est-à-dire que nous allons aller ici jusqu'à ces trois plus bas et ce sont ceux qui changent assez . saturation, luminosité et contraste. Je vais en fait changer ça à dix, une luminosité de dix aussi. Et assurez-vous que mon contraste est peut-être plein. J'en ai même dix ans, mais je pense que ça a l'air un peu moins beau. Faisons donc le plein même et soyons meilleurs. Et nous pouvons voir maintenant que nous avons ce que je pense être un jeu qui est un million de fois plus beau. Si j'y vais et que je frappe Play, je vois que ce jeu, à mon avis, est dix fois meilleur que ce qu'il a fait. On dirait maintenant un jeu réel. Cela ressemble beaucoup à l'un des premiers jeux que j'ai jamais créés, appelé racine carrée. Oui, c'est un peu ce sur quoi je fonde ce cours, mais oui, vous pouvez voir à quel point le jeu est bien meilleur maintenant nous avons les effets lumineux et nous avons tous de beaux visuels que nous avons ajoutés. Nous avons les meilleures couleurs. Je pense que c'est plutôt joli. La dernière chose que je voulais faire est d'ajouter un effet de mort et nous allons le faire avec un système de particules. Maintenant, cela va améliorer notre jeu un million de fois. Croyez-moi, il y aura un bel effet quand nous me demanderons de l'explorer et ensuite nous répondrons, ça va être vraiment génial. Mais avant de le faire, je vais vouloir aller de l'avant et m'assurer que nous avons désactivé et activé ma place lorsque je mourrai car c'est en fait la première étape de ce processus. Je vais aller ici à mon script de State Manager. Je vais ouvrir ça et je crée un rendu de sprite public et je l'appelle « spread ». Ensuite, ici, sous mon vide de die, je vais simplement souligner et dire que sprite dot activé est faux. Et cela signifie essentiellement aller à tous les sprites qui vous sont attachés, ce qui sera le moteur de rendu de sprite de ce joueur. Allez ici et désactivez-le comme ça. Il ne sera donc pas actif. Tout le reste est toujours du travail C21. Mais ensuite, la deuxième chose que je vais copier ce code et sous réponse, je vais définir ça comme vrai à la fin. En gros, comme nous le faisons avec beaucoup de choses comme notre gravité et tout le reste. Nous sommes juste en train de le régler pour qu'il s'agisse d'autre chose que l'état désactivé a changé, ce qui est vraiment cool. Maintenant, j'ai juste besoin d' aller voir le joueur et m' assurer d'avoir assigné mon moteur de rendu de sprite ici. Je vais donc aller au sommet. Et si j'essaie de faire glisser ça vers le bas, ça ne me laissera pas vraiment le faire. Au lieu de cela, je vais juste aller ici et je vais cliquer là-bas et sélectionner un joueur. Et ça va me donner la bonne, ce qui est exactement la même chose que celle qui l'a traînée vers le bas. D'accord. Je ne pouvais pas parce qu' il y avait tellement de choses dans le chemin. Maintenant, j'ai oublié et je joue mon jeu. En fait, je peux voir que si je vais jouer et que je tourne à un pic, mon sprite disparaîtrait et ensuite je répondrai, mais ça n'a pas l'air très bien. Nous voulons ajouter un effet et nous allons le faire avec un système de particules. Je vais ajouter un composant. Je vais taper un système de particules. Dès que vous avez ajouté votre système de produit, cliquez sur le lecteur et cliquez sur Maj H, ce qui le place isolément, n' utilise que ce que vous pouvez voir, ce qui est vraiment très utile pour nous. Ensuite, nous allons aller de l'avant et nous allons commencer à ajouter un système de particules. Un système de particules est, je suis sûr que vous pouvez deviner que c'est un effet de particules. Actuellement, ce sont tous les paramètres par défaut, mais nous ne les voulons pas. Nous allons donc changer la première chose que nous allons faire, c'est d'aller à l'animation de feuille Texture. Je vais passer par chaque étape parce que c' est un élément assez compliqué. Il m'a fallu beaucoup de temps pour m'accrocher, mais j'ai une partie plus grande mais maintenant assez pour créer un bel effet de particules pour notre profondeur. Allons dans Animation de feuille de texture, cochez-la , cliquez dessus, puis passez de la grille aux sprites. Ensuite, allez dans les ressources de cours et faites glisser votre carré là-bas. Et maintenant, nous devrions presque utiliser R-square, qui doit aller dans le rendu et sélectionner le matériau comme Sprites Default. Et ensuite, nous utilisons des carrés normaux, n'est-ce pas ? Maintenant, revenez ici et nous pouvons voir que c'est un effet de bouclage, mais nous ne voulons évidemment pas qu'il soit en boucle parce que nous ne les aurons pas une seule fois pour décocher la boucle. Et si nous cliquons sur Redémarrer, nous pouvons voir cet effet s'allumer pendant cinq secondes, puis s'arrête. Et nous pouvons le voir se dérouler, mais nous ne le voulons pas de toute façon, et nous voulons que ce soit environ 0,2 seconde. Ce sera l'exclusion de la loi juive. Et nous voulons également qu'il y ait beaucoup plus de rapidité. Donc nous ne le ferons pas, je commencerai ma vie à être quelque chose de moins de 0,8. Et nous pouvons voir tous nos produits disparaître et disparaître. Ce serait donc parfait et répondra ensuite. Maintenant, nous voulons également que la vitesse soit beaucoup plus grande. Changeons donc ça par dix et le produit sera beaucoup plus rapide, ce qui est bien. Et nous voulons que la taille soit légèrement plus grande. Je vais donc faire 1,5. Et nous avons ces belles particules plus grosses, ce qui est cool. Ensuite, ici, sur l'émission, c'est ici que nous allons changer un tas de choses. Nous allons faire ce taux au fil du temps à 100. Nous pouvons voir maintenant que c'est un peu plus agréable, mais en fait, ce n'est pas suffisant. Je vais donc en faire 250. On y va. C'est une bonne quantité de particules. Nous pouvons même le lancer 300. Mais vous n'avez pas besoin de lui demander. Maintenant, je vais passer à Shape et en fait ma forme de cône, qui est parfait pour cela. Laissez tout là-dedans. Maintenant, je vais changer deux choses. Tout d'abord, je veux changer ma vitesse tout au long de ma vie. Cochez cette case, puis ouvrez-la. Cliquez sur la taille, vous allez simplement cliquer sur ce graphique généré automatiquement ici, puis nous pourrons voir la vitesse de vie, ils seront plus petits au fur et à mesure. Vous pouvez également choisir celui-ci si vous le souhaitez. C'est assez similaire, mais je trouve que pour les explosions, celle-ci fonctionne légèrement mieux. C'est cool. Ensuite, vous pouvez aller de l'avant et passer à la couleur tout au long de la vie. Cochez-le, cliquez sur Couleur. Et ensuite, vous allez vouloir aller de l'avant et cliquer à la fin ici, sur ce top et faire le 0. Et ça va fondamentalement vous donner un bel effet de décoloration comme ça. La dernière chose à faire est de s'assurer que couleur est la même que celle que nous utilisons. Cliquez donc sur la couleur, cliquez sur cette fine pour aller de l'avant et choisir quelque part dans votre carré. Vous pouvez voir maintenant que ça va ressembler , ce qui est sympa. Maintenant, il y a quelques changements que nous devrions peut-être apporter, mais testons cela pour l'instant car cela pourrait fonctionner parfaitement. Pour ce faire. Il est évident que nous devons coder pour dire quand nous voulons faire les particules. Appuyez de nouveau sur Maj H, revenez dans notre jeu. Nous pouvons voir si nous le jouons maintenant c'est devant l'arrière-plan, ce qui est agréable car notre arrière-plan est moins dix. Si ce n'était pas le cas, nous pourrions changer un facteur ici qui le ferait passer devant , mais c'est vrai, donc c'est très bien. Ensuite, nous allons entrer dans notre scénario. Ici. C'est toujours le directeur d'État. Nous allons créer un système de particules publiques comme celui-ci sur notre mine de charbon PS. Ensuite, ici, sous mon régime, je vais juste dire juste en dessous de mon araignée qu'ils disaient presque ps, dot, play. Ensuite, les parenthèses et le point-virgule. Eh bien, ça va me permettre de jouer cet effet tant que je le signerai. Je vais donc aller ici mon script et faire glisser mon système produit là-dedans. Je vais minimiser cela pour que vous puissiez le voir. Maintenant, avant de le tester, continuons et nous assurer que nous n'avons pas vérifié le plan éveillé, sinon il jouera dès que nous commencerons. Allons-y et cliquons dessus. Ensuite, nous commençons, tout va bien. Si on meurt, ça devrait marcher. Nous voyons que je suis très gentil. Effet de décoloration de l'explosion de particules, ce qui, à mon avis, est plutôt bon pour le moment. Il y a peu de changements que nous pouvons apporter. Par exemple, je pense qu'il faut avoir la couleur un peu moins au début. Donc, réduisons cet alpha à 150 sur la couleur au cours de la vie. Ensuite, la dernière chose que je veux faire, je veux en ajouter la plupart, je suis comme si c'était 500. Et je vais également rendre cette taille légèrement plus petite. Je vais donc faire 1,2. Il s'agira de nouveaux effets de particules. On peut aussi le rendre un peu plus rapide, à mon avis, ils en font 15, laissez-moi partir. Ça devrait être mieux. Si nous nous arrêtons maintenant. Nous devrions voir notre effet de particules en action. minute où nous mourrons, nous pouvons même nous arrêter ici et le voir. Et on y va. Je pense que c'est plutôt sympa. Oh, elle a été coupée d'écran. Permettez-moi donc de vous montrer à quoi ça ressemble sur un triangle normal. Par ici. Nous y sommes. Je pense que c'est très joli. Il est évident que cela pourrait être amélioré. Essayez peut-être de jouer avec ça. Voyez que vous pouvez obtenir le vôtre de mieux paraître que la mienne. Mais pour l'instant, je pense que c'est exactement ce dont j'ai besoin. La bonne nouvelle, c'est à cause de tous nos travaux antérieurs et dans le présent que nous avons bougé si nous tombons et mourons, comme j'essaie de l' illustrer maintenant, faites tout simplement du bien dans notre jeu. Ensuite, il ne bouge pas, ce qui est vraiment, vraiment cool. Espérons que vous ayez effectué des mises à niveau visuelles drastiques après avoir fait cela . poutre en acier et la vôtre se regarde beaucoup mieux. Jetez un coup d'œil à quoi ressemblait notre jeu dès le début et regardez-le maintenant, je pense qu'il semble un million de fois mieux. Donc, la grille que vous avez jamais fait, je pense que ces améliorations de vision apportées dans notre jeu semblent beaucoup plus professionnelles. Et une fois de plus, nous nous rapprochons de plus en plus de la fin de notre jeu si grand si tout le monde, je vous verrai dans la prochaine vidéo. 18. Conception du son: Salut, et bienvenue à nouveau dans l'unité. Maintenant, comme vous vous en souvenez sûrement dans notre dernier épisode, nous avons considérablement amélioré la composante visuelle de nos jeux. Mais il y a eu un aspect du développement de jeux que nous avons négligé depuis tout ce temps, savoir la conception sonore ou la composante audio de nos jeux. Il est évident que cela se divise en deux catégories principales de jeux, musique et d'effets sonores. Dans ce cours, ou plutôt cet épisode, nous allons ajouter ces deux choses. Maintenant, je ne vais être qu'un effet sonore pour le saut et pour l' animation de la mort et une seule piste musicale. Mais si vous voulez oxyder cette vidéo, vous pouvez ajouter autant de nouvelles structures que vous voulez ou des effets sonores supplémentaires parce que vous allez utiliser exactement le même processus que celui que je vais utiliser. Il sera donc facile de l'agrandir. Pour commencer, je vais abord créer un gestionnaire de musique. Je vais donc cliquer avec le bouton droit ici, Create Empty, et je vais nommer ce gestionnaire de musique. Ensuite, je vais évidemment être centré comme je le fais toujours. Et ensuite, je vais vouloir ajouter mon script géré par la musique à ce sujet. Je vais donc créer un nouveau script C-sharp et je vais appeler cette musique, la gérer. En fait, ça va être un gestionnaire de son. Vous pouvez manger ce que vous voulez me comprendre, mon directeur musical. Ensuite, je vais y aller et l'ouvrir. La raison pour laquelle je le nomme gestionnaire de musique, c'est parce que c'est évidemment la première chose que nous allons ajouter, ajouter le son. Ensuite, je vais créer une référence, et c'est ce que nous appelons une source audio. Il s'agit essentiellement d' une façon d'unité de dire un lecteur MP3 ou Web. Je vais donc passer à la source audio publique, et je vais nommer la mienne comme majuscule a. Sinon, c'est le mot qui est évidemment restreint. Alors alors, je vais aller de l'avant et créer un vide public. Et je vais appeler ça « Lay ». Assurez-vous de ne pas avoir le filtre automatique la connexion ou de la déconnexion du lecteur. Et je vais y aller en argile noire. Maintenant, cela garantit la façon dont nous pouvons lier les sources audio. Je vais ici, mon garçon, j'ai arrêté. Ensuite, ici, je vais appeler cette argile vide. Donc, en fait, je dis qu'en tant que jeu au départ, c'est évidemment une façon assez fastidieuse d'y arriver, ce que vous avez peut-être remarqué, mais j'essaie juste illustrer quelque chose, alors supportez moi. Ensuite, ici, nous devons créer une source audio. Passons donc au gestionnaire de musique, car nous allons évidemment ajouter la musique. Ils vont suivre les ressources du cours et nous allons faire glisser le fichier musical là-dedans. Maintenant, ce fichier musical est une chanson libre de droits provenant d'Internet, mais vous pouvez utiliser ce que vous voulez. Assurez-vous simplement que vous n'utilisez pas musique Cohen qui est violée sur les droits d'auteur de quelqu'un. Si nous voyons que c'est libre de droits, cochez cette case. Et ensuite, vous voudrez continuer à décocher le jeu éveillé parce que nous le faisons manuellement ici. Évidemment, nous pourrions simplement cliquer sur Play on wake, mais comme je l'ai dit, j'essaie d' illustrer quelque chose. Ensuite, réglez le volume quelque chose comme 0,5 et la hauteur aussi, je pense à 0,9. C'est fondamentalement ralentir la chanson. Je pense que ça ressemble mieux à ça, mais tu n'es pas obligé de le faire. Vous pouvez changer la hauteur où vous voulez, aller vraiment jusqu'à trois et deux moins trois vont changer cette 0,5. Je ne recommanderais pas de le faire, désolé, 0,9, je ne recommanderais rien de moins de 0,4, sinon ça devient un peu trop lent. Et puis on va encore entrer dans nos gestionnaires de musique, je vais ajouter notre script de gestionnaire de son ou je l'appellerais gestionnaire de musique. Je vais faire glisser notre source audio et nous pouvons voir si nous décochons le plan éveillé, mais dès que nous cliquons sur Play, notre jeu va cesser de jouer de la musique. Très, très cool. Maintenant, nous avons notre script musical et vous pouvez évidemment jouer avec ça aussi longtemps que vous le souhaitez. J'ai coupé cela spécifiquement, donc il devrait boucler, mais si vous voulez faire en sorte que vous faisiez disparaître ou disparaître, nous utilisons une piste différente. Vous pouvez évidemment changer tout cela. Je viens de changer le fichier audio que vous faites. Tout ce qui fait, c'est lire un fichier pour le boucler. Si vous modifiez la musique, veillez à réajuster la hauteur. Sinon, ce n'est peut-être qu'une sensation lente, un goût, mais en ce moment tout fonctionne parfaitement bien. La deuxième chose que nous devons ajouter, c'est les effets sonores, et nous allons faire ceux qui utilisent des sources audio. Mais le problème lié à l'utilisation de sources audio est que si vous avez plusieurs sources audio sur un objet, il devient un peu difficile de les différencier. Je vais donc stocker sources audio pour le lecteur, un lecteur et l'autre sur un autre objet. Ce que j'utilise n'a pas vraiment d' importance. Je pourrais utiliser le système événementiel si je voulais contenir un objet de planchers d' apparition, qui est évidemment un espace de stockage, peu importe. Je vais mettre le mien dans l' environnement car c' est l'un des objets les plus inutiles. Mais même si celui-ci ne bouge pas, il va toujours lire l'audio. Ce n' est pas comme si l'audio était affecté par la mesure dans laquelle nous allons aller de l'avant et ajouter une source audio. Et nous verrons que nous l'avons traîné la dernière fois. C'est juste une façon rapide de le faire. Et je vais ajouter l' effet de teinture de cette source audio. Ensuite, nous nous assurerons de décocher le jeu en mode éveillé. Et je veux faire en sorte que le volume soit également d'environ 0,5. Nous devrons peut-être les ajuster plus tard. Nous verrons que je vais aller mon lecteur et je vais faire défiler vers le bas et ajouter une autre source audio et ajouter l'effet de saut, une fois de plus, en changeant le volume à 0,5 et en changeant le Paraguay à faux. Assurez-vous que les deux jeux en mode éveillé et en boucle sont définis sur false pour celui-ci. Ensuite, tout ce que je dois faire, c'est entrer dans mon scénario et de créer un nouveau vide public pour jouer à d'autres musées, je vais faire du vide public et tirer celui-ci, jouer au saut. Sous notre vide public. Lei di. Ce seront essentiellement les deux autres sources audio que je vais aller ici et je vais créer aussi saut que dy. Et je vais renommer cette musique pour pouvoir faire la différence entre elle. Et bien sûr, je vais réajuster cela là. Et puis je vais copier ce code exact, changeant évidemment quel audio. Donc, quelques choses ici, je vais sauter le jeu de points. Ici. Je vais y aller aussi tard. Maintenant, si vous remarquez quelque chose, ces procédures sont assez similaires. Nous pourrions donc, en fait, si nous voulions utiliser des paramètres et appeler une seule procédure. Mais j'ai souvent constaté que l'utilisation de paramètres peut vous poser quelques problèmes dans Unity Editor. Et donc, par souci de simplicité, nous n'allons pas faire ça. Ce que je veux dire par h dans l'éditeur Unity, c'est parce que ces scripts sont refroidis par du code, il n'y aurait aucun problème du tout. Mais si nous voulons appeler le script via un objet, vous voulez cliquer sur un bouton et un vide spécifique à Coolidge. Et nous avions trop de paramètres. Parfois, il ne nous permet pas de le référencer correctement. Ne vous inquiétez pas pour l'instant. Ce ne sera pas un problème. Nous allons aussi courir, mais nous pourrions réécrire cela comme une seule procédure. Je choisis simplement de ne pas le faire parce que c'est un peu plus facile à lire. Mais si vous remarquez ce super travail, et maintenant nous avons juste besoin d' entrer dans notre chef de scène. Nous devons nous assurer que nous avons appelé la touche. Allez donc voir notre directeur de scène et nous allons créer un gestionnaire de musique publique, regarder de la musique de suivi. Ensuite, nous allons descendre sur cette planche de plongée et dénuée. Et nous allons nous assurer appeler dès que nous mourrons. Donc, après le système de particules, je vais passer à la musique. Jouez à Die. Parfait. Et ensuite, ici, je vais copier ce code exact. Et nous allons également vouloir jouer à ce jeu chaque fois que nous sautons. Mais cela n' est évidemment pas lié au directeur d'État qui va bouger. Nous allons donc faire exactement le même processus. Je vais passer au public, à la musique ou à la musique. Ensuite, ici, sur le vide de saut, on va jouer des dés de la musique. En ce moment. Nous allons vouloir créer des sauts. Sautez tellement gris foncé. Un peu d' affectation que nous devons faire avant que cela ne fonctionne. Mais une fois que nous avons fait cela, tout devrait fonctionner parfaitement LC. Nous avons modifié le script de mouvement, le script State Manager et le gestionnaire de musique. Allons donc vérifier que tous ceux ont tout ce qu'ils devraient lui attribuer. Tout d'abord, nous commencerons par le script de mouvement. Il n'y a pas de gestionnaire de musique s'assurent de faire glisser ça. directeur d'État ne le fait pas non plus. Ensuite, sous le gestionnaire de musique, nous devons nous assurer que nous avons réellement les bonnes sources audio. Alors faites glisser en tant que musique là-bas, car nous avons changé le nom, il se réinitialisera pour vous assurer que vous le faites. Faites glisser le joueur a le saut et l'environnement a le vide de teinture. Et puis je vais jouer au jeu et tu verras comment ça sonne. Très bien, c'était cool. Nous pouvons constater qu'en ce court laps de temps, nous avons créé un système audio entièrement fonctionnel avec de la musique et du son. Et ce qui est génial de faire cela, évidemment, nous pouvons voir ici que nous avons un livre de code assez inutile appelle le jeu à partir d'une procédure de magasin qui le fait seul, ce qui est Ce n'est pas très idéal. Mais la raison pour laquelle je voulais le faire, c'est parce que nous avons maintenant un lien vers notre audio et notre musique. Et plus tard, lorsque nous créerons notre système de menus, nous allons créer des fonctionnalités permettant couper le son de toutes ces sources audio. Et ça va vraiment nous permettre de faire ça, ce qui est vraiment, vraiment cool. Restez à l'écoute pour ce bon travail tout le monde. J'espère que tout fonctionne et que je vais évidemment mon code et mes ressources si vous le souhaitez, vous pouvez changer ces éléments audio pour qu'ils soient où vous voulez. Il suffit de glisser votre nouveau fichier là-dedans et il mettra à jour tout. Et un excellent travail. Je vous verrai dans la prochaine vidéo. 19. Système de menu: Salut, et bienvenue à Unity. Et évidemment, dans le dernier épisode, nous avons ajouté du son et de la musique, ciblant divers moments, ce qui le rend beaucoup plus réactif. Nous pouvons le voir ici, comme nous l'avons fait dans la dernière rangée. Super cool. Bien que cela soit incroyablement cool, certaines personnes pourraient ne pas vouloir audio et le son comme nous. J'espère que vous le faites au moins parce que vous avez dû l' écouter en deux pour le dernier épisode. Nous allons ajouter un système de menus qui nous permet de choisir si voulez jouer du son ou non, et également jouer au jeu. Et il nous ramènera là quand nous mourrons. En fait, cela va être assez simple. Ce sera probablement l'une des choses les plus compliquées que nous allons faire, probablement la chose la plus compliquée à faire dans ce cours. Peut-être que vous trouverez l'ajout, ajoute un peu de confusion. Mais à part ce système de menus, il suffit de s'y habituer, mais après cela, vous devriez aller bien. Pour commencer, nous allons commencer par créer un script de menu. Je vais appeler notre menu de scripts. Ensuite, je vais continuer et double-cliquer dessus. Maintenant, avant même de commencer à faire mon menu, je suis sûr que vous pouvez penser que vous ne voudriez pas d'états différents. Nous allons vouloir un état où nous jouons au jeu. Nous montrons le texte de l'école et du lycée. Et nous allons indiquer où nous ne montrons pas les textes de l'école et du secondaire, qui est exactement ce que nous allons corriger. Ici. Nous allons avoir un vide public et l'appeler menu. Juste en dessous, nous allons avoir un autre vide public et l'appeler menu haut. Ensuite, ce que nous allons devoir faire, nous allons devoir créer un système où nous pourrons masquer, garantir des boutons spécifiques et d'autres éléments d'interface utilisateur en fonction de ce que nous voulons. Je vais donc y aller de l'avant et faire ça maintenant. Tout d'abord, je dois commencer à concevoir mon menu. Je vais aller ici à mon interface utilisateur, et je vais m'assurer décocher l'école et le lycée. Donc une fois que cela se charge, puis cliquez dessus, comme ça, cliquez sur vérifier pour que nous ne puissions plus le voir. Et puis je vais arrêter d'incliner mon menu. Je vais donc cliquer avec le bouton droit de la souris sur l'interface utilisateur. Et je vais créer un bouton avec une sonde Mesh textuelle. Maintenant, cela va aller de l'avant et le remplissage automatique. Nous ne pouvons pas non plus voir car nos couches de post-traitement sont un peu gênées . Mais si je vais de l'avant et que je monte à l'échelle, nous devrions être en mesure de voir dehors, mais cela ajoute des accords éclatants de notre post-traitement. Je vois actuellement avec cette nouvelle façon et il y a une glacière que vous pouvez cacher des gadgets. Si vous allez ici en haut à droite, vous pouvez enlever tous les gadgets de la scène, ce qui est très utile pour le moment. Je vais aller de l'avant et renommer mon bouton. Ensuite, je vais aller ici aux États-Unis, mais j'ai des atouts de cours et vous verrez ici que vous avez un jeu. S'assure que tous ces éléments comme nous avons fixé la première rue, nous atteignons 1000 pixels. Vous allez vous assurer de faire la même chose ici. Sinon, ils vont être très gros. Et puis allez ici pour jouer une fois que vous avez fait cela et faites-le glisser et alimentez, nous pouvons voir un bouton de lecture plutôt défiguré. Ensuite, je vais passer au texte et le supprimer. Ensuite, je vais aller ici et définir la taille native. Et ici, nous avons notre bouton de jeu, ce qui est plutôt cool. De toute évidence, il pourrait être un peu plus petit qu'une échelle qui augmente un peu. Et puis je vais définir sa position sur le x et le Y sur 0. Vous constaterez peut-être que ces coordonnées de position sont beaucoup plus grandes. Si nous passons cela à 60, il ne déplace que les diapositives pour cela. Mais si nous avons déplacé notre joueur en position 60, vous pouvez voir qu'il finira votre projection. Et la raison en est qu'il existe des coordonnées différentes. Ce sont des coordonnées de l'interface utilisateur et l'autre coordonnées un monde. Alors, ne vous embrouillez pas là. Si je mets ça au 601960, ce ne sera pas la même chose. Il y a du code que vous pouvez les convertir, mais nous n'aurons pas besoin de le faire dans cet épisode. Tellement chanceux pour nous. Ensuite, je vais y aller et le raconter sur mes gadgets. Je peux les revoir. Et je vais m' assurer de régler ça à 0 et de le faire baisser un peu. Je pense que je veux que mon bouton Lecture soit de la même couleur que le sol, donc je vais y aller de l'avant. Je pense que c'est plutôt cool. Ensuite, je vais vouloir ajouter mes options de lecture et de son. Je vais faire très semblable. Je vais cliquer avec le bouton droit ici et accéder au message texte du bouton UI Pro, et appeler ce son. Par ici, je vais écrire u1 et de la musique de qualité, désolé ma musique et mes boutons sonores. Et puis je vais aller ici et supprimer les deux objets texte attachés à ceux-ci. Déplacez les deux ici dans le coin supérieur droit. Ne vous inquiétez pas pour ces flèches. C'est juste Unity qui travaille sur le fonctionnement des boutons. Et je vais déplacer la musique là-bas. Et puis je vais aller ici et je vais faire glisser la musique dans la musique comme je l'ai fait avec un son de lecture et le son et cliquez sur Définir la taille native pour les deux, comme je l'ai fait. Ensuite, je vais toujours réduire ces baisses. Je vais faire ça autour de 0.4.4. Ça m'a l'air bien. Et le même téléphone complet, qui est cool maintenant, assure qu'il exactement de la même exposition , donc ils sont juste en dessous de l'autre. Je pense que ça a l'air plutôt bien. Nous avons maintenant notre jeu avec un système de menus en haut à droite. On peut aller de l'avant et changer ça en quoi je pense que je vais changer ces couleurs. Je vais voir comment ça ressemble au jaune. C'est pas génial. Je pense que je vais les rendre tous bleus, mais vous pouvez en faire ce que vous voulez si c'est énorme, trouver la part. Oui, ça a l'air beau ou n'importe quelle autre couleur qui fonctionnera parfaitement. La dernière chose que nous devons faire, c'est que nous devons évidemment créer un jeu de balle de titre. Je vais donc cliquer avec le bouton droit sur une interface utilisateur, envoyer des textos sur Mac Pro et le renommer en titre. Ensuite, je vais remonter ça. Je vais aussi vouloir faire évoluer ce **** beaucoup plus gros. C'est ce que j'aimerais. Faites peut-être qu'elle n'est pas si grande, mais assez grande pour faire baisser le Y. Je vais donc changer un peu d'essence ici. Donc, tout d'abord, je vais régler l'alignement sur le centre et le centre, donc c'est juste au milieu. Ensuite, je vais renommer. Je vais m'assurer que je l'ai fait avant de renommer l'action et m'assurer que ma taille de police est assez grande. Je pense donc que peut-être cent cinquante millions, deux cents, c'est probablement une bonne chose. Je ne dirais pas de nouveau texte là-bas. Je vais aller de l'avant et faire baisser les deux un peu à nouveau. Assurez-vous que le titre et le son de lecture ont tous les deux baissé et que nous voyons que c' est un peu mieux à mon avis, alors que nous devons toujours le rendre la même couleur pour qu'il corresponde. Nous pourrions également modifier la police si nous le voulions. Ioc n'a pas installé de packs de polices. Je ne vais pas pouvoir le faire, mais je vais laisser la mienne comme flèche pour l'instant. Je vais nommer le mien. Qui ? Un carré ? Maintenant, si vous ne pouvez pas trouver un nom aussi brillant que le carré refroidi, je ne me suis pas joué. Vous pouvez nommer Use où vous le souhaitez. Coolled Squared est clairement le meilleur nom, mais si vous n'avez pas pu venir avec quelque chose, ils ne se sentent pas mal vous-même. ne sommes pas tous des génies créatifs comme moi. Et après cela, notre système de menus est en fait assez complet, ce qui est plutôt cool. Maintenant, il ne nous reste plus qu'à programmer logiquement l'orthographe. Parce que si nous frappons Play comme vous devez les réactiver, parce que c'est comme ça que je suis arrivé à mon avion que nous avons touché le jeu. Nous ne voulons pas de ces boutons en quelque sorte raisons évidentes. Ensuite, je vais y aller, nous voulons aller de l'avant et programmer la logique à ces derniers. Je vais donc aller dans mon système de menus ici. Je vais créer une référence à chaque fois. Avant de commencer, assurez-vous d'aller haut et à droite en utilisant l' interface utilisateur de points du moteur Unity et en utilisant le protocole de message texte, comme nous l'avons fait la dernière fois. Ensuite, je vais vouloir créer quelques ODS et passer en maillage de texte public. Tu te reproduis. Et nous allons appeler ça parce que ce sera notre titre. Ensuite, nous allons vouloir créer un bouton public. Et on va appeler ça une pièce, appelée la musique suivante. On va appeler le son suivant. Ensuite, nous devons passer ici à l'interface utilisateur. En fait, je vais mettre mon manuscrit directement sur les interfaces utilisateur pour y conduire. Alors, assurez-vous que j'ai signé mon truc. J'ai donc le bouton de lecture pour lire mon bouton son en son, mon bouton de musique sur la musique et mon titre là-bas. Et c'est presque fini. La dernière chose que nous devons faire est de créer une référence au score, le score le plus élevé. Nous allons simplement ajouter des virgules , puis les placer là quand elles se chargeront. Mais le score là-bas et le lycée là-bas. Maintenant, ce que je dois faire, c'est que je dois créer une logique pour savoir quand je veux montrer lequel. Alors évidemment, lorsque je montre le menu, je voulais m'assurer que tout, sauf le titre et l'école est désolé, l' école et le lycée. Et quand j'embauche le menu pour m'assurer exactement le contraire. Et je vais le faire avec des paramètres car je sais que j'ai mentionné dans l'épisode précédent que parfois Unity a des choses bizarres avec des paramètres. Mais j'ai souvent constaté que ce n'est en fait que lorsque vous utilisez plus d'un paramètre. Donc je vais appeler ça à partir du code, donc ça va bien se passer , mais je vais y aller. Et en fait, cela peut être une meilleure façon de le faire. Je vais faire du vide public, changer de banque. Et puis nous allons avoir un booléen et je vais l'appeler x. Maintenant, à partir de là, nous pouvons définir chacun parce que nous allons évidemment vouloir les définir pour eux parce que nous allons évidemment vouloir les définir pour qu'ils soient complètement contrastant. Je veux dire tous ces analogues ou les deux et les autres non plus. Je vais donc aller ici, titre Dot GameObject. Je suis référencé dans le jeu d'objets de jeu actif, puis j'ouvre des crochets, et je peux évidemment entrer X ici. Ensuite, en fonction de l' endroit où nous entrons pour x, je mettrais le titre actif à cela. Et je vais m' assurer que j'ai décidé de faire ça chacun d'entre eux. Donc, Tyler Rhodes Family, je vais vouloir être le même pour le crâne, le même meilleur score. Et nous pouvons appeler les lignes de code en appuyant sur Ctrl D. C'est très utile puis sur la même musique de lecture complète. Et pour le son. De toute évidence, cela peut les régler tous ou rien et nous ne voulons pas le faire. Nous voulons que l'école et le lycée soient différents. Je vais juste mettre un point d' exclamation juste devant ça. Et cela va dire que ce n' est pas X. Le code attend que je dis que je saisis un x booléen soit oui ou non, vrai ou faux. Et je vais appeler ce point si nous voulions tout cacher sauf l'école, j'ai apporté le changement de menu faux et ensuite ça va dire OK, donc au titre faux, l' école n'est pas fausse ou vraie, le le lycée n' est ni faux ni vrai, et tout le reste faux. Et évidemment, si je fais le contraire, cela mettra cela vrai, ce vrai, ce vrai et ces deux faux, qui est vraiment, vraiment cool, c'est vraiment une façon simplifiée de faire cela. Ensuite, tout ce que je dois faire, c'est de créer une référence à ce menu à partir de ma machine d'état. Je vais passer au menu public. Je ne veux pas l'appeler menu, j'ai donc un lien. Et puis je vais aller ici sur mon tableau de bord où je rafraîchis tout le reste. Et je vais en fait dire menu, menu de changement de point. Et je le ferais bien sûr, je suis entré ici pour que tout soit centré sur la vérité sauf l'école et le lycée. Et puis, sous le vide de réponse, je vais faire une chose très similaire. Je vais monter ici sous mon truc et définir le menu sur Faux. Maintenant, ce que cela va faire c' est qu'il va s'assurer que lorsque nous mourrons, le menu s'affiche, puis il reviendra. Ce n'est pas entièrement ce que nous voulons. Je vais vous montrer à quoi ça ressemble maintenant. Si nous allons de l'avant et que nous atteignons le jeu, nous devons d'abord attribuer des lectures avant de jouer. Allons donc sur notre machine d'état et assurez-vous de définir notre menu , puis de cliquer sur Lecture. Je vais en fait couper le son parce que je peux parler pour parler avec nous. Je vais aller voir mon gestionnaire de musique et je vais aller de l'avant et sourdine la musique et je suis déjà le même avec le lecteur. Je vais juste aller ici et cliquer sur Mute. Et il en va de même pour l'environnement. Je n'en ai donc pas plus tôt. Si vous ne faites pas cela, c'est très bien. Je suis juste pour pouvoir en parler et ne pas être nouveau brisé par la soustraction très cool. Ensuite, si j'y vais et que je frappe Play, c'est plutôt proche de ce que je veux. Nous pouvons voir que tout se montre en même temps. Si je meurs, seul le menu s' affiche et cela s'affiche. Mais évidemment, le menu n'est pas très utile pour cet employé clique ici. Il ne fait vraiment rien qui n'est pas idéal. Je vais donc changer un peu cette logique de code. Au lieu de dire, attendez un délai et répondez automatiquement, je vais appeler cette réponse nulle depuis le menu, et je vais vous montrer comment cela fonctionne si je vais de l'avant et commenter ceci pour que tout ce qu'il fait, c'est attendre et que rien ne se passe. Bien sûr, il s'agit d'utiliser ce code, mais nous allons l'utiliser plus tard, alors ne le supprimez pas. Ensuite, je vais aller ici à mon jeu et déboutonner , cliquer et cliquer ici. Et je vais faire glisser mon joueur. Laissez-moi y aller. Aucune fonction. Je vais aller jusqu'ici jusqu'au responsable de l'État et je vais cliquer sur répondre. Et ce que ça va vraiment faire, c'est plutôt cool. Nous allons voir clairement tout est juste là quand nous commençons, c'est exactement ce que nous voulions. Mais si nous mourons, nous ne répondons pas. Et ensuite, si nous voulons cliquer sur ce bouton, nous répondons. Et c'est en fait assez proche de la façon dont nous voulons que notre système de menus fonctionne, ce qui est encore, vraiment, vraiment cool. Il y a maintenant quelques problèmes. Tout d'abord, je voulais m' assurer que ces deux-là soient désactivés lorsque je commence parce que ce n'est pas comme ça que je voulais y aller. La deuxième chose que je veux m'assurer , c'est de m'assurer que le joueur n'est pas vraiment en mouvement au début de la partie. Je vais rester dans le directeur d'État et je vais mettre mon état au ralenti. Je commence ça n'a pas vraiment d'importance ce que tu as mis ici parce qu'on vérifie juste s'il joue sur. Donc, vous pourriez même mettre mort, ça n'a pas vraiment d'importance. Et puis, l'autre chose que je vais faire, c'est que je vais régler ma gravité dans mon déplacement à 0. Nous commençons par être suspendus en plein air, ce qui ressemble beaucoup à la journée de bureau sans effets allèles. Revenons à Unity. Et nous pouvons voir à quoi cela ressemble ici. Si je commence, je suis suspendu et dès que je clique sur Play, je commence, ce qui est vraiment cool. Si je meurs, je vais l'avoir encore et apparaître et tout fonctionne parfaitement, qui est vraiment, vraiment cool. Maintenant, les quelques changements se déroulent. Tout d'abord, je veux faire en sorte que vous reveniez au début et que vous réagissiez avant même d' avoir tous les autres effets. Nous devons donc revenir à cette routine. Nous allons remettre cette réponse nulle ici. Mais au lieu d'en faire un Boyd, on va se transformer en deux. Je vais donc devenir nul public. Je vais appeler ça un point. Une fois encore. Je vais gérer toutes les autres logiques sauf en réglant la position et en réglant peu près ici, on va changer ça. Et maintenant, quand nous mourrons, nous allons revenir au début, mais nous n'allons rien fixer d'autre. Ensuite, nous allons changer notre bouton pour appeler ce vide à la place. Allez ici à mon bouton, interface utilisateur, jusqu'au bouton de lecture. Et je vais aller de l'avant et changer cela en jeu d'actions State Manager. C'est plutôt cool. Maintenant, si je joue à mon jeu, je peux cliquer, commencer le jeu. Je pourrais mourir. Et puis il y a un retard et j'y retourne. Mais je n'ai pas encore besoin de montrer. Revenons donc à notre code. Nous allons changer cette logique de menu. Au lieu de changer le menu dès que nous mourrons, je vais le régler lorsque nous répondrons, ce qui est plutôt sympa. Vous allez maintenant voir comment cela fonctionne dans le jeu. Revenons à mon jeu. Cliquez ici. Nous pouvons voir que nous commençons par le menu, cliquez sur Play. Nous pouvons jouer le long d'une grande vitesse, évidemment sauvée comme nous l'avons fait il y a quelque temps. Et nous répondons au retour que nous recevons, ce qui est vraiment, vraiment cool. La dernière chose que nous devons changer, nous devons nous assurer que ces boutons sont également Web. Cela va également être assez simple. Nous allons juste revenir dans notre manuscrit. Et on va faire une nouvelle voix et on va appeler ça changer d'audience, nul public. Et nous allons appeler ce changement audio. Celui qui va changer son. L'autre va être froid. Changez de musique. Cela va essentiellement dire si nous voulons changer la musique. On ne va pas faire ça en flotteurs, la musique brillante du public. Et 48. Ensuite, tout ce qui va faire ici, c'est que nous allons les régler, les changer pour apprendre que la musique n'est pas synonyme de musique. Cela signifie simplement que si c'est vrai, ça le rend faux, c'est faux, c'est vrai. Je veux évidemment mettre ça là-bas. Je vais mettre la même chose ici pour l' audio non pas auditeur. Enfin, nous devons avoir accès à nos systèmes capables de jouer la magie musicale. Je vais juste aller de l'avant et créer un gestionnaire de musique publique. Appelez ce gestionnaire de musique. Ensuite, je vais gérer la musique, puis nous allons trouver la source audio que je veux. Donc, si nous allons ici, nous pouvons voir qu'elle a été qualifiée aussi désastreuse que de sauter à la musique. Quand en fait pour l' audio, je vais définir Guy comme saut le mutant pour être quel que soit l'audio. Algo, le Dr Newton est égal à l'audio. Et je vais copier ce code exact et le mettre ici, sauf cette fois comme saut. Ensuite, je vais faire des choses très similaires là-bas. Je vais descendre ici et ensuite un point musical défini comme la musique est égale , puis la changer en musique là-bas. Ces cinq lignes de code au moins vont en fait nous faire bénéficier d'un système très cool qui peut alterner entre un son silencieux et non silencieux. Nous y retournerons. Vous devez d'abord vous attribuer un peu. Alors, allons nous assurer que je suis le gestionnaire de musique y est lié. Et allez à notre truc sonore et assurez-vous qu'il y a un événement onclick. En faisant glisser l'interface utilisateur, cliquez sur le menu sans fonction , puis sélectionnez celui qui indique Modifier l'audio. Allez ici et faites exactement la même chose avec la musique, faisant glisser votre menu d'interface utilisateur et cette fois, changez de musique. Maintenant, avant de jouer, je vais aller de l'avant et m' assurer que j'ai vraiment désactivé toutes les choses que j'ai mises en sourdine plus tôt pour que je puisse vous le montrer parce que je n'ai pas à jouer avec notre jeu. Un peu. Allons de l'avant et dissolvons tout. Et je vais vous montrer exactement comment cela fonctionne. Nous pouvons voir que nous pouvons facilement couper le son et continuer sans clic. Nous faisons simplement la même chose avec nos sons. Si je vais ici, je peux voir que mon son a été éteint. Si je déclique, ce n'est pas le cas. Je peux donc jouer uniquement avec du son et de la musique. Très, très cool. Maintenant, c'est évidemment la base de notre système de menus. Je pense que nous avons fait des sauts assez importants dans notre jeu, et c'est la dernière grosse chose dont nous avons besoin pour ajouter le prochain épisode, chose dont nous avons besoin pour ajouter le prochain épisode nous pouvons faire de la monétisation et ensuite c'est juste corrigé maintenant prêt à le mettre sur mobile. Très bon travail, tout le monde. J'espère que vous apprécierez l'absolu et je vous verrai dans le prochain. 20. Monétiser notre jeu: Salut, et bienvenue à nouveau dans l'unité. Maintenant, c'est la caractéristique principale perdue. Nous allons en ajouter deux encore, c'est la dernière étape. Donc ce que je vais parler de la toute nouvelle fonctionnalité nous ajoutons, c' est la monétisation. Après cela, je vais jouer sur mobile à peu près terminé. Nous avons juste besoin de le mettre sur mobile et de le construire. Et nous pouvons voir que tout fonctionnera parfaitement bien, ce qui est vraiment, vraiment génial mutants, vous avez parcouru un long chemin dans votre parcours de développement de jeux mobiles. Tellement excellent travail que vous avez fait de façon incroyable. Désormais, les jeux mobiles utilisent toujours les publicités pour monétiser. C'est un peu exagéré, mais pratiquement tous les jeux mobiles utilisent des publicités d'une sorte quelconque, car c'est un excellent moyen de monétiser vos jeux. Et les ajouter n'est pas très facile, mais ce n'est pas aussi difficile que vous pourriez le penser grâce au package d'ajout d'Unity. Maintenant, nous allons suivre ce processus étape par étape. Assurez-vous de suivre tout ce que je fais, car faire petits changements peut entraîner petites choses bizarres que vous devez faire. Assurez-vous donc de tout suivre exactement. Arrêtez, passez aux scripts et vous allez vouloir importer ce script Ad Manager. Maintenant, si vous accédez aux ressources de cette vidéo, vous constaterez qu'il existe un script Ad Manager là-bas. Et vous pouvez aller de l'avant et télécharger cela et cela vous donnera le script du gestionnaire d'annonces. La raison pour laquelle je ne l'ai pas inclus dans les ressources de cours, c'est parce qu'il va vous donner des erreurs dès que vous le téléchargez. Il va dire que la publicité n'existe pas. C'est tout à fait très bien. C'est simplement parce que nous n'avons pas encore activé les publicités sur notre jeu une fois que vous l'avez installé et que vous y avez probablement deux heures, allez dans Fenêtre, sélectionnez Général et sélectionnez les services. Une fois que vous avez fait cela, vous devriez voir cette chose. Le chargement prendra un certain temps, puis vous obtiendrez ces listes de services. Ils devraient tous disparaître pour l'instant. Allez donc dans les publicités et vous ne serez peut-être pas immédiatement redirigé vers cet écran. Maintenant, la raison pour laquelle j'ai été prise est parce que je suis évidemment déjà en compte est parce que je suis évidemment déjà connecté à Unity parce que j'ai déjà utilisé Unity. Mais si c'était la première UTI, au Portugal, vous avez créé tout ce jeu mobile, vous ne serez peut-être pas signé, il vous demandera donc de signer votre compte unitaire. Maintenant, je suppose que vous avez un compte Unity parce que vous avez installé Unity Hub et je pense que vous devez avoir un compte Unity pour en créer un. Mais si ce n'est pas le cas, allez simplement de l'avant et créez-en un, il y aura un processus très simple. Vous pouvez évidemment le faire sur unity.com et simplement créer un compte. Ensuite, une fois que vous avez créé votre compte Unity, votre Unity Hub ou votre compte, quel que soit votre besoin, allez-y et il vous demandera de créer un jeu vidéo. Donc, vous allez juste choisir une organisation. Vous vous demandez peut-être ce que c'est. Si vous accédez au tableau de bord, cliquez ici. Il va vous emmener à votre tableau de bord Unity. Et c' est là que vous pourrez contrôler toutes sortes de choses comme ça. Évidemment, je ne me suis pas encore connecté, mais si je l'attribue, cela m' amènera à une page où je pourrai créer des organisations et ce genre. Alors allez-y et créez une organisation si vous ne l'avez pas déjà fait, puis vous allez devoir recharger votre devoir et l'organisation sera là comme l'une des listes déroulantes. si vous devez choisir cette option pour sélectionner votre jeu. Si vous n'avez rencontré aucun de ces problèmes, ne vous inquiétez pas. Je dis juste au cas où quelqu'un le ferait. Et enfin, vous devez dire si vous allez cibler des personnes de moins de 13 ans ou plus, et c'est pour cela que vous êtes conforme à la Coppa ? Allez-y et cliquez sur Oui, juste pour faire bonne mesure. De toute évidence, nous n'en savons pas encore assez sur le droit d'auteur pour en faire pleinement cette hypothèse. Si vous envisagez de sortir un jeu mobile, je vous recommande de faire quelques recherches à ce sujet, car c'est une loi très importante que vous devez suivre lorsque vous créez des jeux mobiles. Il est donc évident que la Children's Online Privacy Protection Act. Mais si ce n'est pas le cas, si vous essayez simplement de terminer ce cours et contre cela plus tard, hésitez pas à cliquer sur oui ou non. Cela n'a pas vraiment d'importance, ce n'est pas une sortie ou un jeu pour le moment. Ensuite, vous serez redirigé vers cet écran. Maintenant, tout d'abord, cliquez sur les publicités et cela va prendre un certain temps à charger et ça va geler. Peut-être que ça va charger vos paquets résolus, compiler des scripts C-sharp, et après certain temps, cela devrait tout activer. Par conséquent, ADS est activé. Vous y êtes. Maintenant, nous pouvons voir que nous avons des publicités, il est dit la version 3.7.5 actuelle. Maintenant, cela est automatiquement installé sur Unity. Je ne sais pas tout à fait pourquoi le mien s'est installé automatiquement, mais une fois auparavant, je le faisais. Ce n'est pas le cas, donc je ne sais pas très bien comment cela fonctionne. Je vais vous montrer comment l'installer au cas où le vôtre ne l'aurait pas fait. Mais s'il s'est toujours installé pour la conversion et qu' une version ultérieure est disponible, assurez-vous de télécharger la version recommandée, pas nécessairement la dernière version car j'ai trouvé la dernière version version me pose parfois des problèmes. Donc, si je veux préparer mon jeu pour les publicités, je dois télécharger ce package ici. Comme je l'ai dit, je l'ai déjà eu. Mais allez ici dans Windows Package Manager si vous ne le faites pas, c'est juste là. Et puis trouvez cette annonce publicitaire. Et si vous ne l'avez pas installé, cliquez sur Installer évidemment en haut, donc je ne vais pas le supprimer. Et vous verrez également que mes flèches ont disparu, ce qui signifie que mes publicités fonctionnent parfaitement. La dernière chose que je veux faire est de cliquer ici sur publicités et je vais activer le mode test parce que je veux m' assurer que je n' utilise pas de vraies annonces si vous testez votre jeu ou votre, la seule chose que vous n'êtes pas autorisé à utiliser de vraies annonces, vous devez utiliser des annonces de test, c'est exactement ce que je fais. Ensuite, je vais aller de l'avant et je vais ouvrir le gestionnaire de publicités. Et nous pouvons voir que toutes ces zones devraient disparaître dès qu'elles se rafraîchissent si elles ne le font pas, parfois Unity a des problèmes avec elle, comme par exemple, pourrait ne pas disparaître. Si je le ferme et que je redémarre, ils pourraient disparaître. Ils n'utilisent peut-être pas ces petits trucs bizarres. Et j'espère qu' au moment où vous utiliserez Unity, ils auront corrigé cela. Vous pouvez voir maintenant que mes flèches semblent avoir disparu. Ok, maintenant c'est arrivé. Je vais aller ici et je vais en fait aller souvent avec un locataire AD. Maintenant, il est important de garder à l'esprit que ces flèches ne sont pas le résultat de quelque chose que vous faites mal. C'est l'unité et ils ont ce pépin vraiment ennuyeux. Alors, il suffit de m'accompagner ici. Si cela vous arrive, faites simplement ce que je fais, soit éteignez ou allumez. Nous verrons si cela fonctionne. Nous pouvons voir de moi qu'il y a du travail. Maintenant, cela a fonctionné juste parce que je l'ai éteint et allumé. Vous voyez évidemment que je n'ai rien fait de mal. n'y a rien de mal avec le script. Si cela ne fonctionne pas pour vous, vous pouvez également essayer de désinstaller et réinstaller le paquet en allant ici dans le Gestionnaire de paquets, puis en le supprimant et en l'installant. Donc, oui. J'espère que maintenant vous devriez être à un point où votre jeu a le script et ne contient plus erreurs si vous l'avez fait, super. La dernière chose que nous allons faire, c'est que nous allons montrer une annonce chaque fois que nous mourrons. Et c'est vraiment facile à faire. Avant de changer cela, je me rends compte que nom de ma classe n'est pas le même que mon nom de fichier, qui est un domaine dont nous avons parlé plus tôt. Allons de l'avant et résolvons ça. Sinon, ça va nous donner des zones à l'avenir. Assurez-vous que c'est la même chose, tous les deux ont téléchargé ce cours, vous devriez être mis à jour, alors ne vous inquiétez pas, mais si ce n'est pas le cas, assurez-vous simplement de l'avoir et c'est ce que chaque script que je vais aller. pour rester manager et nous allons créer n'importe quel nouveau gestionnaire de publicité publique. Nous appellerons ça « Add ». Ensuite, ici, quand nous mourrons en plus de tout ça, nous allons appeler notre réponse nulle. Et dès que nous répondrons en dessous cette réponse vide à l'intérieur de la coroutine, vous allez ajouter des points, montrer des parenthèses. Cela signifie essentiellement que chaque fois que nous mourrons, nous verrons une courte annonce. Voyons maintenant si c'était notre vrai jeu mobile. Ce serait un peu ennuyeux et je ne pense pas qu'il soit juste de voir tous les utilisateurs en regarder un à chaque fois. Au lieu de cela, nous allons créer une variable entière. Nous allons rendre public et appeler cela ajouter du poids. Au lieu de dire « show ad », nous allons dire que le poids est égal à un poids plus un. Et c'est essentiellement une façon de dire, d'accord, augmenté d'un. Nous pourrions également écrire ceci comme ajout de poids plus égal à un. Cela signifie exactement la même chose. Et puis on va dire que le poids est supérieur ou égal à trois. Ensuite, je veux réinitialiser adéquatement pour qu'il soit 0. Et je veux aller de l'avant et montrer mon annonce. Ce n'est pas le cas, cela signifierait que chaque fois que nous mourrons, nous allons augmenter en fonction des applications. Donc, tous les trois matchs nous allons montrer un peu plus gentil à un Irlandais. Si nous allons de l'avant et ouvrons Unity, nous allons lier cela et nous allons tester si cela fonctionne. Google ici au joueur, y trouvera notre State Manager. Assurez-vous de cliquer sur le bouton arrière pour l'inspecter, mais nous n'avons pas réellement ajouté nos annonces dans notre jeu. Nous devons également créer un nouvel objet. Nous allons créer un objet, appeler le gestionnaire d'annonces. Gestionnaire de musique, juste centré faisant glisser votre avantage là-bas puis accédez au lecteur audio et assurez-vous de le faire glisser sur votre manuscrit d'état comme ça. Si tout fonctionne, nous devrions être en mesure de suivre le poids supplémentaire ici. Si nous allons de l'avant et que nous frappons Play, nous pouvons voir tout simplement aller couper le son pour l'instant. Et puis, là-bas, si j'y vais et que je joue, je meurs. Je pourrais ajouter que le poids est bien maintenant un. Allez-y et mourrez encore. Mon agrégat est égal à deux. Et si je le fais pour une troisième fois, ce qui devrait arriver, c'est que je montre que nous y sommes parfaits. Ce sont des unités qui nous disent que nos publicités fonctionnent. Si nous devions maintenant construire ce jeu et le lancer, nous aurions en fait des publicités fonctionnelles, ce qui est vraiment, vraiment génial, excellent travail autour de cela signifie que l'ajout final à notre jeu est réellement terminé. C'est notre jeu mobile fini. C'est incroyablement impressionnant à quel point nous avons pu faire pendant si peu de temps et c'est génial, excellent travail. C'est incroyable. Et vous l'avez fait de façon étonnante dans ce cours, bien fait à tout le monde. Et après avoir terminé la vidéo finale, vous aurez créé votre tout premier jeu mobile dans Unity et C sharp. Un travail tellement incroyable. 21. Finition: Salut, et bienvenue à nouveau dans l'unité pour la dernière fois. Vous méritez maintenant une salve d'applaudissements car vous avez créé un jeu mobile incroyable. Et s'il s'agit de votre premier jeu mobile ou de l'un de vos premiers jeux, vous avez fait un travail incroyable, un excellent travail. Nous en avons presque fini avec un jeu mobile. Et il y a quelques choses qui doivent changer avant de les construire. Et puis je vais vous montrer comment le construire et le tester sur un émulateur. Ou si vous avez un téléphone Android ou un téléphone Android, racine cube de l'IRS, vous pouvez tester sur l'un de leurs téléphones. J'ai un téléphone iOS, mais je vais montrer comment construire avec un émulateur. Mais avant d'entrer là-dedans, j'ai besoin de changer une chose que nous avons écrite dans le cours. Si vous ouvrez votre script de mouvement, vous vous souvenez que nous utilisions des claviers. Et la raison pour laquelle nous utilisions raccourcis clavier pour notre mouvement, ou les touches du clavier, c'est parce que nous voulions tester et tous les ordinateurs. Maintenant, nous allons aller de l'avant et changer cela parce que nous voulons le construire. Supprimez donc ceci et tapez le nombre de points d'entrée supérieur à 0. Et cela va vérifier chaque image que vous mainteniez enfoncée. Si je suis à la terre, si vous avez des sauts, vous pouvez maintenir et continuer le travail, ce qui est vraiment cool. Maintenant, évidemment, nous ne pourrons pas tester ça parce que nous ne pouvons pas sauter. Nous ne pouvons pas toucher notre moniteur car nous sommes sur un ordinateur. Et évidemment, nos éléments d'interface utilisateur fonctionnent automatiquement avec l'unité. Ensuite, allez en haut ici, cliquez sur Build Settings et assurez-vous que votre plateforme est correcte. Je vais construire pour les APK. Je ne vais pas vérifier ça. Et il y a quelques paramètres ici. Vous pouvez définir toutes sortes de choses. Vous pouvez définir votre résolution ce que vous voulez pour pouvoir disposer d'un paysage, à droite ou à gauche, toutes sortes de choses. Je vais les laisser maintenant. En fait, je vais m' assurer que je ne peux aller au paysage que parce que je ne veux pas que le jeu soit portrait. L'image de démarrage que vous pouvez ajouter si vous le souhaitez. C'est comme une image au début. D'autres paramètres que je vais quitter maintenant, il y a quelques paramètres de publication, mais nous pouvons en fait partir. Nous devons simplement aller ici, nous devons cliquer sur Construire et nous devons aller de l'avant. C'est ici que mon projet est stocké sur mon ordinateur. Je vais aller de l'avant et économiser et ça va cesser de construire. Il s'agit maintenant d'un processus assez long. Alors, donnez-lui une minute. Une fois la construction terminée, votre jeu sera exporté. Si vous avez rencontré des erreurs lors de la création de votre jeu, Unity a parfois des erreurs qui ne sont peut-être pas de votre faute, peut-être avec le module que vous avez installé ou quoi que ce soit de ce genre, Il suffit de les taper directement dans Google. Et je vous promets qu'il y aura probablement quelqu'un là-bas qui a eu exactement le même problème que vous avez et qui l'a corrigé à moins innombrables fois et la plupart du temps cela a fonctionné. Il suffit donc d'essayer cela qui devrait résoudre tous les problèmes que vous avez rencontrés que je n'ai pas rencontrés. Une fois la construction terminée, vous serez prêt à tester votre jeu mobile. Je suis tous les deux Androïdes, je teste sur l'émulateur Android non joueur. Vous pouvez bien sûr utiliser un téléphone Android ou iOS si ce n'est pas le cas, et si vous votez pour IRS, je pense que vous pouvez télécharger une extension Mac sur un MacBook pour installer et tester des jeux mobiles à partir de là. Avant de tester, il y a quelques points à noter. Tout d'abord, en fonction de la plateforme que vous utilisez, si vous voulez tester votre jeu comme moi, vous devez vous assurer d'avoir défini votre identifiant de jeu sur le même que celui que vous gagnerez et que je suis Je vais vous montrer comment faire maintenant, toutes les annonces ne fonctionnaient pas. Donc évidemment, une fois que vous avez mis votre jeu avant d'aller gagner, allez de préférence ici aux services, cliquez sur les publicités et assurez-vous que vous avez défini la plateforme, Android ou iOS, cet ID, assurez-vous que vous l'avez défini ici sur l' ID du jeu de chaînes dans Add Magic, ouvrez le gestionnaire d'annonces et assurez-vous de le définir manière à ce que votre chaîne soit cette chaîne de chiffres. Une fois que vous avez fait cela, la publicité devrait parfaitement fonctionner dans votre jeu. La deuxième chose à noter avec les résolutions, c' que vous gagnerez peut fonctionner parfaitement pour votre appareil, mais il peut y avoir quelques éléments légèrement décalés sur votre résolution. Si c'est le cas, il suffit de modifier résolution de votre écran dans la résolution de votre écran dans Unity Editor et de déplacer certaines choses. Lorsque je teste cet objet de jeu certaines choses se déplacent vers la droite, mais dans l'ensemble, tout fonctionnait parfaitement et ma résolution était plutôt bonne. Allez-y et faites-le glisser dans le lecteur NOX. Vous pouvez voir qu'il va installer mon jeu pour moi. apprenant. Et il est écrit Install Complete. Je peux ensuite charger mon jeu. Les volumes ont été là. Nous pouvons voir que ça fonctionne bien, c'est génial. Si j'y vais et que je frappe Play, je peux sauter comme je l'ai été. Et je peux rester enfoncé, sauter dedans, et je vais continuer à sauter, ce qui est vraiment, vraiment cool effet mourir. Il a cette profondeur avec laquelle j'ai commencé. Je peux compter la musique si je voulais tous éteindre le son et continuer à bouger. Je parle toujours et je continue. Et si je meurs trois fois, je montrerai dans une seconde, je verrai un test d'unité Act, ce qui est vraiment, vraiment cool. Je peux aller de l'avant et sauter ça une fois que c'est fait et le fermer et nous pouvons voir que je suis de retour à mon jeu, ce qui est vraiment, vraiment cool. Cela nous amène à la fin de ce cours. Vous avez créé votre tout premier jeu mobile en utilisant Unity et C-sharp. Vous avez fait un travail incroyable, vous vous êtes donné une tape dans le dos et vous avez réussi à la fin du cours, vous avez acquis des compétences inestimables d'unité et de C-sharp, et j'espère que vous avez acquis suffisamment de connaissances pour commencer à créer vos propres jeux mobiles maintenant ou même améliorer celui que nous avons créé. Je suis connu pour un. Nous pouvons l'utiliser sur une icône pour que vous puissiez simplement accéder à vos paramètres de jeu ici, Paramètres création de fichiers, accéder aux paramètres du joueur. Et ici, vous pouvez sélectionner une nouvelle icône que vous n'étiez pas. Évidemment, il y en a différentes, les icônes adaptatives Legacy Round, vous pouvez en choisir une là-bas. Mais évidemment, l'éditeur Unity semble maintenant beaucoup plus familier. Et le monde du développement de jeux est désormais votre huître, en particulier le développement de jeux mobiles. Super travail, tout le monde. Je tiens à vous remercier beaucoup d'avoir suivi mon cours. Ce fut un plaisir de vous enseigner le développement de jeux mobiles. Et j'espère que vous vous êtes amusé et que vous avez beaucoup appris. Bien sûr, vous avez la permission d' utiliser toutes les ressources de ce cours et tout ce que nous avons construit pour transformer votre propre jeu mobile. Si vous voulez améliorer cela et sortir comme votre propre jeu mobile, vous pouvez le faire exactement. Très bon travail, tout le monde. Cela a été une expérience incroyable et j'espère que cela a été pour vous aussi. Merci encore de vous être inscrit.