Apprendre à créer des jeux en percant avec Godot | Michael Mcguire | Skillshare

Vitesse de lecture


1.0x


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

Apprendre à créer des jeux en percant avec Godot

teacher avatar Michael Mcguire, Author | Programmer

Regardez ce cours et des milliers d'autres

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

Regardez ce cours et des milliers d'autres

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

Leçons de ce cours

    • 1.

      Introduction à Skillshare

      0:39

    • 2.

      Qu'est-ce que le breakout

      2:58

    • 3.

      Configurer le projet

      8:24

    • 4.

      Créer la pagaie

      6:54

    • 5.

      Ajuster le joueur

      1:05

    • 6.

      Créer la balle

      14:04

    • 7.

      Créer les briques

      10:29

    • 8.

      Le système de notation

      8:07

    • 9.

      Correction de bugs après le scorage

      2:01

    • 10.

      Compter les balles

      6:06

    • 11.

      Fin de la partie et victoire

      15:13

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

14

apprenants

--

À propos de ce cours

Retournez là où tout a commencé et commencez votre parcours de développement de jeux en refaisant l'un des jeux les plus emblématiques de tous les temps.

Dans ce cours destiné aux débutants, vous apprendrez à recréer le jeu Breakout original de 1976 à l'aide du Godot Engine, gratuit et open-source. Ce projet se concentre sur les principes fondamentaux : un code propre, une mécanique de base et une simplicité visuelle fidèle, exactement comme l'original arcade.

À la fin du cours, vous aurez une compréhension plus approfondie des éléments suivants :

Rencontrez votre enseignant·e

Teacher Profile Image

Michael Mcguire

Author | Programmer

Enseignant·e
Level: Beginner

Notes attribuées au cours

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

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

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

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

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

Transcription

1. Introduction à Skillshare: Dans ce cours, nous allons continuer et créer un classique qui peut encore être refait à ce jour, notamment sur la plateforme mobile Et ce jeu s'appelle Breakout. À partir de là, l'objectif est d'avoir une balle qui rebondit sur les côtés des murs Vous le faites rebondir sur votre pagaie et votre objectif est de casser toutes les briques que vous voyez à l'écran Des briques différentes vous donnent ou des briques de différentes couleurs vous donnent différents montants de points. D'accord. C'est passionnant. Allons-y et commençons à recréer ce jeu classique auquel vous ou vos parents avez peut-être joué ou jouez encore aujourd'hui 2. Qu'est-ce que le breakout: Ensuite, dans cette section, nous allons apporter une légère modification à Pong, et ce sera un jeu appelé Breakout Celui-ci date de 1976, et il est intéressant l'écran n' était qu'en noir et blanc, couleurs comme celles-ci, et nous avions des couleurs comme celles-ci, comme vous pouvez le voir sur l'écran ici, parce qu'ils ont en fait mis du celophane coloré l'écran ou sur l'écran Mais c'est ainsi qu'ils ont été mis en couleur parce que l'écran lui-même, comme je l'ai dit, n'était qu'en noir et blanc. Maintenant, qu'est-ce que Breakout ? Eh bien, je vais jouer un peu, mais attention, il y a un petit clignotement. Vous pouvez voir ma souris ici en haut à gauche de votre écran pour le moment. Et si nous devions jouer ainsi, nous pouvons voir que ce que nous avons ici, c'est une balle rebondit sur les côtés frappe une pagaie et se fait rebondir Et je le fais en faisant Breakout juste après Pong parce que, comme vous pouvez le voir, sur cette base spécifique, nous avons déjà un système similaire avec Pong Nous allons donc nous appuyer sur ce que nous venons de faire dans le cadre du projet précédent. Maintenant, nous n'avons pas vraiment besoin de celui-ci ici en haut. Je crois que c'est juste pour montrer que c'est le premier joueur. Techniquement, c'est un jeu à deux joueurs, mais chaque joueur joue à tour de rôle de toute façon, donc nous allons laisser le jeu à un joueur. De plus, le système à deux joueurs était équipé d'une grosse machine de toute façon, oui. La suivante ici à droite de celle qui reste toujours en haut. Si je vais de l'avant, nous devrions voir des chiffres. Nous y voilà. C'est donc garder une trace de la balle sur laquelle vous vous trouvez. Vous êtes donc sur la première balle, la deuxième balle, la troisième. Une fois que vous avez touché la quatrième balle, c'est la fin de la partie. Et le chiffre qui clignotait ici, dans le coin, correspond aux points que vous obtenez Les briques jaunes vous donnent un point, briques vertes vous donnent trois points, briques oranges vous donnent cinq points et les briques rouges vous en donnent sept. Maintenant, votre objectif est de débarrasser complètement le plateau de toutes les briques. La balle accélère, elle devient plus dure. Et comme vous le voyez ici, par rapport à Pong, vous avez une jolie petite pagaie ici. Pour faire avancer les choses. Maintenant, lorsque vous terminez la partie, je suis presque sûr que la partie se réinitialise, comme elle le ferait si vous aviez terminé une partie de toute façon Nous pouvons donc utiliser la même logique, que nous gagnions ou perdions, effectuant simplement une réinitialisation. Mais c'est Breakout. Si vous ne saviez pas ce que c'était, je suis sûr qu'il existe des versions modernes du jeu. Mais si vous ne saviez pas ce que c'était, vous le savez maintenant. Et allons-y et passons à la mise en place de notre projet. 3. Configurer le projet: Donc, pour Breakout, je pense que je vais simplement laisser la même résolution de projet que celle que nous avons utilisée avec Pong Si vous souhaitez le modifier, bien sûr, n'hésitez pas à le faire. Encore une fois, cela se trouve dans l'affichage des paramètres du projet et dans la fenêtre. Mais je vais juste m'en tenir à ce que j'ai appris de la dernière visite que nous avons faite à Pong. Je suis entré dans mon projet J'ai créé un dossier Breakout, bien sûr Si vous voulez définir le vôtre en tant que projet distinct, vous allez probablement l'appeler breakout parce que c' est ce que c'est Et une fois que vous serez prêt à commencer, nous pourrons créer notre scène principale, qui ne comportera évidemment pas grand-chose quand on y pense. Je pense que nous pourrions y mettre de la valse. Voulons-nous le faire ? Oui, allons-y. Je vais donc créer un deux D. Je vais juste sectionner deux D ici. Ça me donnera une racine. J'ai un numéro deux D, ce qui est parfaitement bien. Pour cela, je vais continuer et faire ce que je fais habituellement c'est-à-dire le renommer pour dire « Le mien Je vais l'enregistrer dans mon dossier Breakout. Et comme je disais Glick Pong, je vais juste enregistrer le mien en tant que SCN, mais vous pouvez laisser le vôtre en tant que TSCN accord ? J'ai donc mon projet ici. Maintenant, de quoi avons-nous besoin ? Avons-nous besoin ? Eh bien, nous finirons par avoir une pagaie, mais elle se trouvera dans la section réservée aux joueurs. Il nous faut le ballon. Le ballon aura sa propre section. Nous pouvons apposer les étiquettes pour l'interface utilisateur, non ? Nous allons donc avoir besoin d'une place pour marquer, et d' une place pour suivre les vies ou la balle sur laquelle se trouve le joueur. Et nous allons avoir besoin de murs tout autour. Je vais donc y aller. Nous allons créer une couche de toile, comme nous le faisons toujours pour nos Gooeys Je vais donc le renommer GUI. C'est là que je vais créer mon étiquette. Nous voulons qu'elle reste précise, nous pouvons la définir comme telle. C'est très bien. On peut l'appeler joueur. Honnêtement, c'est parfaitement bien. Nous n'avons pas vraiment besoin de faire autre chose. Ensuite, au lieu du joueur, ce serait, je suppose, notre vie, non ? Des vies ou un décompte des balles. Ballon actuel. Oui, je vais passer à la balle actuelle, et elle commencera par une balle par défaut également. Maintenant, remarquez, je vais changer le point d'ancrage de celui-ci de notre compteur à balles pour qu'il soit en haut à droite Et je vais laisser l' alignement sur la gauche, juste pour qu'il soit éloigné du bord. Et pour ce qui est du joueur, je vais changer l'alignement pour qu' horizontal , pour être à nouveau sur la droite pour l'éloigner du bord. Il ne s'agit ici que d'une préférence personnelle. Et il va nous falloir deux autres labels. Je vais donc juste dupliquer joueur ici et le retirer. Et je vais juste appeler ça un score. Je suppose que je devrais techniquement l'appeler score label parce que c'est ce que c'est. Et je vais renommer la balle actuelle en son étiquette actuelle. Parce que nous n'avons pas besoin de variables exactement le même nom que les autres notes de la scène, cela compliquera un peu les choses au fur et à mesure. score sera évidemment composé de trois zéros pour nous ici C'est bon. Nous allons donc avoir besoin de murs installés pour nous. Donc, sur ces murs, je vais cliquer à nouveau sur mon nœud principal. Nous allons ajouter et les murs ne bougent pas. Je vais donc utiliser un corps statique à deux D. Souvenez-vous que ceux-ci ne bougent pas du tout, peu importe ce qui les frappe. Maintenant, c'est la seule raison pour laquelle je le fais c'est parce qu'ils étaient visibles dans le jeu original. Je vais donc ajouter un sprite en deux D à mon corps statique. Et n'oubliez pas que c'est un corps physique, et qu'il possède le triangle jaune qui nous indique : « Hé, il faut qu'il y ait une collision ». Ajoutons-y donc une forme de collision. Et nous pouvons aller de l'avant et donner cette forme, lui donner un rectangle. C'est très bien. Sprite two D. Texture, fais exactement comme avant Nouvelle texture dégradée, ouvrez-la, ouvrez notre dégradé, sélectionnez le noir, changez-le en blanc. Et maintenant je vais juste en changer la taille. Réduis-le. Je vais tout démonter. Et nous allons l' étendre jusqu'au bout. OK. J'ai donc un mur ici. Je vais renommer mon corps statique, disons mur. Je vais choisir celui qui est sélectionné. Oh, je dois aussi changer la forme de ma collision. Alors maintenant, je vais appuyer sur la touche Ctrl D de mon mur pour créer un doublon, mais il y a une chose que vous devez garder à l'esprit. Si vous faites cela, comment puis-je ne pas simplement saisir cette flèche Allons-y. Il suffit de le faire glisser. À peu près centré. Nous y voilà. Si vous dupliquez, il y a parfois des éléments que vous devez rendre uniques ici Par exemple, si je prends la forme de collision ici sur la première et que je la modifie, vous verrez que cela les affectera toutes les deux. Donc, ce que nous devons faire, c'est entrer dans notre mur, notre deuxième mur, et nous devons examiner des éléments tels que notre forme de collision sur la forme et notre inspecteur, aller dans notre forme de collision sur la forme et notre inspecteur, le menu déroulant et sélectionner Rendre unique. Et maintenant, si nous devions changer cela, cela ne les affecterait pas tous les deux. Cela n'affectera que celui-ci, car ils sont désormais classés en tant qu' objets distincts, en tant que formes distinctes. Ils ne partagent donc pas le même. C'est bon. Et il nous faut encore un mur pour traverser le sommet. Nous allons donc avoir besoin de nous déplacer quelque part au centre, et nous devons redimensionner ces objets Sprintez ça vers le bas. Et je vais juste comparer une taille ici. C'est à peu près la même épaisseur. D'accord. Et je vais sortir mon sprite. Ajustements. Allons-y. C'est très bien. Maintenant, je dois faire la même chose avec la forme. Mais n'oubliez pas que je l'ai dupliqué, donc je dois le rendre unique avant de le modifier Maintenant, je peux entrer et le manipuler comme je veux. Alignez ça. Excellente. Maintenant, nos trois murs sont en place, et ils entrent en collision. Donc, si la balle la touche, il suffit de configurer le rebond, et tout devrait bien se passer Le fond est grand ouvert. Notre pagaie, on peut juste la taper dedans. Quand nous aurons notre joueur, le ballon, nous l'installerons plus tard, et les briques, je crois, nous le ferons aussi plus tard, ce qui signifie que je pense que nous en avons terminé avec notre configuration ici. Alors allez-y et je vous verrai dans le prochain où nous continuerons et commencerons par installer notre pagaie. 4. Créer la pagaie: Allons-y et lançons la bataille pour Breakout. Ce sera donc similaire à Pong, sauf qu'au lieu de nous déplacer de haut en bas, nous allons nous déplacer de gauche à droite. Donc, dans notre scène principale. Et si ce n'est pas déjà fait, vous devriez probablement économiser puisque vous avez déjà tout configuré. Nous pouvons y ajouter un corps de personnage en deux D parce que ce sera notre joueur. Nous pouvons ajouter un sprite en deux D afin de pouvoir exposer notre pagaie. Et bien sûr, nous allons également avoir besoin d' une forme de collision sur le corps de ce personnage. Je vais donc renommer le corps de mon personnage pour qu'il soit appelé joueur Sprite deux D, je vais entrer dans la texture, la nouvelle texture dégradée deux D, sélectionner, ouvrir le dégradé, peindre le noir, le changer en blanc Je peux voir que cela ne change pas automatiquement pour nous, alors je vais simplement utiliser le HDR puis le désactiver. Maintenant, nous avons une petite pagaie avec ça, donc je vais juste aller de l'avant et la descendre. Oui, peut-être que quelque chose comme ça serait bien. Et je vais ajouter une forme de collision. Je vais en changer la couleur pour qu'elle ressorte du lot. Nous allons opter pour le rouge. Et je vais en faire un rectangle. Branchez-le pour qu'il soit sur le côté de notre pagaie. Maintenant, prenez notre joueur et déplacez-le vers le bas l'écran jusqu'à l'endroit où nous voulons obtenir une bonne position de départ. Je vais avoir un espace en dessous de mon joueur, en dessous de ma pagaie. Je vais lancer cette scène jeter un coup d'œil, voir si je l'aime. Oui, je pense que c'est un bon endroit à placer. C'est bon. Je vais donc passer maintenant aux paramètres de mon projet. Je vais créer mes mappages que je vais utiliser pour ce jeu Maintenant, dans ce cas, j'en ai déjà quelques-unes que j'avais auparavant, mais je pense que je vais continuer avec le thème, et je vais juste partir à gauche et à droite. Non, à gauche, bien sûr, ce sera A. À droite, ce sera D. Bien sûr, pour vous, il peut s'agir de touches fléchées si vous préférez. Maintenant, notre joueur a besoin d'un script pour que nous puissions passer à l'action. Voyons voir. Res, un joueur d'élite. Ouais, c'est bon. Extension d'un corps de personnage en deux D, script GD écrit. Très bien, créez. Et tout ce dont nous avons besoin ici, c'est de notre mouvement. Donc, si vous vous souvenez d'avant, nous avions une vitesse qui était un int d'un certain nombre. Je vais aller de l'avant et le fixer à 30. Et voyons voir. Nous pouvons aborder notre fonction, le processus physique, parce que nous avons affaire à du mouvement ici, et nous pouvons aller de l'avant et utiliser le mouvement et le glissement, même si nous voudrions peut-être nous déplacer et entrer en collision cette fois-ci Nous pouvons l'essayer. Voyez ce qui se passe. Déplacez-vous et entrez en collision et nous transmettrons simplement la vitesse nous-mêmes Et notre point de vélocité X. Nous devons d'abord obtenir nos entrées. Donc, je saisis le point pour indiquer l' action, appuyer, sortir à gauche. Donc, pour celui-ci, nous allons passer à la valeur négative du X. Supposons que la vitesse X soit égale à moins un fois la vitesse. L si l'entrée est pressée. Évas-toi, c'est vrai. Nous allons faire le contraire. Nous allons faire en sorte que le point de vélocité X soit égal à une fois notre vitesse, et nous pouvons y jeter un œil. Je vais juste m' occuper de la scène. Et je viens de me rendre compte que je n'en avais pas mis d'autre. Donc, si je le touche une fois, nous allons passer à autre chose, et c'est très rapide. Je vais donc probablement souvent le refuser. Nous allons descendre à cinq, et nous pourrions essayer. Et je vais aller de l'avant et y mettre notre autre bloc. Sinon, le point de vélocité X est égal à. En fait, vous savez ce que je peux simplement dire que la vélocité est globalement égale à un vecteur 20, et c'est ce qui va nous donner un zéro sur le X et zéro pour le Y, ce qui est bien car le Y n' est pas affecté dans ce jeu pour nous. Et c'est simplement plus facile à lire que de faire en sorte que le point de vélocité X soit égal à zéro. Quand on dirait simplement que la vitesse est nulle. Très bien, alors essayons à nouveau avec notre nouvelle vitesse. D'accord ? J'aime bien, mais c'est peut-être un peu trop rapide pour ce que je recherche. Je vais donc y aller et changer cela, peut-être que j'en essaie trois. Et je crois que c'est mis à jour, mais pour être sûr, je vais le redémarrer. Oui, je pense que ce sera bon pour ma vitesse. Donc, si tu veux aller plus lentement, tu peux. Si tu veux aller plus vite, c'est à toi de décider. J'essaie de garder à l'esprit que la balle va accélérer sous les porches, comme c'est le cas pour Pong D'accord. Génial. J' ai donc configuré mon lecteur, et si j'arrête d'appuyer sur les boutons, nous arrêterons simplement de bouger ensemble. Voilà donc mon joueur. Ensuite, nous pouvons créer notre balle et la faire apparaître dedans Et peut-être que nous allons faire rebondir ici aussi. Peut-être que nous ferons tout cela dans une seule vidéo pour le bal. C'est vrai. Je vous verrai donc dans le prochain match quand vous aurez configuré votre pagaie, et nous commencerons à créer notre balle pour le jeu. Et une fois que nous aurons le ballon, nous installerons nos briques. 5. Ajuster le joueur: Vous remarquerez peut-être si je viens ici. Allons-y. Ma pagaie bouge toujours à peu près de la même manière, mais j'ai apporté quelques modifications, et je veux juste vous montrer cela au cas où vous seriez un peu confus en la voyant plus tard. Donc, si je passe à mon script, ma vitesse est maintenant de 200. Et ce que je fais différemment, c'est je mesure les vitesses par Delta, et c'est ce que vous devriez faire lorsque nous avons des objets en mouvement ici. Il ne nous reste plus qu'à le faire en se déplaçant et en entrant en collision. Nous n'avons pas à l'utiliser avec Move and Slide parce que déplacer et glisser, si je comprends bien, c'est en fait calculer cela en soi, n'est-ce pas ? Mais si nous utilisons Moving Cloud comme nous le faisons dans ce projet, nous devons multiplier nous-mêmes notre vitesse par Delta. C'est bon. Je voulais donc juste jumeler cela très rapidement avant de passer à autre chose et de voir les choses se compliquer. Et puis peut-être que je recevrai un tas de questions à ce sujet pour ne pas l'avoir mentionné. 6. Créer la balle: Allez-y, créez notre balle pour notre jeu maintenant, non ? Je vais donc entrer dans mon principal ici, appuyer sur Plus, et je vais utiliser un corps de personnage deux D. Je vais le renommer en balle Bien sûr, il va falloir une forme de collision, non ? C'est logique, et il va falloir un sprite pour que nous puissions le voir Tout comme notre lecteur, d'accord, donc notre texture, vous savez où nous voulons en venir à ce stade, pulvérisez deux D, inspecteur, texture, nouveau dégradé, deux D, ouvrez le dégradé, sélectionnez le noir, changez-le en blanc Nous y voilà. C'est évidemment trop gros. Alors réduisons-le. Voir. Jusqu'où voulons-nous atteindre l'objectif ? Apportez tout ça ici. Ne lançons pas le jeu ici très vite. Jette un coup d'œil. Hum, je pense que c'est bon. Je ne veux probablement pas aller plus loin que ça. Bien que. Si vous voulez réduire votre taille, nous pouvons certainement le faire. Mettez-en un de plus de chaque côté et faites quelque chose comme ça. Et je vais devoir réinitialiser cette transformation. Alors, avec mon inspecteur de balle, changez de position. Je vais cliquer sur le bouton de réinitialisation juste pour pouvoir le remettre dans le coin où il devrait se trouver. Collision. Je vais lui donner une nouvelle couleur, opter pour un vert, une forme, un rectangle et y faire rétrécir ce mauvais garçon. Et maintenant, nous avons une balle. Maintenant, je vais prendre cette balle et je vais la repositionner ici. Tout le chemin jusqu'ici. Parce que la balle n'apparaît pas sur le joueur, mais juste au-dessus du joueur, puis elle est lancée. Donc, vu la façon dont je vais le faire, avant maintenant, je pense que nous allons laisser les choses comme ça. Ceci pour le moment. Et voyons voir. Je vais ajouter un script à ma balle, vérifier ma trajectoire, sortir la balle, le corps du personnage, deux D, GD, script, à droite, créer Et ce dont nous aurons besoin, c'est d'une direction initiale dans laquelle il se dirige. Nous pouvons donc poursuivre notre processus physique parce que nous sommes un corps physique et que nous nous déplaçons. Nous pouvons nous déplacer et entrer en collision. Bien que je pense que je vais juste utiliser l'IDE MoVen, peut-être avec celui-ci Nous avons besoin de notre point de vélocité X. Oui. Et notre vitesse Y. Nous devons régler les deux, et je vais dire Oh, nous n'avons pas besoin de constante Je vais continuer et créer une variable appelée vitesse. Ce ne sera pas une constante car n'oubliez pas que notre vitesse n'a pas besoin de changer au fil du temps lorsqu'elle rebondit Et je vais le définir comme égal à 30 au départ, et nous allons y jeter un œil. Donc, pour le moment, allons-y et réglons-le simplement une seule fois la vitesse pour le moment. Et nous allons faire la même chose avec Y, sauf que nous allons le rendre négatif, évidemment, pour le faire augmenter pour le moment. Et je veux juste voir à quelle vitesse ça va aller. Il y en a donc 30. Cela nous semble être une vitesse de départ parfaite . Je pense que nous allons faire même chose qu' avec Pong, et nous verrons comment cela fonctionne , jusqu'où nous pouvons aller avant de devoir apporter d' éventuels changements. Je vais donc avoir une direction H et une direction V, afin que nous puissions les remplacer par les nôtres ici, et je vais commencer notre verticale par un moins un. Et c'est là que nos changements entrent en jeu, n'est-ce pas ? Donc, selon que nous avons touché un sol, un plafond, etc. Alors allons-y et disons que c'est sur Whoops. scellement dans le sens B temps de scellement dans le sens B est égal à moins un, donc ça va le renverser. Mais nous ne voulons pas le faire uniquement au plafond. Nous voulons le faire également si nous touchons le sol, car c'est le sol qui sera lorsqu'il atteindra notre schéma. Ou est-ce que Whoops est sur le sol. Maintenant, cela pourrait fonctionner. Cela risque de ne pas fonctionner. Nous allons devoir y jeter un œil et voir comment cela fonctionne, car nous avons travaillé avec Pong. Nous savons comment faire ces rebonds, nous allons donc y jeter un œil Hein ? C'est bon. Alors allons-y avec LF. Nous allons travailler avec ce que nous savons se trouver sur Wall. Le temps de direction H est égal à moins un. Très bien, alors jouons-y, jetons un coup d'œil et voyons comment ça se passe. Alors c'est parti. Ça devrait rebondir ici. C'est le cas. Ça devrait rebondir sur le dessus. C'est le cas. C'est en train de descendre. Cela pourrait nous toucher. Il risque de heurter le mur. Nous verrons. Ça va nous toucher. Très bien, on dirait que nous avons rebondi. On dirait Pong. Cela fonctionne parfaitement, du moins pour le moment. Donc, en ce qui nous concerne, nous avons notre code de rebond. Notre joueur est configuré. Maintenant, la différence, c'est que nous voulons accélérer les choses. Et nous allons accélérer les choses, peu importe sur quoi elles rebondissent, n'est-ce pas ? Nous allons donc aller de l'avant et dire que nous allons aller de l'avant et faire de speed plus égale cinq. Nous le ferons également si nous heurtons un mur. Nous devrions donc voir cela s' accélérer à chaque fois qu'il rebondit, comme nous l'avons fait avec Soyons donc patients et jetons un coup d'œil. Il y a un rebond, deux rebonds, nous en sommes à plus de dix. Nous allons aller ici quelque part. Boum, 15, 20, donc nous devrions être à une vitesse de 50, 55, 60, et je l'ai fait rebondir en contrebas, donc maintenant c'est hors limites Cela aurait perdu le goût amer. Mais nous voulons nous assurer que nous avons défini une vitesse maximale. Maintenant, quel est ce maximum, je ne sais pas. Il faudrait le tester. Nous y avons vu que nous en étions arrivés à environ 55. Ce n'était pas trop mal. Alors peut-être que nous pouvons atteindre une vitesse maximale de 100. Maintenant, comment pouvons-nous faire en sorte que cela reste conforme ? Eh bien, il faudrait régler notre vitesse. C'est égal à, et nous voulons obtenir le minimum. Nous allons donc dire qu'entre les deux , cela nous renvoie la valeur minimale des arguments que nous transmettons. Donc, si nous disons vitesse plus cinq, vitesse maximale, cela nous donnera soit vitesse plus cinq soit vitesse maximale, le plus petit des deux étant retenu, et c' est ce que la vitesse sera égale. Donc, en faisant cela, la vitesse augmentera continuellement, mais elle ne dépassera jamais la vitesse maximale ici. Hein ? Et nous pouvons le faire ci-dessous. Le suivant. Nous y voilà. Et je vais juste aller de l'avant et garder ça vu. Et pour l'instant, comme je l'ai dit, il semble que tout fonctionne parfaitement bien pour nous. Nous voulons cependant définir l' apparition de la balle lorsque nous commençons, car il y a généralement une petite pause lorsque cela se produit, puis elle apparaît au-dessus du joueur Allons-y et ajoutons-la très rapidement. Cela fera partie de notre fonction prête à affronter le ballon. Et ce que je vais faire Ah, oui. Tu sais quoi ? C'est très bien. Très bien, alors allons-y, nous allons utiliser quelque chose appelé await Et je crois l'avoir mentionné pendant Pong, lorsque nous avions la section Game Over ou l'écran de victoire, quel que soit le nom que vous vouliez, attendez, obtenez un arbre de soulignement, créez un chronomètre Nous pouvons indiquer un délai d'attente composé de chiffres trois et de points. Ensuite, après le laps de temps prédéfini ici, nous faisons ce qui suit, ce qui, dans notre cas, va générer la position Très bien, alors allons-y et nous pouvons le faire. Voyons voir. Donc, au lieu d'avoir 3 secondes prédéfinies, allons-y et faisons un Rd. S' agit-il d'une plage Randi ou Rand Je crois que c'est Randi. Qui, ce n'est pas vraiment le cas, n'y entre pas. Ce sera trois pour cent plus un. Maintenant, c'est exclusif, qui signifie que cela va nous donner un entier aléatoire allant jusqu'au chiffre trois. Cependant, comme il s'agit d'un code, cela va nous donner 01 et deux. Et évidemment, zéro ne sera pas acceptable ici parce que nous avons besoin d' une sorte de bonus. Donc je fais plus un. Donc, quel que soit le nombre que nous obtiendrons, nous allons en ajouter un. Donc, si nous arrivons à zéro, nous ferons plus un. Cela donne donc notre nombre minimum à un. Et si nous en obtenions réellement un, cela deviendrait deux. Si nous obtenions un deux, cela deviendrait un trois. Alors maintenant, nous en avons 1 à 3, ceci. C'est bon. Nous allons donc attendre un laps de temps aléatoire. Ensuite, nous allons définir notre position pour qu'elle soit là où se trouve le joueur à l'heure actuelle. Nous allons donc dire que la position globale est égale à la position du joueur, à laquelle nous n'avons aucune référence. Je vais aller de l'avant et le faire ici. Pour cela, je vais exporter notre joueur sous la forme d'un corps de personnage à deux D que je peux définir et notre position sera définie sur la position globale du joueur. Seulement, nous allons changer Y parce que nous voulons qu'il soit au-dessus du joueur. Nous devons donc passer à la position globale, le point Y moins est égal. Disons cinq. Nous verrons comment cela se passe. Mais n'oubliez pas que je dois accéder à mon script de balle ici et définir la variable du joueur, appuyer sur le bouton assigné, sélectionner notre joueur réel. Et nous verrons comment cela fonctionne. Dans un premier temps, nous allons mettre la vitesse à zéro car nous ne voulons pas encore que le ballon bouge. En fait, je vais aller dans la hiérarchie des scènes et cliquer sur le petit globe oculaire pour le masquer Donc, si nous jetions un coup d'œil et que je clique dessus, la balle disparaît, revenant dans le script de la balle une fois que nous avons défini la position, n'est-ce pas ? Nous avons donc attendu. Nous l'avons défini comme étant égal à la position du joueur. Nous avons levé le ballon au-dessus du joueur. Ensuite, nous allons définir la visibilité de la balle, donc nous allons simplement dire visible. C'est vrai pour le montrer. Ensuite, nous allons régler la vitesse égale à 30. Et nous pouvons même définir cela avec une constante, juste pour rendre les choses encore plus claires C'est ce que nous appellerons la vitesse de départ. Maintenant, nous pouvons simplement dire que la vitesse est égale à la vitesse de départ. Très bien, donc si on joue ça, on verra le ballon. Nous y voilà. Il est juste apparu sur nous et s'est effacé d'lui-même. Et si nous recommençons, nous le verrons. Ça y est. Très bien, notre balle est donc en train d'apparaître. Il fait apparaître à peu près le joueur. Je pense que je voudrais en fait régler ce paramètre sur dix au lieu de cinq parce que ces cinq paraissaient un peu proches. C'était peut-être juste moi qui me déplaçais. Mais je vais passer à dix, c'est vrai, nous avons le ballon qui fonctionne. Ça rebondit Maintenant, une fois que nous aurons mis quelques briques dedans, nous verrons si nos rebonds sont toujours bons ou s'il faut les modifier En plus, je suppose, commencer à détruire les briques, à faire notre score, à compter balles lorsque nous les perdons ou que nous perdons nos vies. Je suppose qu'à ce moment-là, nous aurons plutôt bien terminé, mis à part tout ce que nous voulons modifier Très bien, nous avons donc acquis les bases du fonctionnement de notre ballon. Ensuite, nous allons jeter un œil à nos briques. 7. Créer les briques: Très bien, nous allons donc créer les briques pour notre jeu ici, et les briques seront à peu près de la même taille que le joueur. Donc, ce que je vais faire, c'est le copier. Je vais passer à mon annonce principale, et nous pourrions créer un corps statique. Oui, parce que nous n'avons pas du tout besoin d'eux pour déménager. Et je vais appeler ça une brique jaune. Cette brique jaune va avoir besoin d' une forme de collision et d'un sprite Donc, ce que je vais faire pour tricher un peu , c'est aller voir mon joueur Je vais cliquer sur le Sprite two D, maintenir la touche Shift enfoncée, cliquer sur la forme de collision, faire Control C. Accédez à ma brique jaune, appuyez Control V pour les ajouter Maintenant, souvenez-vous de ce que j'ai dit tout à l'heure. Nous allons entrer et les rendre uniques. Et rendez unique récursif. Que nous pouvons également faire le dégradé. Forme de collision, saisissez-la, rendez-la unique et pour la couleur. Bien sûr, allons-y avec un jaune pour le moment. Mais maintenant, nous avons une brique jaune et nous pouvons prendre cette brique et la placer n'importe où dans notre jeu. Par exemple, je pourrais en mettre un juste ici et l'aligner. Maintenant, je peux juste faire Control D, Spide le suivant. Je pense donc que je vais mettre ce petit espace entre les deux. Contrôle D, sortie directe du suivant. Et je vais juste essayer de rester aussi constant que possible. Et je vais aller de l'avant et aller jusqu'au bout. Très vite. Très bien, donc je suis parti, et j'ai toutes ces briques jaunes installées ici, et il y en a beaucoup. Et j'ai deux rangées. Je ne vois rien du haut de ma tête. Je ne me souviens pas s'ils avaient deux ou trois rangées dans le jeu, mais pour l'instant, j'en ai deux. Et il y en a beaucoup qui risquent de s'effondrer ici. Je les ai toutes effondrées. Malheureusement, je ne sais pas. Non, c'est juste pour une branche. Eh bien, c'est malheureusement le cas. Il y a peut-être une touche de raccourci qui me manque quelque part. Mais pour l'instant, ce n'est pas important. Vous pouvez voir que toutes ces briques sont toutes installées. Et je veux vous montrer comment nous allons déterminer ce que nous allons atteindre. Parce que tout ce que nous avons à faire est créer à nouveau cette même configuration, le faire pour les blocs orange, blocs rouges et les blocs verts. Mais pour vous montrer comment cela fonctionne, je vais entrer dans ma balle, entrer dans mon script, et dans le cadre d'un processus physique, nous allons faire une déclaration if ici. Donc, nous allons essentiellement dire que si nous entrons en collision avec quelque chose, nous allons imprimer le nom de l'objet avec lequel nous sommes entrés en collision, Donc, si Yet, c'est le nombre de collisions planées. Donc, si c'est tout sauf zéro, cela va nous redevenir vrai, et il s'agira essentiellement de dire, si nous entrons en collision avec quelque chose, et si c'est le cas, alors nous allons imprimer Et ce que nous allons imprimer, c'est une collision entre des curseurs et des diapositives. Et nous allons transmettre un indice de zéro parce que nous voulons obtenir le premier objet avec lequel nous entrons en collision, alors qu'en réalité, nous ne devrions entrer en collision qu' avec un seul objet à la fois Donc, si nous imprimons et non imprimons, mais jouons à ceci, nous devrions y jeter un œil, nous devrions voir en bas de notre sortie la brique jaune en cours d'impression. Oui, ce sont tous nos. Il y a ma confusion là-dedans dans le texte imprimé. Nous imprimons la collision de la première face, mais ce que nous devons faire, c'est récupérer le collisionneur, pour obtenir ce avec quoi nous sommes en collision Ensuite, nous imprimerons le nom. Donc, obtenez une collision de diapositives, passez un zéro, obtenez Collider, nom du point Et si nous le faisons, nous devrions voir le nom de nos briques être imprimé fur et à mesure qu'elles entrent en contact avec des objets situés dans l'inspecteur. Optez pour Yellow Brick 12. Joueur, mur deux, brique jaune 16, joueur, mur, brique jaune trois, joueur. Brique jaune 20, mur, joueur. Brique jaune 8, mur, joueur. Yellow Brick 11, donc vous voyez l'idée ici. C'est vrai. C'est ainsi que nous allons procéder et mettre en place les choses pour détruire réellement nos briques et déterminer nos points à cet égard. Et bien, en général, c'est ainsi que nous allons déterminer si nous heurtons une brique au départ. Mais bon, je vais donc prendre mes briques, les transformer ou configurer les autres couleurs pour mes briques, et je reviens tout de suite. Il n'est pas nécessaire de vraiment vous montrer comment faire. Je vous ai déjà montré comment créer une brique et simplement la copier, faisant glisser jusqu'à ce que je fasse deux couches. Je vais faire la même chose, mais avec des couleurs différentes. Et avec ces couleurs également, je peux entrer dans mon dégradé ici et simplement changer ces deux couleurs pour que nous puissions réellement mettre fin à la partie des couleurs. Ça va être un chapeau jaune. Je vais copier mon code là-bas. Sélectionnez l'autre blanc, collez-le dedans. Et si j'y joue, vous verrez que nous en avons maintenant un. Oh, non, nous les avons tous. C'est vrai parce que nous les avons copiés. Nous avons donc maintenant toutes mes briques jaunes. Alors maintenant, je peux simplement continuer et créer mes briques oranges maintenant. D'accord. Alors donne-moi juste une seconde, et je vais le créer. Vous pouvez continuer et, bien sûr, faire une pause, créer et configurer toutes vos briques. Très bien, j'ai lu et créé toutes mes briques, et j'ai vérifié avec la vidéo. Il n'y a que deux couches de jaune, vert, orange et rouge. Alors, qu'est-ce qu'il nous reste pour nos briques ? Nous avons besoin de les détruire réellement lorsqu'ils sont touchés. Donc, si nous passons à notre code, nous devrions facilement être en mesure de le détecter. Donc, au lieu d'imprimer ici, je vais créer une variable d' opérations, une variable appelée nom d'objet. Cette grosse ficelle. Ce sera égal à ce que nous étions en train d'imprimer. Alors, obtenez Slide Collision Zero. Obtenez le nom du point du collider. Et ensuite, à partir de là, nous pouvons continuer et vérifier si Wow. Si vous insérez le nom de l'objet, ce qui devrait évidemment être le cas, moins compte tenu de la façon dont ma dénomination est configurée, n'est-ce pas ? Brique jaune, brique verte, brique orange, brique rouge. Je suis désolée pour ça. Et si la brique se trouve dans le nom et dans le nom de l'objet ? Alors nous devrons récupérer cet objet et le libérer. Et pour ce faire, nous devrions également entreposer le collisionneur En plus du nom, ils vont également acquérir un collisionneur de voitures Maintenant, je vais réduire du mieux que je peux, parce que je ne peux pas simplement dire que c'est un corps statique comme le sont les briques parce qu'elles ne seront pas toujours des briques, n'est-ce pas ? C'est peut-être le mur. Le mur est également un corps statique, un corps statique. OK, il semble donc que nous utilisions un corps statique. Mais n'oubliez pas que notre joueur est un corps de personnage. Nous devons donc en tenir compte. Donc, la forme la plus basse que nous puissions utiliser ici est simplement de le classer comme un corps physique deux D. Et ce sera, bien sûr, égal à t slide collision zero point Yet collider Le collisionneur sera notre objet. Le nom de l'objet sera le nom de l'objet. Si la brique est dans le nom, alors nous allons prendre ce collisionneur et le libérer C'est bon. Voyons comment cela fonctionne si nos briques commencent à être détruites. Allez-y, Little Yellow Go. Je l'ai fait. Notre brique jaune a été détruite, voyons voir. Toutes ces briques devraient également fonctionner. Puisque le jaune fonctionne, comme nous suivons tous la même logique, je ne sais pas pourquoi je suis passé à gauche. Ça a complètement gâché tout ça. Il va falloir faire réapparaître le jeu à un moment donné, afin de ne pas avoir à recommencer le jeu chaque fois que nous avons raté la balle pour des tests Un boom. Il y va. Oui, Monsieur. Nous avons presque une bonne partie de cette première couche, et je l'ai oubliée, mais je pense que nous pouvons probablement supposer que toutes les briques fonctionnent à partir de cette couche puisque, encore une fois, elles fonctionnent toutes sur la même chose Ils font du bricolage en leur nom. Nous savons que nous pouvons le confirmer. Fantastique D'accord. Nous avons donc maintenant toutes nos briques, rouges, oranges, vertes et jaunes. Ils sont tous prêts. Nous pouvons les détruire. La balle rebondit sur eux, parfaitement bien. Des détections appropriées Ensuite, nous allons continuer et nous verrons comment mettre à jour nos points pour la section suivante, ce qui signifie que nous allons obtenir points pour chaque brique que nous détruisons. 8. Le système de notation: Eh bien, pour que nous puissions commencer à suivre des choses comme le score, nous avons en fait besoin d'un score à suivre. Nous allons donc aller jusqu' à notre gars ici présent et y ajouter un joli petit script . Nous allons en créer un. Nous allons créer une variable appelée score. Il y aura un int, bien sûr, zéro. Allons-y. Et dans la fonction Ready, nous allons configurer certaines choses, comme le score à titre d'exemple. Mais je veux aussi aller de l'avant et, dans mon Due, l'étiquette de score configurer l'étiquette de score et l'étiquette de balle actuelle. Je vais donc les utiliser avec les exportations. Exportez donc Oups, pas de stockage, d'exportation, d'étiquette d'arc. C'est une étiquette. Et c'est pareil. étiquette de balle actuelle d'Export VR possède, bien sûr, une étiquette. Maintenant, je peux les sélectionner dans l'interface graphique. Inspecteur, cliquez sur Attribuer. L'étiquette de partition sera l'étiquette de partition. La balle actuelle sera la balle actuelle. OK. Maintenant que je suis prêt, on peut se mettre en route. Le texte à points de l'étiquette de partition est égal à GORE. Nous devons le compléter et le convertir en chaîne, donc STR au début, ouvre les parenthèses Mettez le score entre parenthèses, fermez les parenthèses et faites des zéros, et nous allons le compléter par trois parce que nous pouvons certainement atteindre trois chiffres avec ce jeu. Assez facile. Et nous allons avoir besoin d' une autre variable pour la balle actuelle et commencer par une, comme c'est le cas dans le jeu. Et nous veillerons à définir cela pour notre étiquette de balle actuelle. Ainsi, le texte en points de l'étiquette de la balle actuelle est égal à une chaîne de la balle en cours. Maintenant, lorsque vous l'exécuterez, il n'aura pas l' air différent de ce qu'il avait avant. Et, bien sûr, nous n'avons toujours pas de points, mais comme vous l'avez dit, veillez au moins à ce que rien ne soit cassé, ce qui est formidable. Voyons voir. Alors, de quoi avons-nous besoin maintenant ? Nous devons réellement mettre à jour notre score. Et lorsque nous le faisons, nous devons mettre à jour le texte ici. C'est bon. Passons donc à notre script de baseball. Et lorsque nous heurtons une brique, avant d'entrer en collision avec elle ou avant de la libérer, nous devons vérifier ou du moins cocher la case I en jaune dans le nom de l'objet, faire ceci, et nous allons simplement continuer cette plusieurs fois et nous pouvons changer cela en fait, nous n'en avons besoin que si c'est parce qu'une seule d'entre elles devrait être capable de se déclencher. Je l'ai compris à l'envers. J'ai commencé la première fois. Elsif C'est ce que j'étais en train de mettre. Et tout ce que nous allons vérifier, c'est le jaune, le vert, l'orange et le rouge. Et tout ce que nous allons faire ici, c'est mettre à jour le score. Et pour ce faire, je pense que nous pouvons soit utiliser l'interface graphique, soit créer un signal à lui envoyer. Maintenant, comme je ne pense pas que nous ayons appris une tonne de nouveaux concepts ici, je vais vous montrer comment créer votre propre signal, tout comme si vous regardez l'inspecteur et l'onglet des nœuds et que vous avez ces signaux, je vais vous montrer comment nous pouvons créer notre propre signal. Donc, tout comme pour les variables, il suffit de taper le mot signal, d' accord, parce que nous voulons créer un signal, tout comme vous tapez en VR lorsque vous voulez créer une variable, puis vous entrez un nom de signal. Ce signal va donc augmenter le score. Et je vais devoir passer un chiffre par pouce comme ça. Le signal est donc d'augmenter le score. Est-ce qu'il transmet un argument et que cet argument est un entier. Maintenant, si nous devions y jeter un œil à l'intérieur de l'inspecteur, cliquez sur Ball, cliquez sur l'onglet Non et nous pourrons voir notre signal personnalisé ici, tout est configuré. Maintenant, nous pouvons double-cliquer dessus et le connecter à l'interface graphique, et je pense que c'est ce que je vais faire ici. Double-cliquez, GI, assurez-vous qu'il est connecté. Désolé, cliquez, appuyez sur Connecter. Maintenant, sur GI, nous allons pouvoir mettre à jour notre score. Pour ce faire, nous pouvons faire en sorte que SCOR plus égale NUM Great. Et comme nous l'avons fait lors de la préparation, nous pouvons simplement mettre à jour le texte de l'étiquette de partition et, bien sûr, le compléter. C'est bon. Maintenant, cela ne va pas encore fonctionner parce que nous devons retourner à notre balle parce que nous n' envoyons jamais ce signal à aucun moment. Nous devons donc réfléchir à l' endroit où devons-nous envoyer cela ? Eh bien, nous devons l'envoyer ici et ici et ici, non ? Chaque fois que nous avons ces briques pour marquer le score. Nous allons donc augmenter le score émis, puis nous avons dû passer notre argument avec la brique jaune, c'était un point. Avec la brique verte, j'ai marqué trois points avec la brique orange. Oups, j'ai copié la mauvaise chose maintenant. Avec la brique orange, c'était cinq points, et avec la brique rouge, c'était sept points. Donc, si nous le faisons maintenant et que nous appuyons sur Play, nous devrions voir notre score juste ici, mis à jour chaque fois que nous cassons une brique. Alors allons-y. Nous devrions obtenir un point grâce aux briques jaunes. Nous y voilà. Nous obtenons donc maintenant des points. Cette balle se déplaçait si lentement qu'elle a perdu l'œil à une vitesse embarrassante alors qu' elle dérivait paresseusement vers Donc un point, boum, rebondissez. Nous allons obtenir un point de plus. Rebondir, rebondir Et vous remarquerez que nous n'obtenons ces points que lorsque nous frappons les briques comme il se doit. C'est donc génial. Boum, boum. Comme la pagaie était un peu plus longue. D'accord. Nous avons donc fait valoir nos points. Nous envoyons notre signal fonctionne, envoyons les bons numéros. Nous pouvons facilement supposer que ces chiffres fonctionneront également parfaitement. Et devons-nous faire autre chose dans la section consacrée aux points ? Je ne le crois pas. Non, ensuite, allons-y et nous allons configurer notre compte de balles et la réapparition des balles pour nous 9. Correction de bugs après le scorage: Très bien, alors je jouais ici, juste pour m'assurer que tout fonctionne et tout va bien, et nous avons rencontré un problème ici Je ne suis pas sûr à 100 % de ce qui s'est passé, mais je pense que la balle a touché deux briques en même temps ou très, très près l'une de l'autre. Assez pour que nous puissions entrer dans cette déclaration, mais pas assez pour que Clider réellement égal à ce que nous donnions quoi que ce soit Nous allons donc d' abord nettoyer le nom de l'objet ici. Nous avons simplement défini ce paramètre sur le nom du point de collision. En fait, je vais mettre un autre chèque ici et dire, je suis entré en collision. Cela devrait donc nous permettre de vérifier que Collider est bien quelque chose et qu'il n'est pas nul Cela signifie que je vais juste récupérer tout ce qui se trouve à la ligne 25. Jusqu'au quart du point de collision, je vais juste appuyer sur l'onglet avec tout surligné, ce qui devrait empêcher que ce problème ne se produise Étant donné que le problème était là, nous sommes entrés dans cette déclaration If, d'une manière ou d'une autre, nous pouvons également mettre un autre chèque ici si nous le voulons. Nous pouvons dire plus que zéro, même si nous ne devrions pas entrer si ce n'est pas déjà le cas. Ensuite, nous avons le collisionneur, et si d'une manière ou d'une autre le collisionneur est nul, alors nous allons simplement nous arrêter de là Nous n'allons pas continuer. D'accord, donc je voulais juste ajouter ça au cas où vous le trouveriez aussi pendant que vous jouiez, comme je l'ai fait Et, bien, ensuite, nous allons passer à la mise en place de la réapparition du ballon 10. Compter les balles: Allons-y et faisons en sorte que notre réponse se produise ici. Donc, l'essentiel de ce dont nous avons besoin ici c'est que lorsque la balle sort de l'écran, nous devons faire ce que nous faisons lorsque prêts et lui répondre ici avec sa vitesse par défaut et sa direction de montée par défaut et tout le reste. Il existe donc en fait un nœud que nous pouvons utiliser pour cela. Maintenant, si nous allons voir notre ballon, je vais juste l' allumer pour que nous puissions le voir ici. Maintenant, cette ligne bleue est en bas de notre écran, que vous devriez connaître maintenant. Et sur cette balle, je vais ajouter un nœud spécial appelé visible à l'écran Notifier. Maintenant, ce que cela va faire, c'est que cela nous a donné un peu d'espace ici, et c' est la zone qui va être cochée. Et une fois que cette boîte n'est plus à l'écran, elle peut nous envoyer un signal indiquant ce qui se trouvera ici, l'écran entre ou sort de l'écran, dans notre cas, un signal de sortie, et cela nous permettra de réinitialiser notre balle Très bien, je vais donc double-cliquer sur le signal de sortie de l'écran provenant de notre notificateur visible à l'écran Je vais faire défiler l'écran jusqu'à ma balle, sélectionner et connecter mon script. Et ce que nous allons faire ici correspond exactement à ce à quoi vous vous attendiez déjà. Nous allons tout récupérer dans notre fichier prêt, faire défiler la page vers le bas, et nous pourrons tout y coller. Mais nous devons faire plus que cela car à la vitesse actuelle, la balle se dirige toujours tout droit vers le bas. Donc, avant d'attendre, nous allons régler cette vitesse à zéro, afin que le ballon s'arrête là où il se trouve. Parce que quelle que soit notre vitesse, elle est mise à zéro, n'est-ce pas ? Parce que tout ce qui est multiplié par zéro, nous attendons ce laps de temps aléatoire, jusqu'à 3 secondes. Nous réinitialisons la position, réglons la visibilité sur true. Mais le fait est que nous ne le définissons jamais sur false, nous devons donc le faire également Nous devons faire en sorte que visible soit égal à faux. Et s'il y a autre chose que nous devons réinitialiser, oui, car souvenez-vous que nous descendons, ce qui signifie que notre direction V doit être négative à ce stade. Donc, avant de régler la vitesse, nous pouvons continuer et faire en sorte que les temps dans la direction V soient égaux à moins un pour revenir à la vitesse ascendante et notre vitesse est rétablie à la vitesse de départ. Cela devrait être tout ce que nous avons à faire pour que cette réponse fonctionne. C'est bon. Voilà donc notre ballon. Ça va. Il va disparaître, et il va répondre à notre place. Boop, on y est. Mais notre réapparition fonctionne très bien. Nous devons juste suivre le décompte des balles maintenant. Boup. Ça y est encore une fois. D'accord, nous devons donc mettre à jour cette étiquette de comptage de balles. Et avec ça, vous pouvez probablement le deviner. Nous allons aller de l' avant et créer notre propre signal à cet effet à partir de notre balle. Le signal augmente le nombre de balles. Et comme avant, nous allons avoir un nombre dedans, et ce sera un int ou nous allons le convertir en tant que. Et comme avant, sélectionnez notre balle, allez dans l'onglet Dno avec nos signaux Double-cliquez pour augmenter le nombre de balles, connectez-le à notre interface graphique. Et comme avant, nous allons faire ou, comme vous pouvez l'imaginer, balle actuelle plus le Num de SQL, qui, en théorie, devrait toujours être un Et je pense que je peux le configurer doublement par défaut, mais voici l'étiquette pour que nous puissions également le mettre à jour texte en points de l'étiquette de la balle actuelle est égal à une chaîne de la balle en cours. Je viens de vérifier, et nous ne pouvons pas y transmettre de valeur par défaut, donc c'est un peu dommage. Mais si nous nous déplaçons simplement vers le bas, regardez car lorsque nous quittons l'écran, nous pouvons continuer et envoyer ce signal. Nous allons donc dire « augmenter le nombre de balles » point « Émettre et passer une balle » pour augmenter le nombre de balles d'une. C'est bon. Maintenant, lorsque notre balle sort de l'écran, vous devez la réinitialiser pour qu'elle soit désactivée par défaut. ce que je vais faire. Non éteint, mais non visible. Cliquez sur le globe oculaire, puis sur Play. Cette balle va apparaître. Va. Ça va heurter une brique. Nous allons marquer un point. Il va être mis à jour. Fantastique Au fur et à mesure que la balle avance, elle rebondit sur quelques objets et accélère lentement Nous obtenons plus de points au fur et à mesure. Il va passer hors écran, augmenter le nombre de balles de 1 à 2, répondre. La vitesse est rétablie. Très bien, il ne nous reste plus qu'à établir les conditions de victoire et de défaite pour ce jeu, je suppose . Ce qui ne devrait pas être trop difficile. Parce que pour ce qui est de notre condition de défaite, nous devons juste vérifier si nous sommes sur la quatrième balle, qui devrait être notre dernière balle dans cette situation car nous n'en avons que trois. Donc, quand il baisse, nous atteignons quatre. Ce serait la fin de notre partie. Et cette fin de partie serait une remise à zéro de toute la scène. Très bien, nous avons donc nos signaux. Notre balle est remise à zéro et notre compteur de balles est lancé. D'accord. Ensuite, nous allons examiner aspect des victoires et des défaites. 11. Fin de la partie et victoire: Bien, donc la première chose que je vais configurer ici sera la plus simple et la plus rapide à tester ici Et ce sera notre compte à rebours. Une fois que cela sera égal à quatre, nous allons réinitialiser le jeu. Donc, le moyen le plus simple de le faire est d'entrer dans notre Guy, puisque nous avons déjà toute cette configuration pour notre balle. La balle actuelle plus est égale à num. Nous mettons à jour le texte, il suffit de vérifier si la balle actuelle est égale à quatre, et nous allons obtenir un point Tree, recharger G recharge simplement la scène actuelle. Et nous pouvons le tester en deux secondes. Laisse juste le ballon s'envoler. Je vais juste m'asseoir ici dans un coin et nous allons juste accumuler un peu de ces balles. Ça en est un. Allons chercher cette deuxième balle. C'est parti. Vers le bas. Cela nous amène à trois. Et une fois que nous aurons perdu cette balle, partie devrait être terminée une fois qu'elle sera descendue, et toute la scène devrait être réinitialisée. Nous voyons donc ces briques jaunes se remplir à nouveau. Oh, je ne l'ai pas fait. Pourquoi est-ce le cas ? R, oui, car nous ne pouvons pas réellement créer de minuterie car l'arbre est en train d'être réinitialisé en ce moment. Nous avons donc ce petit bug à corriger. Comment pouvons-nous résoudre ce problème ? Eh bien, le moyen le plus simple de résoudre ce problème est probablement de simplement modifier notre ordre de fonctionnement ici. Et nous pourrions simplement prendre le nombre de balles et le déplacer d'une balle vers le bas. Et cela résoudra probablement ce problème. Mais aurons-nous des problèmes avec le reste de notre code ici ? Testons et découvrons-le. Voyons ce qui va se passer. Parfois, il suffit de regarder l' ordre dans lequel tout est appelé. Parfois c'est ça. C'est aussi simple que cela. D'autres fois, vous devez trouver d'autres solutions ou effectuer d'autres vérifications pour voir si les choses existent toujours Allons-y. Lancez notre troisième balle, et c'est là que nous devrions terminer notre partie. Voyons donc si nous rencontrons toujours une erreur ou si elle est corrigée. C'est bon, c'est réparé. Dans ce cas, il s'agissait donc simplement de mettre à jour l'ordre dans lequel tout est appelé. C'est bon. Notre réinitialisation fonctionne donc. Il ne nous reste plus qu'à vérifier s'il reste des briques à l'écran. Et si c'est le cas, les parties ne sont évidemment pas encore terminées, car ce que nous allons rechercher c'est qu'il ne reste plus de briques. Alors, comment pouvons-nous facilement vérifier cela de la manière la plus simple possible ? Eh bien, le moyen le plus simple serait de prendre toutes nos briques ici, 176 dans mon cas , et nous pouvons simplement les placer sous un nœud par défaut pour cela Donc, si je prends juste ça et je vais juste attraper mon gars juste pour que je puisse placer mon nœud en haut. Je vais juste ajouter un nœud normal parce que je l' utilise juste pour m'organiser. Je vais le faire passer de mon gars au principal. Et si je l'ai fait, c'est parce que si j'avais sélectionné Min et créé le nœud, il aurait été ajouté jusqu'en bas. Cela aurait alors été ennuyeux de pouvoir le remonter complètement vers le haut. Je vais donc simplement déplacer le nœud vers le bas, puis cliquer sur ma première brique, faire défiler la page vers le bas, maintenir la touche Maj enfoncée, cliquer sur ma dernière brique. Cela devrait sélectionner toutes mes briques ici. Je vais juste le faire glisser vers le haut à l'intérieur de ce nœud. Je vais renommer ce nœud pour qu'il soit appelé bricks. Et cela ne devrait avoir aucun effet sur notre gameplay, mais je vais y jeter un œil. Au cas où quelque chose se briserait d'une manière ou d'une autre . Jetez-y un coup d'œil. Les briques continuent de détruire, le score est toujours à jour. La balle est toujours comptée, elle répond toujours. Fantastique Nous n' avons donc rien cassé. Et si nous l'avons fait, c'est parce que le moyen le plus simple est de dire « Hé, non aux briques ». Il te reste des briques ? Tu as des enfants ? Hein ? Certaines de ces 176 briques existent-elles encore ? Donc, quand cela se produit, nous pouvons réellement le faire sur notre ballon ou sur le Gooey J'allais dire que nous pouvions le faire soit lorsque nous émettons le signal pour augmenter le score soit lorsque nous augmentons l'école. Je pense que nous le ferons lorsque nous aurons réellement augmenté le score. Hein ? Oui, donc ici, nous allons le publier ou nous sommes désolés, nous mettrons à jour notre score, puis nous effectuerons notre vérification ici. Pour ce faire, je vais procéder à une exportation de nos briques. Je l'appellerai un conteneur de briques, et ce n'est qu'un nœud. Et je clique sur mon gars. Assurez-vous que je vais dans l'onglet Inspecteur, puis le bouton assigné. Élisez des briques. Maintenant, quand je mets à jour mon score, je peux dire que je fais des briques, j'ai des enfants ? Probablement pas. Maintenant. Alors, trouvez des enfants ou comptez les enfants. Cela fonctionnerait aussi ? Et juste pour ma santé mentale, je vais l'imprimer Donc, lorsque nous détruirons notre première brique, 175 devraient nous être imprimées ici dans la console 176 maintenant. OK, peut-être que mes calculs sont erronés ou que cela comptait avant que la brique ne soit détruite. C'est vrai. Cela ne fonctionnerait donc pas pour nous alors parce que la brique a déjà été détruite ou, malheureusement, les briques ne sont pas détruites pour le moment. C'est donc dommage. Je ne pourrai pas le faire là-bas. Mais je vais supprimer cette variable. Cela signifie que je vais me diriger vers le ballon. Et nous allons redescendre. C'est ici que nous allons partir sans repère en nous basant sur le collisionneur Et le collisionneur, le parent, devraient être nos briques. Je vais donc y aller et nous pouvons le stocker. En fait, nous le stockons simplement en haut, comme nous le faisions normalement, il n'y a aucune raison de continuer à le saisir chaque fois que nous entrons en collision avec Exportez donc var brick container sous forme de simple nœud, sélectionnez notre balle, appuyez sur un signe, sélectionnez le conteneur de briques. Et après avoir appelé Collider Point Free, nous pouvons continuer et coller notre déclaration I que nous utilisions auparavant Comment l'ai-je renommé ? J'ai dit que « conteneur en briques  » disait « briques ». Allons-y. Je dois le réinitialiser maintenant. Allons-y. Alors maintenant, c'est juste une faute de frappe en le copiant. Donc, s'il y a des enfants après avoir supprimé une brique, nous allons l'imprimer. Notre premier est donc détruit ici, nous devrions en avoir 175 pour le bon numéro. C'est curieux, et cela m'a donné envie de vérifier les calculs maintenant. Oui, j'en ai 22, 22, 44. C'est donc 44 par couleur. Cela fait 88 dans la moitié inférieure, 88 dans la moitié supérieure, il devrait y en avoir 176 au total. Je dois être un peu fou. Laissez-moi vérifier cela dès le début du jeu. Oui, 176. est donc de le compter avant qu'il ne problème est donc de le compter avant qu'il ne soit gratuit. J'ai compris. Donc, si vous êtes curieux de savoir pourquoi cela se produit, c'est parce que Q free ici ne le libère pas Cela ne libère pas le nœud, n'est-ce pas ? Il ne s'agit pas de se débarrasser de la brique. À cette seconde, il le supprime à la fin du cadre. Cependant, comme nous recevons toujours ces informations, notre cadre n'est pas terminé. Nous recevons toujours des informations incorrectes. Donc, ce que nous devons faire ici, c'est utiliser ce mot clé awake et nous pouvons obtenir notre arbre. Mais au lieu de créer un chronomètre, nous allons examiner le paramètre no, et non idle, qui a été renommé process frame. Je suppose que dans notre cas, nous pourrions simplement rechercher , je pense, qu'ils ont une physique, non ? Oui, un cadre physique. Cela attendra donc jusqu'à la prochaine image où cela sera appelé. Ensuite, nous obtiendrons le numéro. Cela devrait donc nous donner le nombre correct de 175 lorsque cette brique est détruite, et si c'est le cas, alors excellent. Allons-y. 175. Nos briques sont donc maintenant comptées correctement. C'est fantastique, mec. Regarde ça. Regarde cette brique, vas-y. Vas-y, petite balle, vas-y. Tu prends une bonne vitesse. Oui, regarde-toi partir. Je dois arrêter avant d'entrer dans le vif du sujet, et je reste assise ici à jouer un moment. Nous avons perdu le ballon. Mais vous pouvez voir que cela peut certainement devenir amusant une fois que vous y êtes entré. C'est bon. Gardez donc cela à l'esprit, nous devons attendre la prochaine image pour ensuite obtenir le décompte. Maintenant que nous avons le décompte, nous devons vérifier ce dont nous avons spécifiquement besoin pour savoir s' il ne reste rien. Donc, si le nombre est égal à zéro, vas-y. Alors c'est là que nous avons besoin d'une fin de partie. D'accord. Nous pouvons donc choisir d' attendre quelques secondes, ou voulons-nous simplement le recharger C'est parti pour le rechargement. L'arbre recharge la scène en cours. Nous n'avons donc pas à rester assis ici toute la journée pour tester cela. Je vais aller de l'avant et nous allons supprimer la majorité d'entre eux juste pour ce test. Ne t'inquiète pas Je l'ai fait, mais je peux appuyer sur Control Z et les remettre tous en place. Comme vous pouvez le voir, je le fais juste temporairement et je nous donne juste deux briques jaunes. Donc, si nous stockons les deux, nous devrions obtenir un tout nouveau jeu avec tout rechargé Et si cette balle pouvait accélérer un peu, ce serait génial. Il semblerait que j'ai supprimé le mur. Je me demandais où c'était passé. Parce que, bien sûr, je l'ai fait. Je l'ai traîné aussi, et peut-être que nous pouvons y aller encore plus facilement et nous donner une brique Parce que nous avons vu qu'il nous restait encore une brique, évidemment, elle comptait toujours. Nous étions toujours en train de jouer. Donc, si nous pouvions passer cette balle là-bas à cette brique jaune, ce serait génial. Je crois que je l'ai mis au bon endroit, boum, et que notre jeu a été réinitialisé avec notre tout nouveau jeu n'ayant qu'une seule brique ici. Mais oui, on y est. Cela fonctionne. Et je pense que ce que je veux ici, est remettre ces briques en place. Mais je pense que ce que je veux personnellement avant de recharger, c'est attendre un moment Je vais donc dire que je vais attendre Ge tree, créer Tr. Et je pense que je voudrais faire une pause de deux secondes. Ou même une pause d'une seconde serait bien, juste pour que nous puissions voir que la brique a bien été nettoyée. Et vous pourriez aller encore plus loin si vous vouliez développer tout cela, il existe des versions modernes de ce jeu. Il y en a qui ajoutent des bonus, plusieurs balles, etc. Donc, si vous le vouliez, vous pouvez toujours passer en revue et ajouter toutes ces sortes de choses. C'est aussi simple que ce que nous avons déjà fait détecter si nous heurtons quelque chose, si nous le heurtons , si c'est le cas, faites-le. Faites XYZ Et j'ai remarqué un petit bug là-bas, donc je vais juste arrêter la vitesse de la balle également. vitesse de la vitesse définie est égale à zéro, et cela devrait nous convenir. Mais même si cela n'a pas réglé ce problème, cela n'affectera rien à notre jeu, mais nous devrions probablement y remédier et nous efforcer d'y remédier pour qu' il n' y ait pas de gros buggers là-bas . C'est bon. Notre partition fonctionne donc. Notre partie est terminée. Ça devrait fonctionner. Oui, parce que nous sommes tombés, avons touché quatre balles et tout le jeu a été réinitialisé La victoire a été réinitialisée pour nous. Nous suivons le score. Oui, je pense que c'est tout. Nous n'avons pas vraiment besoin d' ajouter quoi que ce soit d'autre. Nous avons recréé le jeu classique ici, et si vous souhaitez ajouter d' autres fonctionnalités, vous pouvez toujours revenir et y ajouter des fonctionnalités Vas-y avec ça. C'est Breakout, le jeu classique de 1976.