Codificación para niños: aprende a programar con juegos divertidos | Craig Blewett | Skillshare
Recherche

Playback Speed


1.0x


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

Codage pour les enfants - Apprendre à programmer avec des jeux amusants

teacher avatar Craig Blewett, Teach to inspire

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.

      Coding Course Introduction

      2:09

    • 2.

      The Tool We Will Use & Setting Up Your Account

      3:57

    • 3.

      Welcome to the World of Coding with Scratch!

      3:43

    • 4.

      Getting Your Feet Wet: The Scratch Interface

      2:38

    • 5.

      The ABCs of Coding: What is Code?

      8:40

    • 6.

      Bringing Ideas to Life: Creating Your First Scripts

      9:18

    • 7.

      A Closer Look: Discovering Scratch Blocks

      6:54

    • 8.

      Mastering the Fundamentals: Navigating the Scratch Workspace

      2:40

    • 9.

      Your First Game Adventure: Crafting a Dragonfly Chase in Scratch

      8:53

    • 10.

      Coding Your Dragonfly: The Journey Begins

      5:13

    • 11.

      The Chase Concludes: Catching the Ladybug

      5:52

    • 12.

      Setting the Stage for a Soccer Header Game

      4:55

    • 13.

      Bringing Characters to Life with Code

      2:02

    • 14.

      Bouncing to Success: Animating the Soccer Ball

      2:28

    • 15.

      Mastering Interaction: Ball and Player Dynamics

      4:10

    • 16.

      Embracing Randomness: Elevating Game Challenge

      2:46

    • 17.

      Precision Programming: Perfecting the Header

      4:11

    • 18.

      Game Over: Introducing Consequences for Missed Headers

      5:26

    • 19.

      Keeping Score: Introducing Variables and Game Logic

      6:34

    • 20.

      Fine-Tuning the Scoring System

      2:25

    • 21.

      Smoothing the Edges: Debugging Game Flow

      2:37

    • 22.

      Leveling Up: Introducing Dynamic Difficulty

      5:00

    • 23.

      Final Touches: Polishing Your Soccer Header Game

      8:44

    • 24.

      Gear Up: Crafting an Endless Traffic Adventure

      6:29

    • 25.

      Laying the Groundwork: Organizing Your Game Assets

      2:57

    • 26.

      Crafting the Illusion of Motion: The Road to Realism

      3:51

    • 27.

      Mastering the Loop: The Art of Seamless Transitions

      4:05

    • 28.

      Steering the Game: Implementing Player Control and Layer Dynamics

      2:28

    • 29.

      Refining the Turn: Directional Dynamics and Logical Flow

      7:26

    • 30.

      Creating Dynamic Obstacles: The Road Comes Alive

      6:58

    • 31.

      From Obstacles to Traffic Jam: Mastering Cloning for Dynamic Obstacles

      6:02

    • 32.

      Randomizing the Road: Creating Lifelike Traffic Patterns

      1:54

    • 33.

      Bringing the World to Life: Animating the Scenery

      4:59

    • 34.

      Final Touches: Collision Detection and Spinout Animation

      5:14

    • 35.

      Leveling Up: Injecting Dynamism into Gameplay

      5:35

    • 36.

      Strategic Game Evolution: Mastering Variables for Dynamic Gameplay

      6:49

    • 37.

      Mini Challenge: Integrating Variables for Enhanced Game Mechanics

      3:47

    • 38.

      The Final Touch: Enriching Gameplay with Sound Effects and Music

      3:46

    • 39.

      Embarking on Arcade Ski Adventure: Conceptualizing the Masterpiece

      5:05

    • 40.

      Structuring the Stage: Importing the Arsenal

      4:07

    • 41.

      Initiating Motion: Crafting Player Dynamics

      4:05

    • 42.

      Enhancing Realism: Mastering Ski Dynamics

      6:46

    • 43.

      Enhancing Trees: Leveraging Past Insights

      5:40

    • 44.

      Crafting Snow Trails: Simulating Ski Marks

      3:31

    • 45.

      Code Optimization: Enhancing Game Mechanics

      5:49

    • 46.

      Final Touches: Perfecting Your First Game

      2:42

    • 47.

      Crash Detection Basics: Implementing Initial Collision Logic

      4:21

    • 48.

      Refined Crash Mechanics: Integrating Broadcast Messages

      2:28

    • 49.

      Crash Animation Mastery: Enhancing Player Feedback

      7:01

    • 50.

      Unveiling Algorithms: Crafting the Safe Path

      6:19

    • 51.

      Mastering Functions: The Core of Reusable Code

      7:58

    • 52.

      Exploring Functions Through Creative Coding

      6:07

    • 53.

      Enhancing Game Realism: Graphics and Layers

      3:20

    • 54.

      Amplifying Immersion: The Power of Sound

      5:09

    • 55.

      Mastering Score Dynamics: From Simple Tally to Competitive Edge

      5:58

    • 56.

      Crafting the Gateway: Building an Inviting Start Screen

      3:48

    • 57.

      Setting the Stage: Layering and Activation for a Seamless Start

      8:33

    • 58.

      The Final Touch: Refinements and Revelations

      7:15

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

223

Students

3

Projects

À propos de ce cours

Qu’allez-vous apprendre ?

À une époque où la programmation est synonyme de façonner l’avenir, notre cours se distingue en rendant le codage accessible, agréable et percutant. Inspirés par la vision de Steve Jobs qui veut que le codage favorise la pensée critique, nous proposons un voyage unique et agréable dans la programmation. En créant un jeu passionnant, vous allez non seulement appréhender les bases du codage grâce à Scratch, une plateforme développée par le MIT à des fins pédagogiques, mais aussi faire preuve de créativité et de logique en programmation. Animé par le duo dynamique de Craig, un éducateur chevronné titulaire d’un doctorat en technologie pédagogique, et Joshua, un jeune prodige du codage, vous allez découvrir un mélange d’expertise et de perspicacité juvénile qui rend l’apprentissage efficace et agréable.

Pourquoi choisir notre cours ?

Notre cours se distingue par trois aspects clés :

  • Engagement : Nous croyons au pouvoir du plaisir dans l’apprentissage. Notre cours est pensé pour faire de votre première aventure de programmation dans le développement de jeux un véritable délice.

  • Accessibilité : Avec Scratch, vous allez apprendre à coder intuitif et enrichissant, ce qui va poser des bases solides pour les futurs projets dans des langages de programmation plus complexes.

  • Guidance des experts : Profitez de la vaste expérience de Craig en éducation technologique et de la perspective nouvelle et accessible de Joshua. Ensemble, ils offrent une expérience d’apprentissage complète qui vous prépare à l’avenir numérique.

Caractéristiques de la lettre

Notre cours est minutieusement pensé pour vous assurer une expérience d’apprentissage complète. Des cours vidéo en haute définition, enrichis d’une qualité audio supérieure et d’aides visuelles claires, vous guident à chaque étape. Des exercices et des solutions supplémentaires complètent chaque leçon, ce qui renforce votre compréhension et vos compétences.

Pourquoi ce cours est indispensable

Ce cours se distingue par ses qualifications, ses prouesses en enseignement et la qualité des matériaux pédagogiques. Avec plus de 20 ans d’expérience en informatique et en éducation, Craig a inspiré des publics du monde entier, des étudiants aux professionnels. Sa capacité à transmettre des notions complexes de manière accessible et engageante, combinée aux idées et à l’enthousiasme de Joshua, en font une occasion unique de commencer votre aventure en codage.

Embarquez avec nous dans ce voyage passionnant et ouvrez-vous la porte d’un avenir riche en créativité et en opportunités. La programmation n’est pas seulement une compétence, c’est un passage à l’ère numérique, et tout commence par ce cours !

Meet Your Teacher

Teacher Profile Image

Craig Blewett

Teach to inspire

Teacher
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 au cours de codage: Imagine ça. Vous concevez votre propre voiture unique à partir de zéro, capable de voler et de voyager dans le temps. Vous pouvez visiter les dinosaures, participer à des tournois médiévaux et participer à des rallyes futuristes en hove car Cela peut sembler un peu un rêve fou. Mais dans ce cours, vous allez non seulement transformer ces rêves en jeux réels, mais aussi acquérir l'une des compétences les plus précieuses. Programmation. Salut. Je m'appelle Craig et je serai votre guide dans ce voyage passionnant. Je suis professeur depuis 30 ans, et au cours de cette période, j'ai eu le privilège d'enseigner des milliers d'étudiants comme vous comment programmer et créer des jeux géniaux. Alors, que vas-tu faire ? Vous allez développer cinq projets passionnants, commençant par un simple jeu anti-bugs passant par des jeux de football et de course encore plus passionnants et en terminant un jeu d' aventure de ski d'arcade sympa Mettons les choses au clair. Ce n'est certainement pas un cours ordinaire. C'est une aventure passionnante. Vous serez engagé, à créer vos propres jeux, créer vos propres applications et à résoudre vos propres problèmes. Et si je suis bloqué ? Eh bien, tout d'abord, nous ne pensons pas que vous le ferez, car nous développons vos compétences lentement, afin que vous ne vous sentiez jamais perdu. Et en prime, nous serons vos interlocuteurs personnels pour vous soutenir à chaque étape . Alors, à qui s' adresse ce cours ? Eh bien, si vous êtes un parent qui souhaite donner à son enfant le meilleur départ possible dans son parcours de programmation, ce cours est pour vous, ou même si vous êtes un débutant et que vous voulez vraiment apprendre à coder d'une manière facile à comprendre et engageante, alors ce cours est fait pour vous. Donc, si vous voulez apprendre à créer des jeux amusants, des applications sympas, des animations passionnantes et bien plus encore, vous êtes au bon endroit. Alors, qu'est-ce que tu attends ? Rejoignez-nous dans l'ultime aventure de codage où nous transformerons ces rêves fous en jeux jouables 2. Introduction au cours de codage: OK, ça y est. Jetons un coup d'œil à l'outil que nous utiliserons pour créer nos projets géniaux : apprendre à coder. Si ce n'est pas déjà fait, rendez-vous sur le site scratch.it.eu C'est là que toute l' action va se passer. Comme il s'agit de la première section du cours, je vais garder mon visage joyeux et souriant dans le coin de l'écran, car je veux que vous sachiez que nous sommes de vrais humains de l'autre côté de l'ordinateur qui vous enseigne, et pas simplement un robot. Cependant, au fur et à mesure que nous progresserons que nous aborderons les parties d'action où vous apprendrez à créer des jeux vraiment géniaux, je vais me cacher la face. Nous voulons donc vraiment que vous vous concentriez sur la programmation sans vous laisser distraire. Mais ne vous inquiétez pas, nous sommes toujours là et prêts à vous aider. Mais avec ça, allons-y. Tout d'abord, prenons un moment pour comprendre ce qu'est une égratignure. Scratch est essentiellement un langage de programmation spécialement conçu pour les jeunes codeurs et les personnes qui souhaitent simplement commencer à apprendre à coder. Comme toi. Il prend essentiellement la syntaxe et le texte complexes des langages basés sur le texte et les transforme en blocs de code faciles à comprendre qui rendent la programmation attrayante, interactive et amusante. Tu sais comment tu peux construire toutes sortes de choses incroyables avec des blocs Lego. Hein ? Vous pouvez créer des bâtiments , des véhicules et même des mondes entiers. Ainsi, tout comme les blocs Lego, Scratch vous fournit des blocs de codage colorés, mais vous pouvez les assembler pour créer vos propres créations numériques, telles que des jeux, des animations, des histoires interactives et bien plus encore. Et tout comme il n'est pas nécessaire d'être architecte ou ingénieur pour utiliser Fongo, il n'est pas nécessaire d'avoir une expérience de codage préalable pour commencer à créer de toutes Il est vraiment conçu pour être facile à comprendre. Ainsi, vous pouvez vous concentrer sur votre créativité, apprendre la logique de la programmation et apprendre à penser comme un programmeur, ce qui est la compétence la plus importante. Et le meilleur, c' est que vous pouvez réaliser tout cela sans jamais vous enliser dans une syntaxe de codage complexe C'est donc un excellent moyen de découvrir ce qu'est la programmation et de commencer votre aventure de codage. Donc, tout d'abord, ouvrez le site Web Scratch si vous ne l'avez pas déjà fait. Et je vous recommande d'utiliser Chrome comme navigateur pour continuer. Un scratch fonctionne simplement mieux avec Chrome qu'avec d' autres navigateurs. Donc, si c'est la première fois que vous vous grattez, votre écran devrait ressembler au mien. Si vous faites défiler l'écran vers le bas, vous verrez un tas de projets sympas créés par des personnes comme vous, que nous explorerons plus tard. En haut, vous verrez que nous avons différentes options. La première consiste à créer un projet, ce que nous allons faire en grande partie. Il y a l'onglet Explorer, et c'est là que vous trouverez d'autres jeux amusants développés par des personnes utilisant Scratch, et c'est là que les utilisateurs pourront également trouver des projets que vous créez. plus, il y a un onglet d'idées, qui contient des idées amusantes de projets à créer à l'avenir. Enfin, la section « À propos » est essentielle. Eh bien, à propos de Scratch. OK, tout cela étant dit, nous pouvons créer notre compte Scratch. Maintenant, c'est important, car cela nous permettra de sauvegarder nos projets et de ne pas perdre notre progression. Il vous suffit donc de cliquer sur Rejoindre Scratch. Et comme vous pouvez le constater, il vous demande un nom d'utilisateur et un mot de passe. Cela peut être ce que vous voulez, mais assurez-vous que ce n'est pas votre vrai nom tel qu'il est indiqué ici. Nous allons simplement appeler notre nom en cliquant. Ensuite, le mot de passe peut être celui que vous voulez. Assurez-vous simplement de vous en souvenir. Ensuite, il vous demande dans quel pays vous vivez. Alors maintenant, vous pouvez parcourir cette énorme liste pour trouver votre pays. Eh bien, j'habite en Afrique du Sud, donc c'est juste en bas de la page. Ensuite, il vous demandera votre agenda. Enfin, il vous demandera un e-mail. Il est important de saisir correctement votre e-mail, car c'est là que scratch enverra une confirmation. Une fois que vous avez reçu l'e-mail de confirmation, vous pouvez cliquer sur le lien de confirmation et vous avez terminé. Votre tout nouveau compte Scratch est créé, et nous sommes prêts à démarrer. Donc, votre terme, configurez votre compte Scratch, et je vous verrai dans la prochaine leçon alors que nous explorerons l'interface Scratch. 3. Bienvenue dans le monde du codage à gratter !: C'est donc le moment que vous attendiez. Il est temps de créer notre premier projet. Pour créer un nouveau projet, il vous suffit de cliquer sur le gros bouton de création en haut de la page. Cela crée un tout nouveau projet pour vous et vous amène à l'éditeur de projet Scratch où toutes les choses géniales se produisent. Maintenant que nous sommes à l'endroit où l'action se déroule, allons faire un tour afin que vous puissiez comprendre rapidement comment tout cela fonctionne. Donc, tout ce domaine dans lequel nous nous trouvons actuellement s'appelle l'éditeur, et c'est là que vous pouvez concevoir et coder votre projet. C'est essentiellement là que vous allez créer tout ce que vous pouvez imaginer. L'éditeur de scratch comporte quatre parties principales la scène, les sprites, les blocs de code et les scripts Laissez-moi vous expliquer ce que fait chaque partie. C'est bon. Parlons d'abord de l'espace scénique. Vous le trouverez à l'extrême droite de votre écran. C'est sur scène que se passent toutes les choses amusantes. Tout comme une scène de théâtre. C'est ici que vous pouvez voir l'action. Au fur et à mesure que vous créez votre projet, tout ce que vous créez apparaîtra ici. C'est l' espace spécial où vous pouvez voir et construire votre incroyable projet. Maintenant, en regardant vers le bas depuis la scène, vous verrez cette zone où vous pouvez choisir l' arrière-plan de la scène. Actuellement, nous avons juste sélectionné ce fond uni ennuyeux. Mais si vous cliquez sur ce petit bouton en bas à droite, vous pouvez choisir une nouvelle toile ajouter des sons et de la musique à la scène, mais nous allons explorer tout cela dans une prochaine leçon. Un sprite à gratter est le personnage que contrôle votre code à gratter Par exemple, vous pouvez écrire du code pour faire bouger ou parler votre sprite Ces sprites peuvent être toutes sortes de choses s'agisse de personnes, d' animaux ou d'objets Et comme pour les décors de scène, vous pouvez choisir parmi de nombreux sprites prédéfinis, ou même tirer au sort vos propres victoires De plus, vous pouvez même télécharger des sprites depuis votre ordinateur, ce que nous ferons dans les prochaines leçons Viennent ensuite les blocs de code. Voici les instructions que vous pouvez utiliser pour que vos sprites fassent des choses C'est comme de la programmation dans le monde réel. Mais au lieu de taper des lignes de texte complexes, vous utilisez ces blocs. Mais en gros, vous faites la même chose, vous codez. Il existe différentes catégories de blocs, telles que le mouvement, l'apparence, le son, les événements, le contrôle, etc. Chaque catégorie représente un aspect différent de la programmation, vous aidant à créer un projet complet et interactif. Pour utiliser ces blocs de code, il suffit de les glisser-déposer depuis la palette de blocs vers la zone de script. Et au fur et à mesure que vous assemblerez les blocs, vous commencerez à voir votre projet prendre vie. Et en parlant de script, c'est le dernier domaine majeur dont nous devons discuter. C'est ici que nous assemblons les blocs dans un ordre spécial qui indique à vos sprites ce qu'ils doivent faire Vous pouvez connecter des blocs de code entre eux en les cassant comme des pièces de puzzle. À titre d'exemple rapide, je vais afficher ce bloc de dix étapes sur ma fenêtre. Ici, comme vous pouvez le voir, si je clique dessus, mon sprite CT avance sur l'écran Enfin, si vous regardez tout en haut, vous verrez qu'il y a ces différents onglets pour les costumes et les sons. Maintenant, ce sont également des espaces très importants qui nous aideront à créer des projets époustouflants, mais nous y reviendrons plus tard. Mais pour l'instant, voici un bref aperçu de l' interface Scratch et de son fonctionnement. Encouragez-vous à jouer et à vérifier les choses par vous-même car c'est là que l' apprentissage se fait sur le tas. J'ai hâte de vous voir dans la prochaine leçon où nous allons commencer à voir à quoi sert tout ce code. 4. Mouiller vos pieds : l'interface de scratch: Eh bien, j'espère que vous vous êtes bien amusé à jouer avec les sprites et les blocs de code, car dans cette leçon, nous allons explorer certains blocs de code ensemble Commençons donc par un élément important de ce qu'est le code. Le code est essentiellement un ensemble d'instructions pour un ordinateur. Vous voyez, les ordinateurs ne sont pas vraiment intelligents. Eh bien, ils ne sont pas très intelligents comprendre ce que vous voulez dire, comme le sont les humains Ils ont besoin d'instructions très claires et spécifiques, étape par étape, afin de faire ce que nous voulons qu'ils fassent. Imaginez que vous dites à quelqu'un comment faire un sandwich. Pour un humain, vous pourriez simplement dire, s'il vous plaît, prépare-moi un sandwich au beurre de cacahuète et à la gelée. Mais pour un ordinateur, il faudrait être beaucoup plus précis. Prenez une tranche de pain et placez-la sur une assiette. Prenez le pot de beurre de cacahuète et ouvrez-le. Insérez un couteau, et après avoir obtenu du beurre de cacahuète, utilisez-le pour l'étaler uniformément sur le pain. Prenez ensuite le pot de gelée, utilisez une cuillère pour en mettre un peu sur l'autre tranche de pain Déposer la tranche de pain sur le beurre de cacahuète, et ainsi de suite. Tu as compris l'idée. Un autre exemple serait si nous pouvions regarder le sprite que nous avons Disons que nous voulons qu'il marche jusqu'au bout de l'écran. L'ordinateur ne comprendra pas ce que nous voulons dire si nous disons simplement marcher jusqu' au bout de l'écran. Cependant, ce que nous pouvons lui dire, c'est de franchir dix étapes. Comme vous pouvez le constater, le chat avance de dix pas, mais il ne marche toujours pas, il bouge simplement. OK, donc ce que nous pouvons également faire, c'est passer au costume suivant. Maintenant, si nous cliquons dessus, nous pouvons voir qu'il semble marcher. Maintenant, nous arrivons à quelque chose. Mais il ne marche toujours pas jusqu'au bout de l'écran. Nous pourrions donc récupérer ce bloc de répétition. Mettez-le par-dessus ces blocs, et maintenant il répétera tout le code dix fois. Maintenant, si nous cliquons dessus, nous pouvons voir qu'il se déplace beaucoup plus loin, mais toujours pas jusqu'à la fin de l'écran. Je peux donc modifier les étapes 10 à 50. OK, maintenant, nous y voilà. Un chat réussit à passer de l'autre côté de l'écran. Comme vous pouvez le constater, même si les ordinateurs sont incroyablement puissants et peuvent faire des choses incroyables, ils ont besoin d'instructions très précises et spécifiques pour fonctionner, car les ordinateurs font exactement ce que vous leur dites de faire et rien de plus. Mais préparez-vous dès maintenant, car pour la prochaine leçon, nous allons officiellement coder. 5. L'ABC du codage : qu'est-ce que le code ?: Eh bien, c'est le moment que vous attendiez. Il est temps de coder et de créer certains de nos premiers scripts. Techniquement, nous avons déjà créé notre premier script, comme nous l'avons fait dans la leçon précédente. Mais cette fois, ce sera mieux. Mais avant cela, vous vous demandez peut-être ce qu'est un script. La réponse courte est qu'un script n' est que des blocs de code connectés entre eux qui indiquent à notre Sprite ce qu'il doit faire Comme je l'ai décrit précédemment, ce sont des instructions pour l'ordinateur. Donc, comme nous l'avons vu, un bloc de code n'est qu'un bloc de code. Mais lorsque nous les combinons, des choses incroyables se produisent, comme le script, qui pousse notre chat à marcher jusqu'au bout de l'écran. Cependant, il nous manque une pièce clé du puzzle avant de pouvoir officiellement qualifier nos blocs de code de script, et la pièce clé se trouve sous le groupe d'événements. C'est à ce moment que l'on clique sur le drapeau. Vous allez maintenant voir que nous pouvons faire glisser ce bloc de code jusqu'au début de notre script de marche. Et maintenant, lorsque nous cliquons sur ce drapeau vert, un script s'exécute. Il n'est pas nécessaire de cliquer manuellement dessus. Mais ce n'est qu'un début car vous n'êtes pas encore programmeur. Il y a encore une chose que tu dois faire. C'est à peu près un droit de passage. Une fois cela fait, vous pouvez officiellement vous appeler programmeur, dire à vos amis, vous êtes programmeur, dire à votre chien que vous êtes programmeur, à qui vous voulez le dire. Descendez donc vers le groupe Lux Code, faites glisser le s et connectez-le au moment où le drapeau a cliqué Maintenant, pour l'étape la plus importante, êtes-vous prêt à taper Hello World. D'accord. Terminé. Maintenant, cliquez sur Play. Voilà, tu l'as. Bonjour tout le monde. Vous avez créé le premier programme emblématique le plus classique de tous les temps. Vous êtes désormais officiellement programmeur. Personne d'autre ne peut vous dire le contraire. Maintenant que cela est réglé, créons des scripts sympas et jouons avec certains blocs. Encore une fois, je vais faire glisser ce bloc de clic avec le drapeau W. Et cette fois, je vais passer aux mouvements et jouer avec une partie du code présenté ici. Essayons un clic sur un drapeau. Déplacez-vous de dix pas et tournez de 15 degrés. Maintenant, lorsque nous cliquons sur le drapeau, notre chat bouge, il se tourne et il dit « Bonjour tout le monde ». C'est plutôt cool. Mais avant de continuer, je ne sais pas si vous le remarquez, mais notre chat tourne beaucoup plus et bouge beaucoup moins. Alors, comment pouvons-nous résoudre ce problème ? Eh bien, avant que je ne le répare, je veux que tu essayes de le réparer. N'oubliez pas que l'apprentissage se fait par l'action. Essayez donc de voir si vous pouvez faire bouger davantage ce chat, puis tournez-vous. Je vais attendre. Mettez la vidéo en pause et essayez-la. Eh bien, j'espère que tu l'as compris, mais même si tu ne l'as pas fait, ce n'est pas un problème. Donc, si vous vous souvenez de tout à l'heure, nous avons changé ce que notre chat a dit simplement en cliquant sur cette texture et en tapant nos nouveaux mots. Et on peut faire la même chose pour un mouvement et vraiment tout le reste en utilisant Scratch. C'est une chose très importante à retenir. Presque tous les blocs de code de Scratch sont personnalisables et nous permettent de modifier leurs valeurs. Il suffit de faire défiler la page vers le bas pour voir comment je pourrais changer costume sélectionné ou le son diffusé. Cela nous donne vraiment beaucoup plus de contrôle sur ce qui se passe. Donc, pour résoudre le problème de déménager davantage, il me suffit de le changer en 20 étapes. Maintenant, comme vous pouvez le voir, lorsque nous cliquons sur le drapeau, notre chat se déplace dans un cercle beaucoup plus large. Mais ne nous arrêtons pas là. Apportons d' autres blocs de code sympas. Mettons ce go dans une position aléatoire. Et j'espère que vous pouvez deviner ce que cela signifie. Eh bien, il faut l'intégrer à notre script. Vous pouvez voir que notre chat saute sur l'écran, se déplaçant dans des positions assez différentes Plutôt cool. Mais essayons quelque chose de mieux. Que diriez-vous de ce glissement vers une position aléatoire. Ce que je vais faire ici, c'est déconnecter ce script lorsque vous cliquez sur Démarrer et connecter ce nouveau bloc. De cette façon, ce script ne s'exécutera pas. Mais maintenant, comme vous pouvez le voir, lorsque nous cliquons sur le drapeau, le chat glisse vers des positions aléatoires sur l' écran, ce qui est plutôt chouette Mais le seul inconvénient, c' est de devoir continuer à cliquer sur ce drapeau. Au lieu de cela, nous pourrions introduire ce bloc de répétition, comme nous l'avons fait plus tôt, et mettre ce code à l'intérieur du bloc. De cette façon, le code sera répété dix fois. Maintenant, même lorsque nous cliquons à nouveau dessus, notre chat fait automatiquement le tour de l'écran. Maintenant, même si c'est un peu lent, nous pourrions changer le nombre de secondes de 120,2. Maintenant, c'est ce dont je parle. La fonction OCT effectue un zoom sur l'écran. Bien que notre chat finisse par s'arrêter. Alors, comment pouvons-nous le faire durer indéfiniment, ou du moins jusqu'à ce que nous cliquions sur le bouton d'arrêt ? Des idées ? Vous voyez si vous pouvez trouver comment faire en sorte que le chat continue de bouger pour toujours. C'est un indice. Mettez la vidéo en pause et voyez si vous pouvez le faire. Eh bien, j'espère que tu trouveras une solution, car pour que notre chat continue de bouger, il suffit d' utiliser la boucle permanente. Et en gros, tout code contenu dans cette boucle se répétera indéfiniment. Cool. Donc, éteignez-le et appuyez à nouveau sur Play. Vous pouvez voir que notre chat se déplace continuellement sur l'écran comme un fou. D'accord. Maintenant, au lieu de laisser notre chat se déplacer au hasard. Et si on voulait qu'il suive notre souris ? Ce serait marrant. Tu as compris ? Chat et souris ? D'accord. Ouais, ouais C'est plutôt marrant. C'est vrai. Pour que le chat poursuive la souris, nous pouvons introduire ce bloc de code Go to et le faire passer d'une position aléatoire à un pointeur de souris. Cependant, si nous cliquons sur Play, vous verrez que rien ne se passe réellement. Notre chat se déplace en quelque sorte vers le coin de notre écran. Mais je veux que tu y réfléchisses maintenant. Pourquoi notre chat se déplace-t-il simplement vers le bord de l'écran ? Pourquoi ne suit-il pas la souris ? Je veux que tu corriges ce code et que tu me dises quand tu auras terminé. Bien sûr, je ne pourrai pas t'entendre. C'est à un écran d'ordinateur que tu parles. Et je ne suis pas pour l'explorateur. Mais dis-moi quand tu auras fini de toute façon. Indice. La solution est liée à un bloc de code que nous venons d'examiner. Alors, faites une pause et essayez-le. avez réparé ? Cool. Ou si tu ne l'as pas fait, c'est cool aussi. Tant que tu essaies. Tout au long de nos leçons, je vous donnerai toujours occasion d'essayer de faire des choses avant de vous les montrer. Souvenez-vous de cet apprentissage, de ce qui se passe en essayant. Essayez donc toujours, même si vous ne le faites pas correctement. Mais en gros, ce qui se passe ici c'est que notre sprite va atteindre notre souris Mais il ne le fait qu'une seule fois, et il ne le fait que lorsque nous cliquons sur notre drapeau vert. Donc, pour résoudre ce problème, il suffit de placer le bloc de code Go to Mouse dans un fevolu Et cette fois, nous cliquons sur Play, et vous verrez que cela fonctionne. Et c'est plutôt cool. Comme vous pouvez le constater, peu importe la rapidité avec laquelle ils déplacent la souris, le chat suivra toujours le rythme. Et cela fonctionne parce que notre sprite est toujours dirigé vers le pointeur de notre souris, pas seulement lorsque nous cliquons sur Play OK, essayons un autre script avant de terminer cette leçon. Reprenons ce point pour bloquer ici. Et je suppose que vous avez une idée de ce que cela fait, car, comme vous pouvez le voir, point de la souris est sélectionné, ce qui signifie que notre sprite pointera vers notre Prenons également un autre bloc de code issu cette fois du groupe Looks. Ici. Faisons entrer cet effet de changement de couleur par 25. Et comme précédemment, nous allons mettre ces deux blocs de code dans une boucle libre. De cette façon, il ne le fait pas qu'une seule fois. Nous l'ajouterons également lorsque le drapeau cliquera pour compléter le code. C'est vrai. Essayons ça. Comme vous pouvez le constater, notre chat s'est transformé en clavier RGB et pointe constamment vers notre souris. Oui, c'est sympa. OK, c'est tout pour cette leçon. Nous avons abordé pas mal de choses, et je suis sûr que vous avez beaucoup appris. Maintenant, je veux juste que vous preniez ce moment pour écrire votre propre script, simplement expérimenter avec différents blocs de code et voir ce qu'ils font, et je vous verrai dans la prochaine leçon. Alors amusez-vous bien. 6. Donner des idées à la vie : créer vos premiers scripts: J'espère que vous avez pris du plaisir à jouer avec certains blocs de code, alors poursuivons notre apprentissage et voyons ce que nous pouvons faire d'autre. Mais avant de passer à autre chose et de créer des jeux, des applications et des animations géniaux, nous devons d'abord parler tous ces groupes de blocs de code et de leurs objectifs. Parce que si nous pouvons bien comprendre ce que fait chaque groupe dès le départ, il vous sera beaucoup plus facile de créer votre propre code. Comme nous l'avons vu, tous les blocs et scratch sont organisés en différents groupes. Comme vous pouvez le voir, ils sont tous bleus , violets, roses, etc. En gros, chacun d'entre eux est regroupé en fonction de ce qu'il et représente différents aspects de la programmation. Passons donc en revue chacun des groupes pour comprendre leur objectif et voir certaines des choses amusantes qu'ils peuvent faire. Tout d'abord, tous ces blocs bleus concernent le mouvement et le déplacement de votre sprite sur l'écran Et nous avons beaucoup joué avec ce groupe de code. Donc je suis sûr que vous avez une assez bonne idée de quoi il s'agit. Mais il y a encore beaucoup d'autres choses que vous pouvez faire ici en utilisant des blocs de mouvement. Mais passons à autre chose. Ouais, ouais Il y en a beaucoup, pour être drôle. Le groupe suivant est Los. Et il ne s'agit que de ça. Oui, eh bien, tu l'as deviné Des apparences. Alors, jetons-y un coup d'œil. Nous avons également essayé certains blocs de code, comme changer de costume, prononcer des mots différents ou même changer de couleur. Mais nous pouvons encore faire beaucoup plus , comme changer la taille et agrandir le chat, le cacher ou le montrer et bien plus encore. Mais en gros, tout ce que vous devez savoir, c'est que le groupe des looks est entièrement lié aux looks, et nous l'utilisons souvent lorsque nous voulons créer graphismes et des animations sophistiqués que vous verrez plus tard. En descendant, nous avons des sons, et je suis sûr que vous pouvez deviner de quoi il s'agit. Ici, nos sprites peuvent émettre des sons spécifiques. Donc, avec notre chat, nous aurions pu émettre ce son M. Et nous pouvons également modifier le pitch comme vous pouvez le constater. Et oui, ça commence à devenir un peu fou. OK. En descendant, notre groupe suivant s'appelle les événements. Et vous ne savez peut-être pas trop de quoi parle ce groupe. Cependant, il s'agit d'un groupe de blocs de code très important car il nous permet de jouer automatiquement nos scripts lorsqu'un certain événement se produit. Jusqu'à présent, nous avons utilisé l'événement W flag clicked, qui démarre essentiellement nos scripts de code lorsque l'on clique qui démarre essentiellement nos scripts de code sur ce drapeau vert Et vous verrez à quel point c' est utile lorsque nous avons beaucoup de sprites Mais comme vous pouvez le constater, il existe d'autres événements, comme le fait de cliquer sur Space Cela ne démarrera le script que lorsque vous cliquerez sur la barre d'espace Ou bien cet événement lance le script lorsque l'on clique sur le sprite ou lorsque je reçois un message Ces événements ont tous le même effet. Au lieu d' attendre que nous cliquions sur le drapeau vert pour jouer notre code, ils attendront que quelque chose d'autre se produise. Cela nous permet de contrôler le moment où le code doit démarrer. Maintenant, vous apprendrez vraiment comment tout cela fonctionne lorsque nous créerons des applications plus avancées plus tard. Mais avec cela, nous pouvons passer à notre prochain groupe de code, à savoir le contrôle. Tous les blocs ici sont utilisés pour contrôler notre code, ce qui signifie essentiellement qu'ils nous aident à gérer le flux et la structure de nos scripts, peu comme les feux de signalisation aident à diriger les voitures aux intersections très fréquentées Par exemple, nous avons des blocs pour créer des boucles, qui nous permettent de répéter des sections de code un certain nombre de fois, voire indéfiniment. Tout comme nous l'avons fait plus tôt pour que notre chat marche jusqu'au bout de l' écran ou qu'il suive constamment le pointeur de la souris. Nous avons également des instructions conditionnelles telles que blocs if then et if then ls, qui permettent aux sprites de prendre des décisions en fonction de certaines conditions remplies Tout comme vous pourriez choisir de porter un manteau, s'il pleut ou des lunettes de soleil, s'il fait beau dehors Il y a aussi ce bloc ici, qui attend. En le plaçant dans notre script, vous remarquerez que maintenant, lorsque je clique sur le drapeau, il attend 1 seconde avant de jouer le script C'est également une chose importante à savoir. Alors fais bien attention. Lorsque nous exécutons l'un de nos scripts comme celui-ci, par exemple, le code s'exécute du haut vers le bas. Nous pouvons donc le regarder logiquement lorsque nous cliquons sur le drapeau, il attendra d'abord 1 seconde, et c'est le premier bloc de code Ensuite, il changera de couleur de 25 points, puis pointera vers le pointeur de la souris, et bien sûr, ce code restera indéfiniment en boucle ici. Mais si vous jouez le script, il semblerait que ces deux blocs de code s'exécutent en même temps. Et c'est parce que les ordinateurs sont si rapides que vous ne pouvez même pas remarquer que tout se passe dans l'ordre. Mais ajoutons quelques blocs de poids pour les voir en action. Donc, en faisant glisser notre attente 1 seconde ici et une autre ici avant que je lance le code, vous devinez ? Qu'est-ce qu'on va faire ? Pensez, devinez à quoi vont servir les poids ? Nous cliquons sur le drapeau. Il attend 1 seconde Il change de couleur, attend une seconde de plus, pointe vers la souris, attend une seconde de plus, puis recommence à changer de couleur et ainsi de Donc, en jouant à ce programme, vous pouvez voir comment il fait exactement ce que nous avions prédit et comment il se passe dans l'ordre que nous avons spécifié. Au fur et à mesure que nous avançons, vous verrez à quel point l'ordre dans lequel nous plaçons notre code est si important. Mais sur ce point, ces blocs de contrôle nous donnent le pouvoir de rendre notre projet plus intelligent et plus interactif en répondant aux différentes situations au fur et à mesure qu'elles se présentent. Et il y en a encore beaucoup d'autres, mais vous aurez l'idée pour le moment. En passant au groupe suivant, nous avons la sensation. Et ces blocs sont plutôt cool. détectant les blocages, laissez vos sprites détecter des choses comme toucher un autre sprite, bouger la souris ou même écouter quels sont les types d'utilisateurs Ces blocs aident vos projets à réagir à leur environnement. Et c'est très pratique lorsque nous voulons créer des jeux interactifs. Et nous jouerons avec certains d'entre eux plus tard lorsque nous créerons des jeux amusants. En redescendant, nous avons des opérateurs. Et tout cela est lié aux mathématiques. Oui, oui, les mathématiques peuvent parfois être ennuyeuses, mais je dois vous dire que lorsque nous créons des jeux, nous avons besoin de quelques calculs pour que cela fonctionne, et cela devient très amusant. Les opérateurs sont un peu comme les outils nous utilisons pour construire et résoudre des énigmes dans le cadre de notre projet. Ils nous aident à faire des calculs et à établir des comparaisons, comme nous le faisons lorsque nous cherchons des solutions dans la vie de tous les jours. Par exemple, nous pouvons additionner, soustraire, multiplier ou diviser des nombres ensemble. Trouvez le reste lorsqu' un nombre est divisé par un autre ou choisissez un nombre aléatoire. Ces opérateurs nous permettent également comparer des valeurs pour voir si elles sont égales, supérieures ou inférieures les unes aux autres. C'est comme lorsque vous jouez à un jeu de cartes et que vous devez déterminer qui a la plus grande carte, nous utilisons des comparaisons pour déterminer qui gagne. Et pas seulement des chiffres. Nous pouvons même combiner du texte, également appelé chaînes de caractères, pour créer des phrases ou faire dire des choses assez amusantes à notre sprite Les opérateurs nous fournissent donc tout un tas d' outils intéressants avec lesquels nous pouvons travailler lorsque nous créons nos jeux et nos projets en partant de zéro. Et ils nous aideront à rendre nos projets plus dynamiques et interactifs. Enfin, nous avons des variables. Les variables sont comme de petites boîtes de rangement contenant des informations que nous pouvons utiliser dans nos projets. Imaginez que vous jouez à un jeu et que vous avez un score. Où garderiez-vous une trace de ce score ? Tu l'as trouvé dans une variable. À partir de zéro, nous pouvons créer nos propres variables pour stocker et suivre différentes valeurs telles que les scores, les vies ou même le nom d'un joueur. Nous pouvons modifier ces valeurs en ajoutant, en soustrayant, définissant ou même en affichant et masquant la variable à l' écran Comme dans le monde réel, nous utilisons des notes pour mémoriser informations importantes dont nous pourrions avoir besoin ultérieurement. Dans le scratch et la programmation, nous utilisons des variables. Imaginons par exemple que vous créez un jeu lequel un personnage collecte des pièces. Chaque fois qu'ils collectent une pièce, vous devriez augmenter ce score d'une unité. Vous pouvez utiliser une variable pour enregistrer le score des joueurs , puis en ajouter un à chaque fois qu'ils ramassent une pièce. Les variables sont très utiles pour rendre nos jeux et projets plus attrayants, interactifs et amusants. De plus, elles nous aident à suivre informations importantes à mesure que nos projets se complexifient. En regardant de nouveau vers le bas, vous verrez qu'il y a une autre zone appelée Mes blocs. Et comme vous pouvez le constater, il n'y a rien ici pour le moment, mais nous verrons comment utiliser le bloc de code spécial dans des leçons plus avancées. Bref, c'est à peu près tout. Dans cette leçon, vous avez vraiment acquis une bonne compréhension de base de la façon dont tous ces blocs fonctionnent ensemble pour former scripts complexes qui peuvent nous aider à créer des jeux géniaux. Nous avons également examiné le déroulement de notre code de haut en bas. Et testez toujours certains des blocs dès maintenant par vous-même et voyez si vous pouvez vous amuser en créant vos propres scripts sympas, et je vous verrai dans la prochaine leçon alors que nous poursuivons notre parcours d'apprentissage. 7. Un regard de plus près : découvrir les blocs de rayure: Nous avons donc passé en revue les différents co-drives, les différents domaines tels que la scène, nos sprites et bien d'autres encore À ce stade, vous avez une très bonne compréhension de tous les domaines, mais il y a certaines choses que nous n'avons pas encore abordées. Et afin de vous donner une compréhension complète du fonctionnement de cet environnement de scratch, exactement ce que nous allons faire dans cette leçon. Et je pense que la meilleure façon de le faire est de passer du côté gauche de l'écran au côté droit de l'écran pour s' assurer que nous couvrons tout. Donc, d'abord, en commençant en haut à gauche de notre écran. Nous avons un code. Et tu sais de quoi il s' agit. C'est notre code. Mais en vous déplaçant un peu vers la droite, vous verrez que nous avons des costumes. Nous n'en avons pas encore parlé, mais chaque sprite que nous avons dans notre programme peut avoir autant de costumes que vous le souhaitez Et tous ces costumes sont spécifiques à ce sprite. Rappelez-vous donc comment nous avons fait marcher notre chat sur l'écran en ajoutant le code suivant costume. Eh bien, cela utilise ces deux costumes pour créer un effet de marche. Et ce qui est cool, c'est que Scratch vous donne tellement de contrôle pour créer nouveaux costumes et modifier ceux que vous avez. Par exemple, je pourrais passer au deuxième costume du sprite, cliquer sur la queue ici et le faire pivoter légèrement vers le bas Réactivons ensuite le script de marche. Vous allez maintenant voir comment la queue du chat bouge également lorsqu' il marche. Mais cela ne s'est pas arrêté là. Nous pouvons également importer de nouveaux costumes, soit à partir de la bibliothèque de Scratch, soit télécharger les nôtres , soit même dessiner notre propre costume personnalisé, c'est là que vos compétences artistiques entreront en jeu. Quoi qu'il en soit, vous comprendrez comment fonctionnent ces costumes lorsque nous créerons les nôtres dans nos jeux et animations lors des prochaines leçons. En déplaçant un onglet ici, vous pouvez voir que nous avons des sons. Et c'est assez similaire aux costumes, sauf qu'ici, vous pouvez voir ce sprite pour chats est préinstallé avec ce son Mo, que nous avons utilisé plus tôt Et encore une fois, vous pouvez télécharger vos propres sons ou choisir parmi certains des sons disponibles sur Scratch. Vous pouvez ajouter beaucoup plus de profondeur à notre personnage et objets dans notre programme en utilisant le son. Maintenant, une dernière chose à savoir à propos des costumes et du son, c'est qu' ils sont tous deux contrôlés par ces deux groupes de code. Ainsi, le groupe de code Looks peut contrôler nos costumes, et le groupe de sons peut contrôler les sons de notre sprite Continuons d'avancer sur le côté. Ici, nous avons notre éditeur de script, où se trouve tout notre code, et vous savez tout à ce sujet. Ensuite, nous avons notre drapeau vert et notre bouton d'arrêt. En passant à autre chose, nous avons ces boutons ici, qui vous permettent de modifier la disposition de notre interface. Mais je pense que cette mise en page est plutôt bonne pour le moment et la meilleure, nous allons donc en rester là. Et sur le bord, il y a un bouton plein écran, nous permet de voir notre programme dans toute sa splendeur. En descendant, nous avons notre mode de code, que vous connaissez également. C'est là que l'action se déroule. Et puis, encore une fois, nous avons ce domaine, dont nous n'avons pas encore discuté. Tout d'abord, nous pouvons changer le nom de notre sprite. Donc, au lieu d'être Sprite One, nous pouvons l'appeler CT. Et en passant d'un côté à l'autre , vous pouvez voir que nous avons ces entrées x et y. Et c'est un concept important. Alors fais bien attention. Les coordonnées X et y sont comme les positions tout ce qui se passe pendant la phase de scratch. Cela nous aide à savoir où se trouvent les objets et comment les déplacer. Par exemple, imaginez une grille géante couvrant toute la phase de scratch avec des lignes horizontales et verticales se croisant. La grille est composée de coordonnées x et y. La coordonnée x représente la position horizontale ou les positions gauche et droite du sprite sur la scène, et la coordonnée y représente la position verticale ou le haut et le bas du sprite sur la Maintenant, imaginons-le comme une carte au trésor. Les coordonnées x et y sont similaires aux instructions indiquant le nombre de pas à effectuer dans chaque direction pour trouver le trésor. Si on nous demandait de faire dix pas à droite et cinq pas vers le haut, nous ferions dix pas le long l'axe x et cinq pas le long de l'axe y. Dans Scratch, la scène possède son propre système de coordonnées zéro x et zéro y étant le point central. Les coordonnées x sont comprises entre moins 24240, tandis que les coordonnées y vont de moins un 80 à un 80 Lorsque vous souhaitez déplacer un sprite vers un endroit précis de la scène, il vous suffit de définir ses coordonnées x et y. Supposons, par exemple, que nous voulions déplacer notre sprite CT dans le coin supérieur droit de la scène Nous fixerions ensuite la coordonnée x à 240 et la coordonnée y à un 80. Vous pouvez également utiliser les blocs de mouvement dans Scratch, comme passer à x 240 et y un 80 ou modifier y de moins cinq pour déplacer vos sprites sur la scène en utilisant les coordonnées x et y. Comprendre les coordonnées x et y est important pour créer des animations fluides et des jeux passionnants, car cela nous aide à positionner nos sprites exactement là où nous le voulons sur la scène C'est pourquoi ils sont si importants. OK, en redescendant, vous pouvez voir que nous avons la possibilité afficher et de masquer notre sprite, et c'est quelque chose que nous pourrions également faire avec le code contenu dans la section Et en passant d'une page à l'autre, nous pouvons modifier la taille et la direction dans lesquelles le sprite pointe, ce que nous pouvons également faire dans le groupe Looks Code OK, redescendre. Je pense qu'il y a encore une chose que nous devons savoir, c'est l'ajout de nouveaux sprites Dans Scratch, vous pouvez avoir autant de sprites que vous le souhaitez. Et comme pour les costumes, vous pouvez utiliser les sprites qui viennent avec des rayures Vous pouvez télécharger les vôtres ou même créer vos propres formes et dessins. Quoi qu'il en soit, imaginons que nous voulions créer un jeu où un chien poursuit un chat et où vous devez contrôler le chat pour qu'il s'enfuie. Ici, nous pourrions ajouter un nouveau sprite, et nous pouvons rechercher un chien, et choisissons celui-ci ici Et voilà, un tout nouveau sprite. Et comme vous pouvez le constater, il ne contient aucun code car chaque sprite possède son propre code pour le contrôler Et aussi, comme un félin, celui-ci est livré avec différents costumes et sons préinstallés et prêts à être utilisés Il y a encore une chose, à savoir les décors, qui sont assez similaires à ceux des Sprites Il s'agit essentiellement de l' arrière-plan du sprite. Supposons donc que notre jeu soit dans la neige en cliquant ici. Vous pouvez voir que nous pouvons le changer en Arctique ou en désert. Nous pouvons télécharger notre propre toile de fond si nous le voulons ou nous pouvons même en dessiner une. Bref, c'est à peu près tout. Vous êtes désormais un pro de l'environnement Scratch. Mais maintenant, faisons de vous un programmeur professionnel. 8. Maîtriser les bases de la navigation : naviguer dans l'espace de travail Scratch: Eh bien, ça y est. Il est temps de développer notre tout premier jeu. Ne vous inquiétez pas, nous allons rester simples, mais vous développerez des compétences de base en programmation tout en créant ce jeu. Comme mentionné précédemment, le jeu que nous allons créer est assez simple, mais il devrait être amusant. En gros, nous allons avoir une libellule et une coccinelle dans les parties, et vous allez pouvoir contrôler mouvement des libellules avec vos flèches et coccinelle va juste courir sur l'écran pendant que nous essayons de l'attraper Nous allons également planter le décor avec un joli fond de jungle. OK. Maintenant que nous connaissons notre jeu sprites et l' arrière-plan dont nous avons besoin, je veux que vous importiez les deux sprites dans le projet et que vous choisissiez une toile de fond appropriée Mettez cette vidéo en pause et faites-le. Eh bien, si vous y parvenez, bravo. Pour cette étape, il suffit d'ajouter deux sprites et une toile de fond Pour notre sprite, il suffit de cliquer sur bouton de ce sprite publicitaire, de rechercher une libellule et Vous verrez comment cela s'est ajouté au projet. Encore une fois, on peut faire la même chose pour la coccinelle. OK. Enfin, nous pouvons ajouter une toile de fond à notre jungle en cliquant sur ce bouton à la place. Et si vous recherchez Jungle, vous le trouverez ici. Voilà. Le décor est planté et nous avons tous les atouts nécessaires pour créer notre jeu. Avant de continuer à écrire du code pour nos sprites, je veux juste que vous réfléchissiez au processus nous avons suivi, car lors de la programmation, très important est très important de penser à la situation dans son ensemble, c' est-à-dire dans notre cas, à ce jeu Une fois que nous savons exactement ce que nous voulons créer, nous devons réfléchir à ce dont nous avons besoin pour créer ce jeu. Eh bien, ici, tout ce dont nous avons besoin, ce sont ces deux sprites et un joli fond Mais il s'agit de comprendre ce que nous voulons faire dans son ensemble et de le décomposer en étapes plus petites et gérables Par exemple, OK. Imaginons que vous souhaitiez construire une cabane dans les arbres dans votre jardin. Au lieu d'essayer de tout construire en une seule fois, vous pouvez décomposer le projet en plusieurs étapes, par exemple en rassemblant les matériaux, mesurant et en coupant le bois, en construisant le cadre, en ajoutant des murs et un toit, puis en décorant l'intérieur. Ce faisant, vous pouvez rendre le projet plus facile à gérer et moins accablant et vous assurer de construire une cabane dans les arbres sûre et robuste dont vous pourrez profiter pendant des années Il en va de même pour la programmation, enfin, peu près tout dans la vie. Mais c'est tout pour le moment. Nous sommes prêts à commencer à donner vie aux sprites grâce au code 9. Votre première aventure de jeu : créer une poursuite à la libellule à gratter: OK, il est temps de commencer à coder, et je pense que le meilleur point de départ est notre sprite Dragon Fly, car c'est le personnage principal après tout De plus, avant de faire quoi que ce soit, débarrassons-nous de ce chat qui est à l'écran et nous n'en avons pas besoin pour tout ce projet. Pour ce faire, nous pouvons soit simplement cliquer sur ce bouton de suppression à côté du sprite, soit peut-être avez-vous déjà créé un code sympa pour celui-ci Vous pouvez simplement masquer le sprite à la place et ramener à tout moment en cliquant sur Afficher Mais tout d'abord, assurez-vous que ce sprite est sélectionné pour vous que ce sprite est sélectionné pour assurer que vous codez correctement Maintenant, il est temps de créer notre premier strip pour le sprite. Alors réfléchissons-y. Dans notre jeu, nous voulons pouvoir contrôler cette libellule et la faire monter et descendre à gauche et à droite à l'aide de nos râteaux Alors, comment pouvons-nous le faire ? C'est donc là que vous devez penser comme un ordinateur et penser de manière logique Quelles sont toutes les instructions dont l'ordinateur a besoin pour se déplacer avec les touches fléchées ? Si vous êtes prêt à relever le défi, mettez-le en pause et essayez-le. Essayez de voir si vous pouvez écrire le script qui permet au sprite de se déplacer avec les râteaux Mais si vous n'en avez aucune idée, ne vous inquiétez pas. Je veux juste que tu fasses une pause et que tu te donnes un moment pour y réfléchir. Eh bien, voyons comment nous résolvons ce problème avec du code. Tout d'abord, nous allons commencer par le bloc de clic sur le drapeau W, car celui-ci lancera notre script automatiquement lorsque nous cliquons sur le drapeau. Nous savons maintenant que notre libellule doit se déplacer sur l'écran Nous savons que nous allons avoir besoin de l'un de ces blocs dans le groupe de mouvements. Vous pensez peut-être que nous devrions utiliser ce bloc de code en dix étapes, car nous l'avons utilisé pour faire passer notre chat sur l'écran. Oui, même si nous pourrions l'utiliser pour que la libellule fasse dix pas à droite et à gauche de moins dix pas, il y a un problème On ne peut pas faire monter et descendre la libellule avec ça. Au lieu d'utiliser ce bloc de déplacement, il y a quelque chose de bien mieux que vous devriez toujours utiliser à la place, savoir le changement x par blocs et le changement y par blocs. Souvenez-vous maintenant de ce que nous avons dit : notre niveau est considéré comme une grille, et que notre sprite peut se trouver à tout moment sur cette grille pour moins deux 40 x plus deux 40 y moins un 80 y plus un 80 y. Si nous changeons notre position x par un nombre positif, nous déplaçons essentiellement notre sprite vers la droite de l'écran Et s'il s'agit d'un nombre négatif, nous le déplaçons vers la gauche de l'écran. va de même pour la modification de y. Si nous changeons y par un nombre positif, nous déplaçons notre sprite vers le haut, et si nous le changeons par un nombre négatif, nous déplaçons notre sprite vers le bas de l'écran Maintenant que nous savons tout cela, nous pouvons en saisir deux pour chaque changement x et chaque changement y. Parce que n'oubliez pas que pour chacune d'entre elles, nous avons besoin d'une valeur négative. Maintenant, si vous cliquez sur chacun de ces blocs, vous pouvez voir comment il déplace notre sprite l'écran, et c'est exactement ce que nous voulons Nous avons maintenant besoin d'un moyen de contrôler cela avec nos touches au lieu de cliquer. Si vous vous souvenez de notre leçon précédente, nous pouvons le faire avec le groupe de code de détection. Ici, vous verrez qu'il y a ce bloc pour vérifier si une touche est enfoncée, qui est exactement ce dont nous avons besoin. Si nous le sortons, vous pouvez voir que nous pouvons échanger l'espace contre à peu près toutes les touches que nous voulons. Modifions-le en flèche droite enfoncée. Tout va bien, mais nous devons connecter tout cela. Pour ce faire, il faut peut-être maîtriser l'un des blocages les plus importants jamais rencontrés, savoir le blocage « if then ». Maintenant, souvenez-vous de ce que j'ai dit à quelle fréquence vous prendrez des décisions. Si une certaine condition est vraie, exemple s'il pleut dehors, vous porterez un imperméable Le même concept est très important dans la programmation. Ici, nous voulons vérifier si une certaine touche est enfoncée, alors quelque chose devrait se produire déplaçant évidemment dans une certaine direction. Je veux également que vous remarquiez quelque chose de très important à propos de ces blocs avec lesquels vous avez travaillé, à savoir les différentes formes, comme les pièces de Lego, et ils s' emboîtent de manière spécifique. Maintenant, ces formes sont conçues pour vous aider à comprendre facilement quels blocs peuvent être connectés les uns aux autres, tout comme la façon dont certaines pièces de Lego peuvent s'assembler. Les formes vous empêchent de connecter des blocs qui ne doivent pas être joints, ce qui est utile pour éviter les erreurs et assurer le bon fonctionnement de votre code. Dans le monde du codage basé sur le texte, il est essentiel de s'assurer que votre code est organisé et exempt d'erreurs. En gros, il sera structuré même manière que votre code à gratter. En ayant différentes formes de blocs et de rayures, la plateforme vous guide pour créer un code bien structuré et fonctionnel, similaire à la façon dont les pièces de Lego s' assemblent pour former une structure stable. Par exemple, vous constaterez que certains blocs ont une encoche en haut et une bosse en bas Ces blocs sont conçus pour être empilés les uns sur les autres. D'autres blocs ont une forme spéciale en C, ce qui signifie qu'ils peuvent s'enrouler autour d'autres blocs, comme cette instruction ou cette boucle permanente. Cela permet de créer des boucles ou contrôler le flux de votre code. Quoi qu'il en soit, une fois que tout est réglé, connectons ce code Si vous appuyez sur la flèche droite, nous voulons changer x par un nombre positif. Nous pouvons le mettre ici, puis l'ajouter lorsque le drapeau a cliqué sur le bloc en haut du script Voyons voir. Cliquez et jouez, puis cliquez sur notre bouton droit. Oh, ce n'est pas bon. Comme vous le voyez, rien ne se passe. Et nous savons que nous avons notre déclaration if. Nous vérifions si la touche est enfoncée. Alors, que manque-t-il ? Eh bien, avez-vous une idée de ce qui ne va pas ? En gros, il ne s'agit de vérifier qu'une seule fois, et lorsque nous voulions que notre chat suive le point de la souris, il ne suffisait tout simplement pas de vérifier. Nous avons besoin du code pour vérifier en permanence si la flèche droite est enfoncée. Pour résoudre ce problème. Il suffit de mettre tout ce code dans une boucle permanente. Maintenant, il vérifie constamment si cette condition est vraie. Si nous appuyons à nouveau sur Play, remarquez que si nous cliquons sur la flèche droite maintenant, elle se déplace. Génial. Il ne nous reste plus qu'à faire de même pour les autres clés. Maintenant, je vais vous donner un conseil très pratique. Au lieu de revenir à notre palette de code et trouver le bloc et d'appuyer sur cette touche pour bloquer, nous pouvons simplement cliquer avec le bouton droit sur le bloc de code souhaité, puis cliquer sur dupliquer. Maintenant, vous pouvez voir que nous en avons deux, et nous pouvons dupliquer ces deux blocs en cliquant juste en haut et en les dupliquant à Maintenant, nous en avons quatre, c'est tout ce dont nous avons besoin. La prochaine chose à faire maintenant est de modifier la touche saisie. Ici, nous allons faire la flèche gauche vers le haut et la flèche vers le bas. Mais nous n'avons pas encore terminé. Nous devons maintenant changer ce qui se passe. Si vous cliquez sur la flèche gauche, il faut que x soit négatif Ensuite, si vous cliquez sur la flèche vers le haut, nous devons changer y et cette fois par un nombre positif Enfin, pour la flèche vers le bas, il faut changer y par un nombre négatif. Si nous jouons maintenant , vous l'avez. Nous pouvons officiellement contrôler notre personnage, et vous êtes sur la bonne voie pour devenir développeur de jeux. Il y a deux choses que je veux faire maintenant. Maintenant, le premier est assez simple. Tout d'abord, je veux juste que cette libellule ne bouge pas si vite Et tout ce que je dois faire, c'est réduire ces chiffres. Je vais donc le réduire de moitié et le remplacer par cinq et moins cinq Vous allez maintenant voir que notre personnage est facile à contrôler. Ensuite, je veux faire glisser la ladybu de manière aléatoire sur l'écran Prenez donc un moment pour essayer de voir si vous pouvez le faire vous-même. Comment pouvons-nous faire bouger la coccinelle sur l'écran ? Eh bien, c'est en fait très simple. Comme nous l'avons fait avec notre sprite pour chat, si vous vous en souvenez, il nous suffit de faire une boucle permanente au démarrage, de cliquer, puis de glisser 1 seconde vers une position aléatoire Maintenant, si vous cliquez à nouveau sur Play. Vous pouvez voir que notre jeu y parvient vraiment. Une grande dame se déplace et nous pouvons contrôler notre libellule Excellent travail. J'en arrive là. Nous avons certainement parcouru un long chemin. 10. Coder votre libellule : le voyage commence: Eh bien, notre jeu s' intègre très bien. Maintenant, nous devons introduire l'objectif du jeu, qui est évidemment d'essayer d'attraper cette coccinelle ? Parce que pour le moment, si on touche la coccinelle, rien ne se passe vraiment Mais ce que nous voulons, c' est que la coccinelle disparaisse et que notre libellule soit... et peut-être qu'elle joue un son pop comme si elle Commençons donc par notre libellule. Je veux que tu essaies de le faire dire, euh, ce que tu veux. Mais fais-lui dire quelque chose quand il touche la coccinelle. Regarde si tu peux le faire. Mettez cette vidéo en pause, essayez-la. Peux-tu faire dire quelque chose à la libellule quand elle touche la coccinelle Réfléchissons à cela. Nous aurons besoin d'un bloc de détection pour détecter si le sprite en touche un autre, et nous pouvons utiliser celui-ci ici Maintenant, en cliquant ici, nous pouvons changer le sens du toucher du pointeur de la souris à Lady Bug Two. Ensuite, tout comme pour les clics sur les flèches, nous aurons besoin d'un bloc conditionnel if et d'une boucle avant. Ensuite, nous devons dire bonjour pendant un bloc de 2 secondes pour qu'il dise ce que nous voulons quand il touche la coccinelle Il y a encore une chose. Nous avons besoin ce play sound pop block. Comme avant, nous pouvons organiser notre script de manière à ce qu' il vérifie toujours s'il touche la coccinelle Si c'est le cas, nous lui demanderons dire « euh », puis de jouer le son pop. Maintenant, si nous y jouons maintenant, vous verrez quand nous toucherons la coccinelle, si je peux la toucher. Allons-y. Ça dit, euh, qu'il joue le son pop. Maintenant, une chose que je peux faire pour améliorer cela est de jouer d'abord le son pop, puis de dire Yum pendant 2 secondes. Cela ne fait que le rendre plus fluide. OK. Cool. Notre jeu y est donc presque. Et avant de passer à la programmation de la coccinelle, je voudrais juste souligner quelque chose. Parce que vous vous demandez peut-être pourquoi nous avons deux scripts distincts ici ? exemple, pourquoi ne pas simplement mettre ce morceau de code ici, pour n'avoir qu'un seul script. Eh bien, si vous vous demandiez cela, bonne question, bonne question. Eh bien, essayons-le. Donc, en l'ajoutant et en cliquant maintenant sur Play, vous verrez cela. Maintenant, quand on touche la coccinelle, si je peux la toucher, c'est parti Mais remarquez à quel point je ne peux soudainement plus contrôler la libellule Il gèle, c'est tout. Pourquoi est-ce le cas ? Eh bien, si nous regardons notre script de manière logique, en reprenant le code, regardez, tout cela est une boucle Nous vérifions donc constamment si l'une de ces conditions est vraie. Si l'une d'entre elles est vraie, comme si nous cliquions sur la flèche vers le bas, elle descend. Mais souvenez-vous que j'ai dit que le code s'exécute de haut en bas. Eh bien, c'est ce qui se passe ici. Ainsi, lorsque nous cliquons sur Démarrer, il vérifie si la flèche droite a été pressée, puis si la flèche gauche est appuyée, puis la flèche vers le haut, puis la flèche vers le bas. Il ne s'agit donc pas vraiment vérifier toutes ces conditions en même temps. Ça va du haut vers le bas. Mais comme c'est arrivé si vite, on dirait qu'il est en train de tout vérifier en même temps. Cependant, si je devais ajouter un poids pendant 1 seconde, vérifiez la flèche vers le bas. Remarquez que les autres flèches fonctionnent parfaitement, mais dès qu'il vérifie la présence de la flèche vers le bas, toutes les autres flèches se figent. Et c'est parce qu'il exécute le code de haut en bas. Et quand il arrive à ce code, il doit attendre une seconde, et il ne peut continuer la boucle qu'une fois la seconde terminée. Donc, en gros, c' est pourquoi ce code a le même problème, car il y a cette euh pendant 2 secondes, et il ne continuera à faire tourner le code en boucle qu'une fois l' exécution du script terminée C'est donc l'une des raisons pour lesquelles nous utilisons un autre script, afin de pouvoir exécuter plusieurs choses en même temps sans aucun problème. Maintenant, je pourrais retirer cette somme pendant 2 secondes et la rajouter dans la boucle. Écoutez, si nous y rejouons, vous verrez qu'il fonctionne et qu'il ne gèle pas. Mais même si vous vouliez simplement que notre sprite joue un son, vous devez toujours utiliser un script distinct pour cela En gros, avoir des scripts séparés est tellement mieux pour garder les choses organisées. Vous voyez, lorsque vous réalisez de très gros programmes, très gros gains, les choses peuvent devenir assez confuses. Et si vous n'avez qu'un seul script ultra long, vous ne savez peut-être pas ce qui se passe. Ce que nous suggérons, c'est que chaque script que vous avez ne fasse qu'une seule chose. Souviens-toi de ça. Chaque script ne doit faire qu'une seule chose. Ce script contrôle les râteaux, celui-ci vérifie si nous ne touchons pas à la coccinelle, et si vous êtes bien organisé dès le départ, vous serez vraiment reconnaissante à l'avenir lorsque vous créerez des jeux amusants et vraiment complexes Il ne reste plus qu'une chose à coder pour que notre jeu soit complet : faire disparaître la coccinelle lorsqu'elle touche la libellule Essayez de relever ce défi et voyez si vous pouvez le relever vous-même. Sinon, je vous verrai dans la prochaine leçon et je vous montrerai comment cela peut être fait. 11. La poursuite se termine : attraper la coccinelle: Eh bien, voyons comment nous pouvons terminer notre premier match. Maintenant, tout comme pour la libellule, nous devons savoir si nous touchons le Je suis sûr que vous savez quoi faire ici, car en gros, c'est exactement la même chose que la libellule, sauf qu' au lieu de détecter la libellule, si elle touche la coccinelle, c'est le Mais je voudrais vous montrer un autre truc un peu plus délicat. Souvenez-vous que plus tôt, nous avons appris que nous pouvions dupliquer le code dans un sprite Eh bien, nous pouvons également dupliquer le code entre les sprites. en revenir à notre libellule, nous pouvons simplement cliquer et faire glisser le script et le déposer sur notre sprite coccinelle Cela dupliquera automatiquement le script. Maintenant, deux n'ont pas ce script. C'est cool. Maintenant, il ne nous reste plus qu' à toucher coccinelles à toucher les libellules Si vous ne savez pas encore comment supprimer le code, il vous suffit de le faire glisser dans cette zone et nous le supprimerons. Maintenant, ce que nous voulons, c' est qu'il se cache lorsqu'il touche la libellule, presque comme s'il était mangé. Ici, nous pouvons simplement aller dans l'onglet Looks, saisir le code de masquage, afin que notre sprite se cache lorsqu' il touche la libellule Maintenant, si on rejoue. Remarquez que si nous touchons une coccinelle, elle se cache. Mais malheureusement, nous avons quelques problèmes parce que c'est une sorte de scène cachée, ce que nous ne voulons pas. Et deuxièmement, notre libellule ne produit pas le son que nous voulons Mais cela nous amène à un aspect important du débogage de programmation Je ne parle pas de notre coccinelle, même si c'est une drôle de coïncidence débogage est essentiellement le processus de recherche et de correction des erreurs dans votre code Dans le domaine de la programmation, il existe deux principaux types d'erreurs. Tout d'abord, il y a ce que l' on appelle les erreurs de syntaxe. En gros, cela signifie simplement qu'il s'agit erreurs lorsque vous écrivez du code qui ne suit pas la syntaxe correcte ou les règles d' écriture du code et du langage de programmation. Les erreurs de syntaxe empêchent généralement l'exécution de votre code. Mais heureusement, vous n' avez pas à vous inquiéter à ce sujet , car Scratch empêche ces erreurs, car vous pourriez essayer de connecter deux blocs qui ne s'emboîtent pas vraiment, ce qui revient à dire que non, cela provoquerait essentiellement une sorte d'erreur de syntaxe Mais en gros, scratch vous oblige à écrire à l' aide de blocs, du code parfait sans erreur de syntaxe, ce qui n'est pas une mauvaise chose. Cependant, le type de bogue suivant est celui qui concerne les erreurs logiques. Ces erreurs se produisent lorsque votre code est écrit correctement, mais qu'il ne correspond pas à vos attentes. Par exemple, dans notre jeu, si la coccinelle ne se cache pas lorsqu' elle touche un accord ou si elle se cache trop tôt, ce serait une erreur logique Votre code fonctionne toujours, mais le résultat n'est pas celui que vous attendiez. Et ces erreurs se produiront tout le temps. Mais ce n'est qu'une partie de la programmation. Vous ne devez jamais vous attendre à ce que votre programme fonctionne parfaitement du premier coup. Vous aurez vraiment de la chance si cela se produit. Il s'agit plutôt de déboguer, de trouver toutes les erreurs présentes dans votre code et de vous en débarrasser pour qu'il fonctionne correctement De plus, au fur et à mesure que vous acquerrez de l'expérience, vous pourrez mieux détecter et corriger ces erreurs Tout cela étant dit, examinons ces erreurs logiques et voyons si nous pouvons les corriger. En regardant le script de Lady Bug, vous pouvez voir que nous la cachons lorsqu'elle touche la libellule Mais on ne le verra plus jamais. Donc, ce que nous pourrions faire, c'est créer un bloc d'affichage juste en dessous. Mais vous devez également remarquer suite que cela va juste se cacher et apparaître tout de suite et se produit si vite qu'il semble que rien ne se passe. Et nous pouvons le confirmer en cliquant sur Play. Vous pouvez voir que cela ne se cache pas vraiment. Ce dont nous avons besoin ici, c'est d'un bloc de code de poids. Nous pouvons donc faire en sorte que le sprite se cache puis s'affiche après un certain temps, en l' ajoutant entre ces deux blocs puis en le rejouant Oui, vous pouvez voir qu'il se cache correctement, puis il s'affiche à nouveau pendant une seconde. Cependant, nous avons encore un bug, c'est que notre libellule ne dit pas euh et ne produit pas ce son cool Maintenant, c'est un peu plus difficile car notre code semble parfait. Pour y remédier, nous devons penser comme un ordinateur et comprendre pourquoi il ne fonctionne pas comme prévu. Analysons la situation. Si nous regardons notre code libellule, lorsqu'elle touche la coccinelle, elle est censée dire «   euh » et émettre un Cependant, lorsque nous observons le jeu, la coccinelle se cache dès qu'elle touche la libellule, ce qui signifie que la libellule n'a aucune chance de détecter qu' elle touche la coccinelle Pour résoudre ce problème, nous pouvons ajouter un court délai avant que la coccinelle ne se cache, laisser à la libellule le temps d' enregistrer qu'elle touche la coccinelle Et nous pouvons le faire simplement en ajoutant un bloc de poids avant le bloc de masquage dans le code Lady Bugs et en réglant le temps d'attente à 0,1 seconde environ. Cela créera une brève pause avant la coccinelle, mais cela donnera à la libellule suffisamment de temps pour sentir qu'elle touche la coccinelle, mais cela nous apparaît presque instantanément Testons à nouveau le code. Alors tu l'as. Notre tout premier jeu fonctionne et tous les bugs ont été corrigés et débogués C'est vraiment un excellent travail pour en arriver là. Vous savez, je pourrais dire un développeur de jeux. Mettez-le dans votre recette, mais préparez-vous à créer des jeux bien plus excitants que celui-ci dans les sections suivantes 12. Préparer le terrain pour un jeu d'en-tête de football: Eh bien, nous sommes prêts à démarrer notre tout nouveau projet. J'espère donc que vous êtes prêt à améliorer vos compétences en programmation. Tout d'abord. Comme il s'agit d'un nouveau jeu, nous devons créer un nouveau projet. La bonne nouvelle, c'est que c'est en fait assez facile. Mais d'abord, assurez-vous que votre projet actuel est enregistré. Maintenant, il le fait automatiquement. Mais si vous êtes sur le point de quitter votre ou de fermer votre ordinateur, cliquez simplement sur le bouton Enregistrer maintenant. Si vous ne voyez pas le bouton, cela signifie simplement que votre projet est déjà enregistré. Donc, une fois enregistré, il nous suffit de cliquer sur le bouton à gratter ici, puis de cliquer sur Créer. Et une fois de plus, nous avons un tout nouveau projet. Et nous avons également ce chat gratuitement. Mais malheureusement, pour le chat, nous n'en avons pas besoin dans ce projet, nous ne pouvons donc pas le supprimer. De plus, comme vous pouvez le voir, notre projet s' appelle simplement Untitled, nous pouvons donc également le nommer Nous l'appellerons soccer Header game. Ouais Je sais que ce n'est pas vraiment un nom créatif, mais vous pouvez le nommer comme bon vous semble, même si c'est une bonne idée de donner à votre programme un nom qui vous permette de l'identifier et de le retrouver plus tard. Maintenant que c'est fait, nous sommes prêts. Mais avant de mourir d'écriture, souvenez-vous que dans la section précédente, nous avons parlé de l'importance de décomposer un grand projet comme la création d'un jeu, et de petites étapes réalisables Nous le faisons parce que cela rend non seulement le processus plus facile à gérer, mais aussi parce que cela vous aidera à développer bonnes habitudes de programmation, voire des habitudes légères C'est un peu comme escalader une montagne. Si vous êtes en bas et que vous regardez droit vers le haut, cela semble vraiment impossible. Mais si vous vous contentez de regarder dix pas en avant, vous vous dites : « Oui, je pourrais faire ces dix pas ». Ensuite, vous attendez avec impatience dix autres pas et vous faites ces dix pas. Et avant même de vous en rendre compte, vous êtes au sommet de la montagne. Il en va de même pour la programmation. Nous abordons simplement cette montagne de jeu en la divisant en une série de petites étapes. Heureusement, ce jeu n' est ni trop volumineux ni trop complexe, mais nous pouvons tout de même le décomposer. Commençons par créer un jeu d' en-tête de football simple dans lequel le joueur déplace un personnage pour garder un ballon en l'air. Nous allons maintenant utiliser les éléments trouvés dans la bibliothèque à gratter, notamment notre personnage principal, Ben, le ballon de football Sprite et une toile de fond de terrain de football appelée Soccer Two Parce que cette montagne de jeu n'est pas trop grande. Cela ressemble plus à une colline qu'à une montagne. Nous pouvons le diviser en trois étapes seulement. Les étapes consistent à configurer la structure de base, développer les mécanismes de jeu et à peaufiner le jeu. Tout d'abord, nous avons mis en place la structure de base. Nous allons donc apporter tous les éléments nécessaires, tels que des sprites et des toiles de fond, pour créer les bases du jeu Maintenant, pour les jeux encore plus importants, vous pouvez diviser cette étape en tâches plus petites, comme créer l'écran de démarrage, puis le personnage principal ou des éléments de jeu spécifiques. Ensuite, nous devons développer les mécanismes de jeu. Ainsi, une fois les éléments essentiels en place, nous pouvons commencer à programmer les mécanismes du jeu. Nous devons maintenant coder le mouvement du personnage, la physique de la balle et les interactions entre le personnage et la balle. Enfin, il y a l'étape du polissage et du raffinement. Ainsi, une fois que les mécanismes de base auront fonctionné, nous pourrons ajouter plus de détails, tels que des effets sonores, des animations et même le suivi des scores. C'est également à ce moment-là que nous jouerons et testerons le jeu de manière approfondie, en apportant les ajustements nécessaires pour qu'il soit agréable et engageant. Eh bien, une fois ce concept très important terminé, je veux que vous essayiez de terminer vous-même la première étape, qui consiste à apporter tous les actifs nécessaires. N'oubliez pas qu'il s'agit de notre personnage principal, un sprite de ballon de football, et d'un terrain de football en toile de fond appelé Soccer Two Alors mettez la vidéo en pause et essayez de voir si vous pouvez le faire. Si vous l'essayez par vous-même, bravo. Mais voyons comment cela se fait. Tout d'abord, nous pouvons importer nos deux sprites dans notre projet Scratch Donc, en cliquant dessus sur un bouton sprite, nous pouvons simplement rechercher Ben, et le voici Ensuite, nous pouvons cliquer à nouveau dessus et rechercher la balle. Ici, il y a une balle à chaussettes. Nous pouvons utiliser. Enfin, il y a la toile de fond. Pour cela, il suffit de cliquer ici et de choisir le football pour. Alors tu l'as. La première étape est terminée. Vous avez jeté les bases de votre jeu d'en-tête de football avec succès , et nous sommes prêts à donner vie à nos sprites grâce au code Mais alors que nous continuons à développer ce jeu et tous les jeux et projets sur lesquels vous travaillerez par la suite, souvenez-vous de l' importance de décomposer un gros problème en étapes plus petites, car lorsque vous le faites, rien n'est vraiment impossible. Il est même possible d'escalader le mont Everest. 13. Donner vie à des personnages avec du code: Maintenant que tout est en ordre, nous pouvons passer à l'étape suivante, qui consiste à développer les mécanismes de jeu. Maintenant, comme pour notre projet précédent, nous pouvons commencer par notre personnage principal, Ben. Donc, dans ce jeu, nous voulons que Ben essaie de garder le ballon en l'air en le dirigeant. Ben n'a qu'à aller gauche et à droite et quand on clique sur les râteaux Maintenant, je suis convaincu que vous pouvez résoudre ce problème vous-même. Pourquoi pas ? Mettez la vidéo en pause et essayez de terminer cette partie vous-même. Faites une pause et lancez-vous. Je vais vous montrer comment procéder dans un instant, mais voyez si vous pouvez trouver comment faire en sorte que Ben se déplace à gauche et à droite. OK. Voyons comment procéder. Nous sommes en train de créer exactement le même script que celui que nous avions créé pour notre libellule, sauf que cette fois, notre personnage n'a pas besoin de monter ou de descendre Le code dont nous avons besoin, c'est quand on clique sur le drapeau, un pour toujours et un F. Maintenant, avant d'ajouter le reste, je veux juste que vous remarquiez à quelle fréquence nous avons utilisé ce groupe de code Lorsque le drapeau clique indéfiniment et F. s'agit d'un groupe de code très important qui est souvent utilisé car il permet créer des programmes qui s'exécutent en permanence et réagissent à des conditions spécifiques avec le F. Ces blocs de code constituent la base de nombreux projets nuls et sont essentiels à la création de programmes interactifs Passons à autre chose, le reste est pareil. Nous allons utiliser la touche enfoncée, la remplacer par la flèche droite. Passez ensuite aux mouvements et apportez cette modification x par dix. Cela signifie que nous appuyons sur la flèche droite, elle se déplacera dix fois vers la droite. Maintenant, nous pouvons simplement le dupliquer, le remplacer par la flèche gauche et changer x en moins dix. Cela signifie qu'il se déplacera dix fois vers la gauche. Voilà. La première partie de notre mécanique de jeu est terminée et dépoussiérée. C'était assez rapide, n'est-ce pas ? 14. Rebondir pour réussir : animer le ballon de football: OK, nous avons donc défini nos mécanismes de jeu pour notre personnage principal. Maintenant, nous devons faire de même pour notre balle. Tout d'abord, nous voulons faire rebondir notre ballon sur l'écran avant d' essayer de le faire interagir avec le plan de football Comment pouvons-nous faire rebondir notre balle de manière aléatoire sur l'écran ? Eh bien, essayons-le. Faisons en sorte de cliquer sur le drapeau gagnant et de créer une boucle éternelle. Nous savons également que cela a quelque chose à voir avec le mouvement. Jetons un coup d'œil pour voir ce que nous pourrions utiliser. Nous savons que nous pouvons déplacer la balle sur l'écran en modifiant sa position. Et il y a un joli bloc qui dit «  I on Edge Bounce », ce qui semble plein d'espoir Intéressons-nous à ces deux éléments dans notre script et cliquons sur Play. Hum. Non, ce n'est pas tout à fait ce que nous voulons. La balle se déplace simplement vers le côté droit de l'écran et rebondit lorsqu'elle touche le bord, ce qui était normal Ce changement n'est donc clairement pas le blocage dont nous avons besoin. Mais avant de continuer, essaie de jouer un tour de blocs pour voir si tu peux faire les choses correctement. Allez. Faites une pause et essayez-le. As-tu réussi à le comprendre ? Eh bien, voyons comment nous pouvons résoudre ce problème. Tout d'abord, ce changement x n' est pas ce que nous voulons. Débarrassons-nous de ça. Maintenant, souvenez-vous qu'avec notre premier programme, je vous ai dit de ne pas utiliser le bloc de dix étapes parce que nous ne pouvons pas le faire monter ou descendre. Eh bien, ce n'est pas tout à fait vrai parce que vous ne pouvez pas vraiment. Vous voyez, lorsque nous faisons dix pas, nous faisons dix pas dans la direction dans laquelle le sprite fait face Si nous tournons notre sprite vers le haut, nous nous déplacerons vers le haut. Tout cela est lié à la direction, et la direction d' un sprite peut être définie ici ou par ces blocs de code Quoi qu'il en soit, nous ne nous inquiéterons pas trop de la façon dont fonctionne la direction pour le moment , car vous y parviendrez dans nos prochains jeux. Mais ce que vous devez savoir, c'est que lorsque nous rebondissons sur le bord, le sprite pointe le sprite dans une direction aléatoire opposée au mur, il rebondit dessus En gardant tout cela à l'esprit, si nous plaçons plutôt le bloc mobile ici, remarquez comment notre balle rebondit sur l'écran, comme nous le voulons Nous y arrivons grâce à nos mécanismes de jeu. Ensuite, nous devons connecter ces deux sprites afin de pouvoir commencer à diffuser des publicités. OK. 15. Maîtriser l'interaction : dynamique de balle et de joueur: Eh bien, maintenant que les mécanismes de base du jeu fonctionnent pour les deux sprites Il est temps de faire en sorte que tout fonctionne bien en vérifiant le ballon touche la tête du joueur et en rebondissant si c'est le Mais avant de régler le problème, il y a deux choses que je voudrais régler avec le joueur. La première consiste à faire apparaître le joueur plus bas afin que nous ayons plus d'espace, et la seconde consiste à adopter un costume plus approprié. Je parie que tu peux trouver comment faire les deux. Allez. Mettons la vidéo en pause et découvrons-le. La première chose à faire est de cliquer sur le bouton droit de nos joueurs pour que nous puissions le mettre au courant. Maintenant, je pourrais juste le faire glisser comme ça. Mais ce n'est pas l'idéal car si je le déplace à nouveau par accident, le tout ne fonctionnera pas correctement. Au lieu de cela, je vais introduire cette option pour bloquer et remplacer le x par zéro, et faisons le y -90 Cela semble vraiment parfait. Ajoutons-le au début du script. Maintenant, à chaque fois, notre script démarrera dans la bonne position. Enfin, pour notre personnage ait l'air correct dans ce jeu, nous pouvons passer aux costumes et le remplacer par celui-ci, Ben C, qui fonctionne bien mieux. Maintenant, nous devons obtenir le ballon pour répondre à notre personnage principal. Cliquez sur le sprite de la balle. Maintenant, réfléchissons-y. En gros, ce que nous voulons, c'est que le ballon rebondisse sur la tête du joueur Quelles instructions ou quels codes spécifiques ? Devons-nous écrire pour y parvenir ? Eh bien, ce problème est également lié à la détection. Comme nous le sentons, si le ballon touche notre joueur. Nous savons que nous allons avoir nos blocs de code de base pour cela, que je liste avant de vous rappeler les blocs de code de base. Le départ, l' éternel et le F. Tout comme notre libellule, nous allons avoir besoin de ce code tactile Et ici, nous pouvons le changer pour détecter s'il touche Ben. Cool. Nous savons maintenant si le ballon touche Ben. Maintenant, que pouvons-nous faire pour le faire rebondir s'il touche un été OK. Vous remarquerez qu' il n'y a malheureusement aucun rebond lorsque vous touchez le bloc de personnage principal, ce qui est vraiment cool pour vous Mais n'oubliez pas qu'avec le code, il n'y aura jamais un seul bloc qui le fera. Il s'agit de combiner du code et de créer des scripts pour y parvenir. C'est vraiment ce qu' il y a de mieux, que vous verrez dans les prochaines leçons. C'est de la programmation, et vous pouvez enregistrer ces scripts et les utiliser dans différents programmes. Peut-être que dans un autre programme, nous avons besoin d'un script qui rebondit sur un autre sprite Une fois que nous avons créé ce script, nous pouvons le réutiliser indéfiniment, et il s'agit d'un important encodage du concept. C'est ce qu'on appelle du code réutilisable, et cela permet de gagner beaucoup de temps. Mais pour y revenir, passons au groupe des motions. Maintenant, souvenez-vous de la façon dont nous utilisons ce bloc de code de déplacement, et ce qui est spécial, c'est que la direction dans laquelle la balle se déplace dépend de la direction dans laquelle elle fait face. Pour simplement faire rebondir notre balle, il suffit de l'affronter vers le haut Et pour ce faire, il suffit de placer ce point dans le bloc de direction. Mais en ce moment, vous pouvez voir qu' il essaie d'atteindre 0,90 degrés, ce qui est sur la droite Mais si on clique dessus, on remarque que cette petite flèche très pratique apparaît. Pour notre code, nous voulons que la balle remonte pour pouvoir faire face à la flèche vers le haut , soit zéro degré. Maintenant, si nous jouons notre code, vous verrez que lorsque nous touchons le ballon, il rebondit. Parfait. Comme vous pouvez le constater, il monte et descend simplement de haut en bas, ce qui en fait un jeu très facile. Mais dans la prochaine leçon, nous verrons comment nous pouvons rendre ce jeu un peu plus difficile et beaucoup plus amusant grâce au hasard. 16. Embrasser le hasard : relever le défi de jeu: OK. En ce moment, dire que notre jeu est facile est probablement plus qu'un euphémisme Il suffit de s'asseoir là et d'attendre le ballon. Mais cela s'arrête là. Il est temps de rendre ce jeu beaucoup plus stimulant et amusant en adoptant le hasard En regardant notre code pour la direction de notre point, vous pouvez voir qu'il pointe simplement vers le haut. Ce comportement est donc normal, Ce comportement est donc car c'est ce que nous disons à la balle de faire. Mais ce que nous voulons vraiment, c'est que le ballon ne pointe pas simplement vers le haut à chaque fois, mais qu'il pointe un peu vers un côté. Alors, comment pourrions-nous faire cela ? Eh bien, souvenez-vous de ce que j'ai dit, ce code est comme un lego où différentes pièces peuvent s'insérer et s'emboîter les unes dans les autres. Eh bien, si vous regardez, vous remarquerez que cette zone a cette forme de cercle ou de type ovale. En parcourant notre code, vous verrez qu'une grande partie du code est une forme. Par exemple, si nous prenons ce bloc d'exposition, voyons comment nous pouvons le placer à l'intérieur ce bloc de direction des points, car il a la même forme. Après, vous remarquerez que si nous jouons au jeu maintenant, le ballon ne fait pas ce que nous voulons Ce n'est clairement pas le bloc que nous recherchons. Mais pour vous donner un indice, le bloc dont nous avons besoin se trouve en fait dans le groupe des opérateurs. Maintenant, souvenez-vous de ce que nous avons dit au début, par blocs de code traitant des mathématiques, qu' il est maintenant important pour nous d'utiliser. Pourquoi ne pas l'essayer ? Essayez de voir si vous pouvez trouver le bloc de code que nous utiliserons pour que notre balle rebondisse correctement. Il suffit de faire une pause et d'essayer. L'avez-vous trouvé ? Eh bien, jetons un coup d'œil. Nous voulons essentiellement que le ballon rebondisse vers le haut et qu'il morde vers la droite ou vers la gauche Si vous regardez ce code, vous verrez qu'il existe ce bloc de sélection aléatoire. Ici, nous pouvons simplement placer ce bloc dans la direction du point. En jouant rapidement, vous pouvez voir qu'il fait ce que nous voulons, mais pas exactement. Il s'agit plutôt de dériver sur le côté. C'est parce que nous devons modifier ces chiffres. En le supprimant à nouveau, nous pouvons cliquer sur la direction de notre point pour avoir une idée de quels chiffres il devrait s' agir ? Déplace cette flèche. Je dirais que -45 et 45 , c'est une très bonne direction. Saisissons-le dans notre sélection aléatoire. Encore une fois, replacez-le dans notre code. Cliquez à nouveau sur Play. Voilà. C'est bien mieux. Le jeu arrive enfin quelque part et c'est beaucoup plus difficile. Oui. Qui a dit que les mathématiques n'étaient pas amusantes ? 17. Programmation de précision : perfectionner l'en-tête: Un match arrive vraiment. Mais il s'agit d'un jeu d'en-tête après tout. Si vous jouez au jeu, vous pouvez voir que vous n'avez pas simplement à frapper la balle avec votre tête. Vous pouvez utiliser n'importe quelle partie de votre corps et frapper la balle avec votre tête ne semble pas être l' élément principal du jeu. Comment pouvons-nous résoudre ce problème de telle sorte que ce n'est que lorsque la balle touche notre tête qu'elle commence à rebondir ? Regardez notre code. Il fallait s'y attendre. Tout ce qu'il fait en fait , c' est sentir que la balle touche, c' est-à-dire l'ensemble du personnage. Nous n'avons aucun code pour y faire face car ce n'est pas comme si nous avions un code qui dit à l'animal de faire quelque chose s'il touche sa tête. Mais c'est bien parce que nous sommes des programmeurs et que nous résolvons des problèmes Que pourrions-nous faire ? Eh bien, peut-être pourrions-nous écrire un code complet qui vérifie la position y de la balle et la compare à la position y de la tête de Ben, etc. et nous pourrions peut-être éventuellement résoudre le problème de cette façon. Mais ils nécessiteront beaucoup de code et de programmation. Mais il s'agit également de sortir des sentiers battus pour trouver des solutions simples à des problèmes complexes. Tout ce que nous voulons que notre code fasse, c'est vérifier si nous touchons la tête de Ben. Mettez la vidéo en pause et réfléchissez un instant. Quelle idée intelligente pourrions-nous faire pour résoudre ce problème ? Nous voulons que le ballon rebondisse uniquement sur la tête de Ben. Faites une pause et réfléchissez. As-tu trouvé de bonnes idées ? Eh bien, voici une façon horrible mais intelligente de le faire. Que diriez-vous de ça ? Nous avons coupé la tête de Ben. OK, attends. J'ai l'air fou. Mais écoute-moi bien. Si nous pouvons avoir un sprite séparé pour la tête de Ben, nous pouvons facilement vérifier si le ballon ne touche que la tête Mais bien sûr, nous aurons également besoin du corps de Ben, afin que nous puissions également l'avoir en tant que sprite distinct Mais avant de couper le corps de Ben de sa tête, je vais vous montrer une autre astuce. Nous pouvons en fait dupliquer un sprite entier cliquant avec le bouton droit de la souris et en appuyant sur Dupliquer Voilà, nous sommes maintenant deux. Maintenant que c'est fait, nous pouvons revenir à notre mode d'origine, passer aux costumes. Ici, vous pouvez voir que nous pouvons apporter de nombreux ajustements à notre personnage. Mais il suffit de retirer le corps. Nous pouvons faire glisser et sélectionner tout cela et revenir en arrière. Voilà. Ben est maintenant un vaisseau flottant. Cependant, comme nous l'avons dupliqué plus tôt, nous ne l'avons même pas remarqué Et si nous rejouons le jeu, regardez comment cela fonctionne parfaitement, et même si le ballon touche le corps, cela ne compte pas. La seule chose que je dois dire, c'est que le fait que notre sprite Bend Two fonctionne parfaitement est un peu involontaire car nous ne l'avons pas du tout programmé En programmant, nous provoquons un heureux accident. Mais si cela fonctionne, c'est parce que les commandes sont exactement les mêmes. Je ne fais que suivre. Bien que cela fonctionne, ce qui est cool, nous devons quand même changer ce code car le problème est que si jamais nous changeons notre code d'origine et que Ben, par exemple, change l'XP deux sept et moins sept, vous pouvez voir maintenant que les choses commencent à devenir un peu bizarres car Ben a une double tête Au lieu de ce code ici, nous pouvons nous en débarrasser et le remplacer par un simple blocage. Et nous pouvons maintenant sélectionner Ben. Maintenant, si nous réutilisons notre code, vous remarquerez qu' il fonctionne sans problème, et c'est ce que nous appelons un code robuste car il est capable de s'adapter aux circonstances. Nous tirons donc des leçons importantes de cette leçon. Faites preuve de créativité, mais assurez-vous également coder d'une manière résiliente qui fonctionnera même si les choses changent Avec le temps, tu apprendras à le faire de plus en plus. 18. Partie terminée : présenter les effets sur les en-têtes manquants: Eh bien, un jeu se déroule très bien. Mais je pense que vous pouvez voir clairement le problème ici, lequel est si bien ? Si nous manquons l'en-tête, cela continue, ce qui facilite le gameplay. Il n'y a tout simplement pas de véritable défi. Dans cette leçon, nous verrons comment terminer notre partie lorsque nous manquons l'en-tête. Si vous passez au groupe de contrôle, vous avez peut-être remarqué un bloc spécial ici avec le mot stop all. Je pense qu'aucune explication n' est requise pour expliquer ce que cela signifie Comme vous pouvez le deviner, ce bloc arrête tout. Par exemple, si je joue à ce script, puis que je clique sur ce bloc, je remarque le jeu s'arrête. Le bloc fait clairement son travail. Cela arrête tous les scripts dans tous les sprites. Mais comme pour les autres blocs, nous pouvons modifier son fonctionnement en cliquant ici. Au lieu de tout arrêter, nous pourrions simplement arrêter ce script. En gros, quel que soit le script dans lequel nous mettons ce bloc, il arrêtera ce script lorsqu'il atteindra ce bloc de code. Nous pouvons également arrêter les autres scripts du sprite, et comme son nom l'indique, et comme son nom l'indique, tous les autres scripts du sprite, à l'exception de celui-ci, s'arrêteront Il y a un autre aspect important que je voudrais que vous examiniez. Mais en gros, remarquez qu'en ce moment, c'est comme un bloc de code normal. Cependant, si je le modifie pour arrêter ce script ou tout arrêter, observez comment le bloc de code change, et il n'y a aucun retrait en bas En gros, cela signifie qu'il ne peut y avoir aucun code sous ce bloc. Tu verras si on essaie. Il ne se connecte tout simplement pas. Si vous y réfléchissez, c'est parfaitement logique car si nous arrêtons tout ou arrêtons ce script, le code sous-jacent ne s'exécutera jamais nulle part. Cela n'a aucun sens de pouvoir ajouter du code en dessous. Eh bien, maintenant que vous comprenez comment fonctionne le stop block, je vais vous lancer un défi assez délicat. Je pense que tu es à la hauteur. Je voudrais que vous mettiez la vidéo en pause dans un instant pour voir si vous pouvez arrêter le jeu lorsque le ballon touche le sol. Maintenant, n'oubliez pas que cela va demander beaucoup de logique ou sortir des sentiers battus, mais essayez. Pouvez-vous faire une pause pour arrêter le jeu lorsque le ballon touche le sol ? Faites une pause, réfléchissez et essayez. Eh bien, si vous avez vraiment réussi à le faire fonctionner, c'est incroyable. Mais même si ce n'est pas le cas, c'est également une bonne chose, car c'est là que l'on apprend en essayant de comprendre les choses. C'est là que vous vous amusez vraiment beaucoup. Voyons comment cela pourrait être fait. Examinons deux manières différentes d'y parvenir. Tout d'abord, nous allons avoir besoin de l'un de nos packs pour toujours, et s'il s'agit de packs combinés. Je vais juste dupliquer celui-ci et me débarrasser du code qu'il contient. Ensuite, je vais le dupliquer à nouveau parce que nous couvrons deux méthodes. Maintenant, la première méthode à laquelle nous allons réfléchir est un peu originale. Je ne sais pas si tu as inventé celui-ci, mais si c'est le cas, c'est génial. Nous allons aller voir le groupe de détection. Regardez cette option en touchant la couleur. C'est cool. Nous pouvons vérifier si notre sprite touche une couleur spécifique. Intéressant Le seul problème est de savoir quelle couleur vérifions-nous, car le bas est à peu près de la même couleur. Eh bien, changeons cela. En cliquant sur notre toile de fond , puis en accédant à cet éditeur. Remarquez qu'il existe un tas d' outils que vous pouvez utiliser pour le personnaliser. Mais tout ce dont nous avons besoin, c'est d'une couleur spécifique en bas. Pour ce faire, je peux simplement utiliser cet outil. Choisissez une couleur unique et tracez une ligne en bas. Alors tu l'as. Maintenant, je peux modifier le toucher de cette couleur en utilisant le sélecteur de couleur Enfin, ajoutez mon arrêt à tout. Maintenant, lorsque nous jouons le jeu, puis lorsque nous le ratons, notre jeu s'arrête. C'est génial. Cela fonctionne. C'était une façon créative de résoudre ce problème. Mais avant de poursuivre, je vais vous montrer une autre méthode, mais elle sera rapide. Comme vous pouvez le voir ici, j'ai déjà assemblé le script, et si nous jouons au jeu, vous verrez qu'il fonctionne de la même manière et qu' n'a même pas besoin de toucher ni de couleur. En regardant le script, vous pouvez voir qu'il vérifie si la position y de la balle est inférieure à moins un 50, ce qui signifie essentiellement qu' elle touche le sol, si c'est le cas, eh bien, elle s'arrête. Trop facile. Ces deux méthodes fonctionneraient, et nous avons parfois besoin de moyens créatifs pour faire les choses. Mais si nous réfléchissons encore plus, nous trouverons peut-être un moyen encore plus simple : continuez à réfléchir. C'est en gros ça. Votre jeu est prêt à être joué. Lors des prochaines leçons, nous allons les rendre beaucoup plus amusantes avec les scores et les niveaux. Mais pour l'instant, appréciez chemin parcouru dans ce jeu que vous avez créé, jouez-y un peu et amusez-vous. 19. Garder le score : présenter les variables et la logique de jeu: Je pense que nous sommes tous d'accord pour dire qu' il manque quelque chose de très crucial à ce jeu . Quelque chose de fondamental et d'absolument nécessaire à tous les jeux, score, car comment allez-vous faire preuve de flexibilité face à vos amis alors que vous ne pouvez même pas leur montrer un score élevé ? En installant une fonction de notation, vous apprendrez l'un des concepts de programmation les plus fondamentaux et vous utiliserez un bloc de code que nous n'avons pas encore abordé, à savoir les variables. Alors, êtes-vous prêt à poursuivre votre aventure d'apprentissage ? En ce qui concerne notre jeu, ce que nous voulons, c'est un petit score en haut qui indique combien de fois nous avons dirigé le ballon, et nous voulons que le score soit remis à zéro si nous ratons. En passant au groupe de code des variables, vous pouvez voir qu' il n'y a en fait pas beaucoup de blocs de code ici. Et pour les blocs de code considérés comme si importants, vous pensez peut-être que cette zone devrait être empilée Eh bien, contrairement à tous les autres groupes de blocs de code que nous avons examinés, avec les variables, vous pouvez créer plus de blocs de code en cliquant sur ce bouton ici, que nous examinerons dans une minute. Mais avant cela, je veux juste que vous compreniez ce que sont les variables. Maintenant, en programmation, nous avons souvent besoin de stocker des informations afin pouvoir les utiliser ultérieurement et nous avons également besoin d'un moyen de les obtenir facilement. C'est là que les variables entrent en jeu. Les variables sont comme des conteneurs qui contiennent des informations, c'est pourquoi elles sont appelées variables. Cela signifie essentiellement que le conteneur peut contenir différents types d'informations. Nous pouvons donner des noms aux variables afin de pouvoir y accéder facilement y mettre des informations et les utiliser partout où nous en avons besoin. Pensez à des variables comme des boîtes dans lesquelles nous pouvons stocker des choses. Tout comme vous pourriez avoir une boîte pour ranger vos jeux, une boîte pour ranger vos livres, une boîte pour ranger vos vieilles chaussettes ou autre. Les variables sont à peu près les mêmes. Mais au lieu de stocker des objets physiques tels que des livres des jeux ou de vieilles chaussettes puantes, variables stockent des données telles que des chiffres et du texte. Imaginez-le comme ça. Nous avons un score à score variable. Et dans cette variable, nous stockons la valeur zéro. Mais lorsque nous commençons à jouer , nous revenons en arrière, examinons le score noté dans notre case variable pour découvrir quelle valeur se trouve actuellement dans la variable. Dans ce cas, quand on regarde à l'intérieur, zéro. Maintenant que nous avons regardé à l'intérieur de la boîte et découvert que c'est zéro, nous pouvons simplement en ajouter un, ce qui nous donne un et le remettre dans la boîte. Ensuite, nous pouvons afficher notre variable et le score de un est affiché à l'écran. Lorsque nous obtenons un autre en-tête. À quoi sert le programme  ? J'y retournerai, regarderai dans la boîte de score, et cette fois, je verrai qu'il y a un numéro un inscrit dedans. Nous pouvons simplement en ajouter un, ce qui nous en donne maintenant deux, stocker à nouveau dans notre variable et l'afficher à l'écran. De toute évidence, cela continue encore et encore. Mais en gros, je veux que vous compreniez en quoi les variables ne sont que des boîtes de stockage numériques avec des noms. Ces variables nommées peuvent stocker n'importe quel nombre de texte sous forme de nombres, etc., et nous pouvons facilement vérifier les valeurs de nos variables. Et nous pouvons utiliser nos variables de différentes manières, par exemple en gardant notre score pour notre partie ou même de manière invisible dans de différentes manières, par exemple en gardant notre score pour les coulisses , comme en augmentant la difficulté du jeu, comme nous le verrons plus tard. Maintenant que vous comprenez l'idée de base des variables, examinons ces blocs et voyons comment ils se rapportent à ce que nous avons dit. Tout d'abord, souvenez-vous comment j'ai dit que le groupe de variables vous permet de créer de nouveaux blocs. Eh bien, pour cela, il suffit de cliquer sur ce bouton, et cela crée une nouvelle variable. Donc, en gros, une nouvelle boîte pour stocker nos informations numériques. Comme vous pouvez le voir, il demande comment nous voulons appeler la variable. Parce que cela va contenir nos informations de score, nous l'appellerons score. Ensuite, juste en dessous, voyez comment cela nous donne une décision. Cette variable s' applique-t-elle à tous les sprites ou uniquement à ce sprite ? En gros, cela signifie que tous les autres sprites peuvent voir et modifier notre variable de score ou que seul ce sprite peut y accéder En programmation, c'est ce que nous appelons le scope. C'est comme un mot fantaisiste désignant quelle partie du code permet de voir ou de modifier des variables ? Si tous les sprites peuvent voir et modifier la variable, cela s'appelle une portée globale Bien que seul le sprite puisse voir et modifier, il s'agit d'une variable de portée locale Nous choisirons le sprite uniquement car notre sprite n'a pas besoin d'avoir accès à notre variable de score, et toutes les modifications peuvent se produire à l'intérieur du Et en cliquant sur OK, vous pouvez voir notre toute nouvelle variable de score apparaître ici. Regardez comment vous pouvez même le voir à l'écran, qui dans ce cas fonctionne parfaitement pour nous. Maintenant que nous avons notre variable, je vais faire glisser chacun de ces blocs vers l'extérieur pour que vous puissiez voir ce qu'ils font. Tout d'abord, nous avons défini la variable sur un nombre. Et si vous changez ce numéro et que cliquez dessus, eh bien, rien ne se passe. Et c'est simplement parce que nous n'avons pas sélectionné notre variable de score. Ce faisant, vous verrez maintenant que notre score est fixé à trois, comme indiqué à l'écran. Donc, ce bloc ici ne se soucie pas de savoir quelle était notre variable. Il le définit simplement à la valeur que vous voulez, et cela peut même être un mot comme élevé. Mais nous voulons le conserver sous forme de nombre, alors remettons-le à zéro. Passons à la variable suivante, celle-ci consiste à modifier la valeur. Donc, si nous en mettions un ici puis que nous cliquions, score CR augmente d'un. Et en gros, ce que fait ce bloc est ce que j'ai expliqué plus tôt. Lorsque je clique dessus, il regarde quelle valeur est stockée dans notre variable de score, qui dans ce cas est deux, puis il examine valeur par laquelle elle doit être modifiée, qui est un, il prend deux pour un, et vous avez fait le calcul dans votre tête. Très bien Et nous obtenons un score de trois. Enfin, en regardant vers le bas, nous avons ces deux blocs, qui sont assez simples. Nous pouvons afficher une variable sur notre scène ou la masquer. Eh bien, c'est tout ce qu'il y a à voir. Grâce à cela, vous comprenez maintenant les principes fondamentaux des variables en programmation, ce qui est un concept très important. Je veux que vous essayiez maintenant de voir si vous pouvez implémenter la variable score dans votre code, et dans la prochaine leçon, je vais vous montrer comment nous l'avons fait. 20. Ajuster le système de score: Eh bien, comment ça s'est passé ? Vous avez peut-être rencontré quelques problèmes, mais un problème n'est qu' un tremplin dans votre apprentissage qui mène à la croissance. Oui, c'est assez profond, n'est-ce pas ? Mais c'est ce que c'est. Quoi qu'il en soit, allons-y. Nous voulons donc modifier le score d'un point. Chaque fois que notre gars reçoit un en-tête. Et notre gars prend de la tête quand il touche le ballon. Donc, si vous regardez le script ici, c'est essentiellement ce qu'il fait. C'est sentir si nous sommes en train de toucher Ben. Cela fonctionne donc parfaitement pour notre changement de variable, et nous n'avons même pas besoin de créer un nouveau script. Alors faisons-le. Si la balle touche B, nous voulons changer notre score variable d'une unité et changer la direction de la balle. Vérifions-le. Cliquez sur Play. Vous verrez quand nous aurons pris de l'avance, cela fonctionne. Mais juste avant de trop célébrer, veillez à ce que nous touchions le ballon par le côté. Nous obtenons toute une pile de points. Et c'est une façon de tricher dans notre jeu. C'est un peu une astuce. Nous devons donc absolument régler ce problème. Et remarquez également que lorsque nous redémarrons le jeu, notre score reste le même. Donc, tout d'abord, nous pouvons corriger notre score sans redémarrer, simplement en ajoutant ce bloc de variables définies au début de notre script Ainsi, chaque fois que nous commençons une partie, notre score est remis à zéro. Notre prochain problème doit être résolu manière plus intelligente, car si vous regardez ce code, si Ben touche le ballon, il change la variable d'une unité, et il continue ainsi jusqu'à ce qu'il ne touche plus le ballon. Même si nous ne touchons qu'une seconde, le score augmentera plusieurs fois au cours de cette seconde. Pour résoudre ce problème, ajoutez un poids d'une seconde à la fin du code, et nous n'avons même pas besoin d'être aussi long, changeons-le peut-être en une demi-seconde. Maintenant, si vous regardez le script, nous avons fixé notre score à zéro. Ensuite, si nous touchons Ben, nous changeons de direction, changeons notre score, puis nous attendons 1 seconde, ce qui signifie que nos joueurs ne peuvent plus tricher. Ainsi, votre score est terminé, en un clin d'œil. Si vous double-cliquez sur la variable, vous pouvez l'agrandir comme ceci. Vous pouvez également le déplacer et le placer n'importe où sur votre écran. Maintenant, amusez-vous avec ce jeu, essayez-le et voyez jusqu'où pouvez-vous atteindre ? Quel est ton meilleur score ? Amusez-vous bien car vous êtes occupé à créer un jeu absolument incroyable. 21. Lisser les bords : déboguer le flux de jeu: Dans cette leçon, nous allons faire quelque chose de très excitant  : le débogage Peut-être pas. Peut-être que le débogage n'est pas une partie très excitante de la programmation, car il s'agit d' essayer de résoudre quelque chose qui ne fonctionne pas Mais cela dit, il n'y a rien de plus satisfaisant que corriger un problème dans votre code qui vous agace vraiment. Tu t'y habitueras. Et les deux problèmes que nous abordons concernent tous deux le ballon. Bien que techniquement parlant, en fait d'un bogue, il s'agit simplement de fonctionnalités que nous n'avons pas complètement implémentées. Mais tout d'abord, lorsque nous commençons notre partie, notre balle ne commence pas au milieu. Au lieu de cela, il commence simplement là où il s'est arrêté. Deuxièmement, il se déplace simplement dans la direction dans laquelle il se dirigeait auparavant. Cela rend littéralement la tâche impossible lorsque le jeu commence et que notre balle tombe directement sur le sol. Comment résoudre ce problème ? Ne me regarde pas. Tu es le programmeur. Utilisez vos compétences en programmation, en codage et en résolution de problèmes pour que la balle démarre au milieu et automatiquement elle remonte automatiquement au début de la partie. Tu peux le faire ? Je vais attendre. Mettez la vidéo en pause et essayez-la. Alors, comment y êtes-vous allé ? Eh bien, voyons comment tu aurais pu faire ça. Tout d'abord. Pour nous assurer que notre balle commence au milieu, nous pouvons facilement le faire, en passant simplement en mouvement, en introduisant ce go to block, changeant à zéro x, et disons 60 y, puis en l'ajoutant au début de l'un de nos scripts dans le sprite de la balle Maintenant, lorsque nous commencerons, vous verrez que notre balle commence au centre. Génial. Nous arrivons à quelque chose. Le problème suivant, cependant, est que parfois notre balle descend tout droit vers le bas, ce qui n'est pas un accident de train, mais pour des raisons de cohérence, assurons-nous que notre balle commence par un mouvement ascendant Et encore une fois, la solution n'est pas trop complexe. Tout dépend de la direction dans laquelle pointe notre balle. Ainsi, tout comme nous définissons la position de la balle dès le départ, nous pouvons également définir la direction dans laquelle elle pointe. En faisant glisser ce bloc, nous pouvons définir la direction à zéro degré, puis l'amener au début de notre script Maintenant, chaque fois que nous cliquons sur Démarrer, vous remarquerez que le jeu correspond à la position et à la direction de la balle. Et avec cela, votre jeu est très jouable. Mais gardez votre chapeau, car dans la prochaine leçon, nous allons faire passer le jeu simple au niveau supérieur avec des niveaux de difficulté, des animations et plus encore. 22. Améliorer le niveau : présenter les problèmes dynamiques: Maintenant, le jeu est plutôt amusant. Cela ne fait aucun doute. Mais nous ne pouvons pas nous contenter de dire que c'est très difficile parce que ce n'est pas vraiment difficile. Maintenant, la balle reste à peu près à une vitesse constante et la difficulté du jeu est toujours la même. Où est le fun là-dedans ? Voyons comment nous pouvons ajouter un petit défi à notre jeu en créant des niveaux de difficulté croissante. Maintenant, en gros, ce que nous voulons, c'est que notre alésage augmente continuellement en vitesse à mesure que notre score augmente. C'est ici que vous allez commencer à voir le véritable pouvoir des variables car nous allons les utiliser pour modifier toute la dynamique de notre jeu et de notre code. Si vous regardez ce qui dicte réellement la vitesse de notre balle, vous verrez qu'il s'agit simplement d'un coup de bloc de dix pas. Donc, si nous augmentons le nombre à 15, puis que nous appuyons à nouveau sur Play. Maintenant, tout à l'heure, le ballon va beaucoup plus vite. Cela signifie que pour augmenter la difficulté d'un jeu, nous devons augmenter le nombre ici. De toute évidence, nous ne voulons pas rester là à le faire manuellement Faisons en sorte que les variables fassent le travail à notre place. Pour en revenir à nos variables, créons-en une nouvelle. Cette fois, c'est ce que nous appelons la vitesse du ballon. Encore une fois, nous pouvons en faire une variable locale en cliquant ici. Maintenant, comme vous pouvez le voir, notre nouvelle variable apparaît directement sur notre écran. Mais contrairement au score, notre plaque n'a pas vraiment besoin de voir ce chiffre, mais nous pouvons le laisser ici pour le moment pendant que nous modifions le code pour nous assurer qu'il fait le bon choix. Maintenant que nous avons notre variable de vitesse de balle, vous verrez que nous pouvons faire glisser ce bloc ici et sur notre zone de script Comme vous devez le remarquer, ce bloc a la même forme que celui-ci, nous pouvons donc simplement faire glisser notre variable dans notre bloc d'étapes de déplacement. Malheureusement, vous remarquerez également que le jeu ne fait vraiment rien et ce qu'il ne devrait pas faire. Parce que si vous regardez le code, nous déplaçons des pas de vitesse de balle, et la variable de vitesse de la balle est nulle, donc nous ne déplaçons aucun pas. solution rapide consiste à régler la vitesse de la balle à dix au début du jeu , soit la même vitesse qu'auparavant. Encore une fois, en cliquant sur jouer, vous verrez que le jeu est de nouveau en ordre de marche. Mais maintenant, nous ne sommes que de retour à la case départ. Cependant, nous voulons maintenant que la difficulté de notre jeu augmente au fur et à mesure que nous jouons. À ce stade, si vous regardez votre clavier vers le bas, vous verrez une longue barre appelée barre d'espace. Si vous cliquez dessus, nous allons mettre cette vidéo en pause. Mais avant cela, cela vous donnera l'occasion de déterminer comment ajouter vous-même cette fonctionnalité et de développer vos compétences en résolution de problèmes. Cliquez sur la barre d'espace pour mettre en pause cette vidéo et essayez de résoudre ce problème. Je suggère de créer un nouveau script. Mais je vais attendre de l'autre côté de cette pause pour voir si vous pouvez faire en sorte que cela fonctionne maintenant. Tu l'as découvert ? Comme je l'ai mentionné, il existe souvent de nombreuses façons d' implémenter de nouvelles fonctionnalités, mais la solution la plus simple est souvent la meilleure solution. Créons un nouveau script qui contrôle la difficulté de notre jeu. Comme toujours, nous avons besoin de ce bloc ici. Ensuite, nous avons besoin de cette modification variable par bloc ici et nous nous assurons que c'est la vitesse de la balle sélectionnée. Nous avons maintenant besoin d'un moyen de faire en sorte que cela augmente continuellement. Tout simplement, nous pouvons le faire en utilisant boucle permanente ou une boucle répétée, et l'une ou l'autre nous permettra d'actualiser constamment la difficulté du jeu Dans notre cas, je vais utiliser un bloc de répétition parce que nous ne voulons pas que le jeu devienne de plus en plus difficile au point de devenir impossible Mettons donc ce bloc dans celui-ci, et je suis sûr que vous pouvez deviner ce qui se passera lorsque nous commencerons le jeu. Ouais. Nos planches passent directement à la vitesse supérieure. Heureusement, il existe une solution simple consiste à faire glisser ce bloc de poids, puis à le régler sur 5 secondes. Maintenant, quand on rejoue, tu peux voir que c'est notre jeu. Lentement, mais sûrement, les difficultés commencent à augmenter au fil du temps. Arrive finalement au point où cela devient presque impossible. Le script a peut-être besoin d'être peaufiné, mais nous vous laissons le soin de le faire Maintenant que notre variable de difficulté a été correctement ajoutée à notre jeu, nous pouvons également que notre variable de difficulté a été correctement ajoutée la masquer notre écran en décochant simplement cette case R Il n'y a pas vraiment besoin que les joueurs le voient. Eh bien, c'est à peu près tout pour le moment. Nous avons terminé la deuxième étape et développé les mécanismes de jeu. maintenant à la dernière étape, la phase amusante où nous peaufinons notre jeu et y ajoutons jolis graphismes son et même de l'animation. 23. Touches finales : polir votre jeu d'en-tête de football: Nous en sommes donc à la troisième étape, qui consiste à peaufiner le jeu, et c'est là que nous nous assurons que tout soit beau en ajoutant des animations, de la musique, du son, etc. Mais comme je l'ai dit, c'est une étape très excitante. Au fur et à mesure que vous verrez votre jeu prendre vie. Maintenant, cette étape peut prendre peu de temps ou beaucoup de temps. Tout dépend de la beauté que vous voulez donner à votre jeu et de la durée pendant laquelle vous voulez jouer. Mais il est certainement vrai qu' avoir des graphismes et un son de qualité peuvent contribuer grandement à améliorer votre jeu. Il est donc important de s' assurer de donner une vraie vie à la scène. OK, allons-y. En regardant ce jeu, la première chose que je n'aime pas, c'est la taille de la balle. Réduisons-le plus petit. Réglons sa taille à 80 %. Ça a l'air mieux. Maintenant, la deuxième chose à améliorer est la façon dont notre porteur principal flotte à gauche et à droite alors qu'il devrait bouger ses jambes Maintenant, c'est là que nous allons vraiment mieux comprendre les costumes. En cliquant sur notre virage pour sprite, qui a les jambes, je veux faire croire que ses jambes bougent On peut cliquer sur les costumes. Ici, la première chose à faire est de nous débarrasser de ces autres costumes, car nous n'en avons pas besoin, et ils ne feront que gâcher l'animation. Maintenant, si tu cliques sur notre premier costume, tu verras que tu peux le dupliquer. Nous en avons maintenant deux , et c' est là que commence le monde amusant de l'animation. En cliquant sur l'outil de sélection. Nous pouvons simplement sélectionner uniquement les pieds. Ci-dessous, vous pouvez voir que nous sommes en mesure de faire pivoter les pieds. Parce que nous voulons qu'il ait l' air en marche, nous allons passer à gauche puis à droite. Passons maintenant à la partie fastidieuse, faites-la pivoter un peu plus vers la gauche et centrez-la Maintenant, dupliquez le sprite. Sélectionnez à nouveau les pieds, faites-les pivoter, envoyez-les, rincez-les et répétez. Et lorsque nous arriverons à peu près à cet angle, nous allons commencer à déplacer les jambes vers la droite, encore une fois, rincer et répéter. Maintenant, lorsque les jambes atteignent l'extrême droite, reculez-les une fois de plus. De cette façon, nous avons une animation fluide. Maintenant, bien que nous ayons maintenant l'animation spéciale, nous avons toujours besoin du code pour la faire fonctionner. En revenant à notre onglet, nous pouvons commencer à écrire le code, ou nous pouvons être intelligents et nous rendre compte que le code de notre ben d'origine est également parfait pour bend. Il suffit de le faire glisser dessus, puis supprimer tous ces blocs inutiles. ne nous reste plus qu'à placer la colonne suivante dans chacune de ces vérifications conditionnelles. Cela signifie que si nous cliquons gauche ou à droite, le costume changera. Si nous jouons au jeu maintenant, remarquez à quel point c'est meilleur, quel point il a l'air plus réaliste. Cela vous montre le pouvoir de l'animation Même si vous le vouliez, nous aurions même pu faire pivoter le corps un peu. Tu peux essayer si tu veux. Mais passons à l'étape suivante, c' est-à-dire le ballon. Et voici quelques améliorations que je souhaite apporter. Tout d'abord, je veux qu'il émette un son rebondissant lorsque Ben frappe le ballon et un arbitre siffle lorsqu' il touche le sol Passant à notre groupe de sons, nous pouvons choisir le son de départ. De plus, la différence entre les deux est que celui-ci diffusera le son jusqu'à ce qu'il soit terminé avant de passer au bloc de code suivant, comme un bloc de poids alors que celui-ci n'interfère pas. Celui-ci fonctionne mieux dans notre cas car nous voulons nous assurer qu'il n'interfère pas avec notre code pendant que le son joue. Cela dit, si notre balle touche Ben, nous voulions jouer le son, afin de pouvoir l'ajouter ici. Ensuite, pour le son de l'arbitre, vous verrez que nous ne l'avons sur le sprite, nous devons donc l'ajouter Allez dans l'onglet son, nous pouvons simplement cliquer sur ce bouton ici et simplement rechercher et le voilà. Maintenant qu'il est ajouté à notre sprite, vous pouvez voir que nous pouvons désormais le sélectionner dans notre code Encore une fois, logiquement, cela devrait sonner à la fin de notre jeu, afin que nous puissions l'ajouter juste ici avant l'arrêt Cependant, lorsque nous jouerons au jeu, vous serez peut-être un peu déçus car même si notre son lié à la balle fonctionne, le sifflet ne fonctionne pas Eh bien, comme je viens de le dire, le bloc de son jouera jusqu'à ce qu'il soit terminé tandis que ce bloc de son jouera et exécutera le code suivant. Ainsi, le stop étant le bloc suivant, le son ne sera pas diffusé de fond en comble. Remplaçons cela pour l'autre bloc. Est-ce que tu l'as. Cela fonctionne. Maintenant que les deux côtés sont ajoutés, la dernière chose que je veux faire pour le ballon est de donner l'impression qu'il tourne dans les airs au lieu de rester statique tel quel. Et pour cela, il faut revenir aux costumes. Mais cette fois pour le ballon. Maintenant, je parie que tu peux le comprendre. Une fois que vous mettez la vidéo en pause, vous venez de voir ce que nous avons déjà fait, mettez la vidéo en pause et vous voyez si vous pouvez donner l' impression que la balle tourne. C'est vrai. Laissez-moi vous montrer comment vous pouvez le faire. Si vous ne l'avez pas déjà découvert , je parie que vous le ferez. Comme vous pouvez le constater, nous n' avons qu'un seul costume ici, nous devons donc créer l' animation nous-mêmes. Ici, comme pour nos jambes, va falloir le dupliquer. Ensuite, sélectionnez-le, faites-le pivoter légèrement, puis sélectionnez, dupliquez, faites pivoter un peu. Je suis sûr que vous pouvez voir où cela va nous mener. Mais en gros, nous devons continuer à tourner jusqu'à ce que notre balle revienne à la position dans laquelle elle l'a démarrée. Grâce à la puissance du montage, je vais accélérer ce processus. Mais malheureusement pour vous, ce processus n'est pas aussi rapide , mais cela ne devrait pas vous prendre trop de temps pour continuer à le faire. Eh bien, voilà. Comme vous pouvez le constater, nous avons tous ces costumes qui s'assemblent pour former une boucle parfaite. Si nous revenons à notre code, nous pouvons facilement l'implémenter, insérant le costume suivant dans notre boucle éternelle, et en jouant, en regardant à quel point cela semble plus réaliste. Nous en sommes maintenant à notre dernière touche. Pour cela, nous pouvons passer à notre toile de fond pour rendre le jeu vraiment plus vivant. Ce que je veux faire, c'est animer l'arrière-plan en faisant clignoter des lumières dans le stade Vous connaissez le truc, passons à notre toile de fond. Nous pouvons supprimer celui-ci. Maintenant, cette fois, je vais d'abord dupliquer l' original trois fois, donc nous avons quatre arrière-plans au total Pour ce qui est de l'effet de lumière clignotante, c'est en fait assez simple. Il suffit de sélectionner cet outil, qui nous permet de créer des cercles. Coloriez ensuite le cercle en blanc en cliquant ici et en faisant glisser le curseur Comme vous pouvez le voir, nous pouvons maintenant dessiner ces cercles blancs. Je vais donc recouvrir certains de ces cercles de blanc pour les faire ressembler à des lumières clignotantes Petit conseil, vous pouvez zoomer en cliquant simplement ici et vous pouvez également redimensionner et repositionner votre cercle OK. Maintenant, je vais passer en revue chacun de ces costumes et couvrir quelques cercles au hasard. OK, c'est fait. Comme avant, nous pouvons utiliser un costume ou une toile de fond pour toujours et après dans ce cas. C'est certainement un peu trop pour rendre les choses moins dingues. Apportons, vous l'avez deviné, notre bloc de poids. Maintenant, nous pouvons simplement faire quelque chose de petit, comme 0,1 seconde. C'est bien mieux. Passons maintenant à la touche finale, un peu de musique de jeu vidéo. Pour cela, nous pouvons simplement aller dans l'onglet son, ajouter un nouveau son, et ici vous pouvez choisir ce que vous voulez, mais assurez-vous que c'est notre boucle. Pour ce jeu, les deux sons du jeu vidéo fonctionnent. Revenons-en au code. Nous pouvons dupliquer le script parce que nous ne voulons pas une déclaration blanche ici, simplement y ajouter le son et le transformer en jeu vidéo. Et ça, mes amis, c'est tout. Notre jeu est terminé. Elle est polie. C'est là que nous voulons qu'il soit à ce stade. Je suis sûr que tu peux aller encore plus loin. Mais pour l'instant, appréciez simplement où il se trouve et la quantité de détails subtils et d'animations qui l'ont amené là où il est. Excellent travail. Profitez de votre jeu, et encore plus du fait que vous soyez un codeur. 24. Préparez-vous : créer une aventure de trafic sans fin: heure actuelle, vous avez vraiment développé de nombreuses compétences en programmation. Je suis ravie de voir les progrès que vous avez réalisés. Nous allons maintenant nous lancer dans une nouvelle aventure, car programmation est souvent une aventure pleine de rebondissements, où l'on se perd, puis où l'on trouve une solution C'est un peu comme naviguer dans une forêt dense. Mais vous finissez par trouver un chemin vers la clairière où la beauté de votre création vous attend. Cela dit, pour notre prochaine aventure de programmation, nous allons vraiment améliorer vos compétences en créant un jeu beaucoup plus complexe et dynamique Ce jeu est un jeu de course à la circulation sans fin où vous êtes une voiture et vous faites un excès de vitesse sur une autoroute Ce jeu mettra au défi vos compétences en programmation, mais il sera également très amusant. Avant de nous plonger dans l'importation de sprites et la conception du jeu, prenons d'abord du recul et voyons la situation dans son ensemble Lors de la création d'un jeu, comme je l'ai dit, il est crucial de décomposer le projet en petites étapes réalisables, et cela devient d' autant plus important le projet devient complexe Cela dit, dans notre jeu de course contre le trafic, nous allons créer les composants suivants. La voiture du joueur, les arbres de chaque côté de la route, les lignes de route, la voiture à obstacles et la route en toile de fond. Voyons maintenant pourquoi nous avons besoin ces sprites et comment ils contribueront à notre jeu Tout d'abord, le sprite automobile du joueur sera le personnage principal que l'utilisateur contrôle, évitant les obstacles et naviguant dans Les sprites des arbres créent ensuite un environnement visuellement attrayant et contribuent à préparer le terrain pour un jeu Pendant que nous conduisons, nous aurons l'impression de croiser des arbres, d'autres plantes et des rochers. Les lignes de route visent à donner une impression de mouvement ou à créer une illusion de mouvement, car il est évident que notre voiture ne peut pas avancer et quitter le haut de ne peut pas avancer et quitter le haut de l'écran pour donner l' impression qu'elle avance avec le sprite de la route Le sprite du chariot à obstacles sera le défi de notre jeu C'est ce que le joueur doit éviter pour poursuivre sa course. Enfin, la route en toile de fond prépare le terrain pour le jeu, plongeant le joueur dans le monde que nous avons créé Maintenant que nous avons bien compris les composants nécessaires à notre jeu, commençons à importer nos numéros. Ce sera la première fois que nous importerons des acides sprites depuis notre ordinateur, mais ne vous inquiétez pas C'est un processus simple. Avant de continuer, comme mentionné précédemment, vous avez le choix ici. Vous avez le choix entre deux types d'acides différents. Vous pouvez soit télécharger les acides bruts, qui seront des images, des sons, de la musique, etc., et suivre que nous vous montrons comment les importer et les modifier. Cela vous donnera une certaine expérience de travail avec les graphismes. Ou si vous souhaitez simplement vous concentrer sur le codage , vous pouvez télécharger la ressource du projet, qui contiendra tous les sprites, la musique et les effets sonores prêts à être utilisés Mais personnellement, je vous encourage à suivre l'exemple des actifs bruts. Cela vous donnera une belle expérience. Tout d'abord, créons notre tout nouveau projet. Comme toutes les fois auparavant, nous pouvons simplement cliquer sur sélectionner ce bouton de création. Si, à ce stade, vous souhaitez utiliser le projet préchargé, il vous suffit de cliquer ici, puis de le charger depuis votre ordinateur. Le passage à notre fichier de projet Starter Traffic Runner. Mais voyons la bonne façon de procéder maintenant. Tout d'abord, supprimons le sprite de capture, nous n'en avons pas besoin. La prochaine chose que nous devons faire est de télécharger notre sprite avant, passer à ce bouton, mais de ne pas cliquer dessus Au lieu de cela, nous pouvons sélectionner ce bouton en haut qui indique « télécharger un sprite Le premier sprite que nous voulons télécharger est le sprite de la voiture de notre joueur Passez au dossier des actifs du projet. Ici, vous verrez notre dossier Traffic Runner, et si vous cliquez dessus, vous verrez que nous avons un dossier pour chacun de nos sprites Sélection de notre PlayerSprite. Ici, vous pouvez choisir la voiture que vous voulez pour votre joueur Sprite Je vais sélectionner celui-ci ici et appuyer sur Ouvrir. Alors tu l'as. Notre sprite de joueur fait maintenant partie de notre projet et est prêt à être utilisé Mais ne nous arrêtons pas là. Uploadons notre autre sprite. Comme avant, il suffit de cliquer sur Télécharger. Cette fois, nous pouvons sélectionner le sprite de la voiture à obstacles. Ici, peu importe celui que vous sélectionnez, car nous les utiliserons tous. Nous pouvons sélectionner Ouvrir. Avant de passer à notre prochain sprite, nous devons télécharger nos autres sprites d'obstacles automobiles Vous pensez peut-être que nous n'aurons qu'un tas de sprites d' obstacles différents ici, mais nous ferons quelque chose d'un peu plus intelligent que cela Passons aux costumes de cette voiture, d'accord. Ici, nous pouvons à nouveau cliquer sur télécharger. Et cette fois, nous pouvons sélectionner toutes les autres voitures, simplement en appuyant sur cette voiture, simplement en appuyant sur cette voiture, Shift enfoncée et en cliquant sur la dernière voiture Voilà. Toutes nos voitures sont réunies en une seule. J'ai envie de ça. Passons à notre prochain sprite. Encore une fois, cliquez sur Télécharger. Cette fois, nous pouvons sélectionner notre arbre et notre sprite à feuillage. Tout comme avec notre sprite automobile, nous pouvons simplement sélectionner le premier, puis appuyer sur Ouvrir Passons ensuite à l'éditeur de costumes, nous pouvons cliquer sur ce bouton ici. Encore une fois, nous pouvons sélectionner tous ces autres costumes, les télécharger et le tour est joué. Il ne reste plus qu' un seul sprite. En appuyant sur Télécharger, cette fois, nous pouvons sélectionner cette route la sprite ici et cliquer sur Ouvrir C'est tout notre sprite. Nous devons juste télécharger notre toile de fond. Il suffit de cliquer dessus, de cliquer sur arrière-plans, puis de télécharger Ici, nous pouvons choisir cette image de fond ici et cliquer sur Ouvrir. C'est à peu près tout. Nous avons tous nos sprites prêts à être utilisés. Prépare-toi. Mais excellent travail jusqu'à présent. Tous nos sprites ayant été téléchargés, nous avons terminé la première étape du développement du jeu Vous avez également une bonne idée de l'ensemble du jeu et de la raison pour laquelle nous avons tous les sprites que nous avons 25. Poser les bases de la mise en œuvre : organiser vos actifs de jeu: OK. Eh bien, nous avons maintenant tous nos sprites importés, nous avons donc tout ce dont nous avons besoin pour commencer à développer Mais avant de commencer à coder, je pense qu'il vaut mieux l'organiser un peu mieux afin de savoir ce qui se passe. Parce que si vous ne pouviez pas le dire, c'est un peu le bordel. de programmer et, dans la plupart des autres domaines de la vie, Il est essentiel de programmer et, dans la plupart des autres domaines de la vie, de rester organisé. Je ne sais pas si vous avez déjà cuisiné dans une cuisine très désordonnée, mais si c'est le cas, vous connaîtrez les difficultés Mais heureusement pour vous, cela va être rapide car il n'y a que quelques points à régler. OK. Tout d'abord, pour ce qui est de nos sprites arboricoles, comme vous pouvez le constater, c' est tout simplement trop gros. Vous pensez peut-être, eh bien, je peux juste changer la taille ici. Mais pensez-y. Si vous le modifiez à nouveau accidentellement, vous devez essayer de vous rappeler comment vous l'avez fait, il est toujours préférable de le faire dans l'éditeur de code. Nous pouvons simplement faire ressortir ce bloc Go Two , puis ce bloc de taille définie. Réglons la taille sur 30, puis nous pouvons changer la position. Cachons rapidement l'autre sprite pour voir ce qui se passe OK. Eh bien, la taille semble plutôt bonne. Ensuite, pour que le G bloque, nous n'avons même pas besoin de deviner. Je peux simplement le faire glisser là où je le souhaite, juste au coin de la rue, puis copier ces coordonnées x y dans mon bloc Go to. Enfin, nous pouvons simplement mettre un drapeau gagnant en cliquant sur le script Ensuite, je regarde les voies de circulation. Ne vous inquiétez pas trop car nous allons travailler sur ce point dans la prochaine leçon, mais vous pouvez simplement le faire glisser vers le centre pour le moment. Ensuite, notre voiture à obstacles. Nous devons également le réduire et modifier sa position afin de pouvoir simplement faire glisser à nouveau ce code, et pendant que nous sommes ici, nous pouvons également le faire glisser vers la voiture de notre joueur. Pour x, nous pouvons simplement le mettre à zéro, alors y convient. La taille peut être un peu plus grande et cela devrait être une bonne chose pour le moment. Enfin, en regardant notre voiture, déplaçons-la au centre et changeons y pour qu'il soit négatif, car nous voulons que notre voiture se trouve de ce côté de l'écran. C'est un peu trop loin, notre voiture est un peu petite. Encore une fois, nous pouvons augmenter la taille. Alors parlons-en un peu plus sur moi. Comme vous pouvez le constater, c'est un peu un essai et tout le reste, mais ça a l'air correct. Eh bien, nous y voilà. Regarde à quel point c'est plus beau. Nous pouvons réellement voir ce qui se passe. Maintenant que nous sommes bien organisés, nous pouvons commencer à cuisiner. Eh bien, dans notre cas, nous pouvons commencer à programmer. 26. Créer l'illusion du mouvement : la route du réalisme: Maintenant que tout est en ordre, nous pouvons passer à l'étape suivante, qui consiste à renforcer les mécanismes du jeu. Maintenant, normalement, nous commencerions par notre sprite du joueur principal, car après tout, c'est notre joueur principal Cependant, avant cela, il y a quelque chose d' encore plus important , à savoir notre route, car elle donne vraiment l' impression que nous conduisons. Maintenant, vous vous demandez peut-être comment pouvons-nous donner l'impression que notre voiture avance ? Eh bien, c'est là qu'intervient l' art de l'illusion. Vous voyez, dans notre jeu, nous voulons donner au joueur le sentiment d'un mouvement continu, comme s'il conduisait sur une route sans fin. Pour y parvenir, nous devons porter une attention particulière à l'alignement de nos lignes de route ainsi qu'à d'autres éléments visuels. C'est comme un tour de magicien. Si nous le faisons correctement, nous pouvons créer une illusion qui semble réelle et fluide pour le joueur. Maintenant, imaginez que vous êtes en train d'assister à un tour de magie bien exécuté. Vos yeux sont rivés sur les mains des magiciens qui créent sans effort l' illusion de la réalité C'est ce que nous voulons faire avec notre jeu. Nous voulons que nos joueurs soient tellement captivés par cette boucle fluide qu'ils ne remarquent pas l' astuce qui la sous-tend Pour créer cette illusion de mouvement, nous utiliserons des arrière-plans étirés et une manipulation intelligente des positions x et y. L'essentiel ici est de s'assurer que nos lignes de route et les autres éléments sont parfaitement alignés afin que la boucle apparaisse lisse et continue. Mais pourquoi la précision est-elle si importante, me demanderez-vous ? Eh bien, le moindre désalignement peut briser l'illusion, rendant le jeu moins immersif et moins agréable. N'oubliez pas que notre objectif est de captiver le joueur et lui donner l' impression de conduire sur une route sans fin Cette partie peut devenir assez délicate. Si vous trouvez le défi de la deuxième étape, souvenez-vous que vous pouvez toujours télécharger le projet Acid complet avec les sprites terminés Cependant, cette étape augmentera certainement vos compétences en matière de conception de costumes et de développement de jeux. Commençons cette boucle interminable. Si nous passons à notre sprite routier puis à nos costumes, vous pouvez voir que nous avons, eh bien , juste ces lignes. Pour le moment, nos lignes de route ont exactement la taille de notre écran Si elles devaient s' abaisser le moindre petit peu, l'illusion serait brisée Ce que nous voulons, c'est étendre la route au-delà de ces frontières ici. Si vous essayez de le faire maintenant, vous le verrez disparaître dans l'abîme La première chose à faire est convertir en vecteur, ce qui, comme vous pouvez le voir, nous donne beaucoup plus d'options, y compris le fait de sortir l' image de l'écran. Pour étendre cette image, nous pouvons la réduire. N'oubliez pas que nous pouvons utiliser les touches pour avoir plus de contrôle. De plus, si vous déplacez le trou en cliquant, vous pouvez voir qu'il se déplace beaucoup plus loin. Quoi qu'il en soit Ici, ça a l'air plutôt bien. Maintenant, nous pouvons le copier puis le coller avant de le déplacer vers le haut, nous pouvons nous assurer qu'il est exactement aligné horizontalement. Encore une fois, en utilisant les touches fléchées, nous pouvons l'afficher. La dernière étape consiste maintenant à s' assurer que ces écarts sont les mêmes. Ici, il suffit de regarder attentivement la route pendant que vous la déplacez lentement vers le haut pour assurer que ces deux espaces sont identiques. Ça a l'air plutôt bien. Encore une fois, cela peut prendre un peu d'essai et ne jamais être parfait. Mais avec cela, notre client est prêt. Nous pouvons maintenant passer à la partie passionnante, savoir l'animer, ce que nous ferons dans la prochaine leçon 27. Maîtriser la boucle : l'art de transitions transparentes: OK, alors ça y est. Laissons l'illusion commencer. Eh bien, avant de programmer, voyons ce que nous voulons voir se produire. Cela nous aidera à comprendre ce que nous devons coder. En traînant notre sprite, nous voulions redescendre comme ça, donnant l'impression que nous allions de l'avant. Puis, à la fin, nous avons voulu revenir au début, mais le faire parfaitement, qu'il ne se soit rien passé. Eh bien, commençons , prenons un départ gagnant, pour toujours, et un changement d'ici dix. Nous pouvons rapidement appuyer sur Play, ce n'est pas le bon moyen. Faisons en sorte que ce soit un moins dix. Eh bien, c'est à peu près ce que nous voulons. Maintenant, nous devons remettre la route en haut avant qu'elle ne descende trop bas. Pour cela, tout ce que nous devons faire c'est, eh bien, je ne vais pas vous le dire pour l'instant. Que diriez-vous de faire une pause et d'essayer de trouver comment créer vous-même cette boucle parfaite pour que la route reprenne Faites une pause et réfléchissez-y. Eh bien, jetons-y un coup d'œil. Tout d'abord, nous allons avoir besoin d'une condition « if ». Ce que nous voulons vérifier, c'est la position y de notre sprite. Ici, nous devons vérifier si la position y est inférieure à moins un 60, afin que nous puissions utiliser cet opérateur pour voir si y est inférieur à moins un 60. N'oubliez pas de vérifier dans quelle direction pointe la flèche. Ce chemin est inférieur à et ce chemin est plus que. Pour vous aider à vous en souvenir, faites attention à la taille au début. Ici, il part d'une taille inférieure à son point de départ, et ici, il part d'une taille supérieure. Maintenant que vous le savez, nous pouvons déplacer notre bloc dans notre F, puis dans notre boucle éternelle. Il ne nous reste plus qu'à changer de position. Nous utilisons donc simplement un go to block, mettons x à zéro, Handf y, pour commencer, nous pouvons simplement le régler sur un 60 Maintenant, en cliquant sur Play, vous pouvez voir ce genre d'œuvres. Mais comme vous pouvez également le constater, la boucle est très décalée. C'est là que nous avons besoin d'un peu d' essais et d'erreurs pour le rendre parfait. Maintenant, le moyen le plus simple d'y parvenir est de saisir deux blocs Go to Le premier, nous pouvons le régler à moins un 60, c'est ici que nous le rechangeons, et le suivant, nous pouvons le mettre à 60, qui est ce bloc. Maintenant, cliquez d'abord sur le premier, puis sur le suivant. Eh bien, vous pouvez voir que la position est un peu décalée. Ce qui doit se passer, c'est que nous devons diminuer légèrement notre y. C'est mieux, mais c'est quand même un peu bizarre. Encore une fois, un peu plus. Ça a l'air mieux. Comme vous pouvez le constater, il ne s'agit que d' essais et d'erreurs. Maintenant, bien que notre boucle soit bonne, vous pouvez voir que notre coût n'est pas parfaitement aligné Nous pouvons donc retourner dans l'éditeur et essayer de faire quelques micro-ajustements Encore une fois, ici, vous avez juste besoin d'une touche jusqu'à ce que vous obteniez quelque chose qui soit beau D'accord. Eh bien, avec cela, nous pouvons remplacer nos valeurs y par cette nouvelle valeur ici. Et quand on reprendra le jeu. Oui, je pense que les résultats parlent d'eux-mêmes. De plus, même si cela semble bon, si nous passons de moins un 60 à moins un 50 et que nous rejouons la boucle, vous verrez que cela fonctionne un peu mieux. Mes amis, c'est ce que nous appelons une véritable illusion. De toute évidence, vous pouvez jouer à l'infini pour le rendre encore plus fluide Mais pour le moment, ça s'annonce bien. Je sais que ce processus a été un peu fastidieux, mais croyez-moi quand je dis que c' est une très bonne compétence à posséder Nous pouvons maintenant commencer à coder les autres sprites. 28. Piloter le jeu : mettre en œuvre la commande par les joueurs et la dynamique des couches: Maintenant qu'il semble que notre voiture avance, nous pouvons maintenant envisager de créer la mécanique de notre voiture. En gros, ce que nous voulons, c'est pouvoir déplacer notre voiture de l'autre côté de la route avec nos arches. même besoin d'expliquer comment procéder, car je suis sûr que vous savez maintenant comment obtenir le bon code, car nous avons créé les mêmes mécanismes dans nos jeux précédents. Si tu le souhaites, tu peux essayer de le faire toi-même. Sinon, je vais passer en revue cela rapidement. Si vous le souhaitez, mettez la vidéo en pause et voyez si vous pouvez résoudre cette partie par vous-même. Eh bien, tu connais le tirage au sort. Nous avons besoin d'une éternité, de deux puis de blocs. Nous avons besoin de deux de ces blocs de détection de pression clés dans chacune de nos instructions if. Ensuite, nous pouvons modifier la première erreur en erreur de gauche et la seconde en erreur de droite. Nous pouvons ensuite accéder à nos blocs de mouvement, saisir le changement x par et en ajouter un à chacun d'entre eux. Ensuite, pour la droite, nous changerons x d'un dix positif tel qu'il est, pour la gauche, ce sera un dix négatif. Cliquez sur l'avion maintenant. Voilà. Notre voiture est contrôlable et notre jeu commence à prendre forme Une chose cependant, c'est que vous pouvez voir que la route est au-dessus de notre voiture. Je vais juste voir le Road Sprite. Nous pouvons passer à Los et nous pouvons introduire ce bloc ici, qui dit « Go to », et nous pouvons changer la couche arrière. C'est une autre chose importante à savoir. Comme lorsque nous regardons notre écran ici, cela ressemble à une image plate, mais il y a en fait plusieurs couches et chaque sprite peut être une couche différente Vous voyez, les couches nous aident à créer de la profondeur dans nos projets, les rendre plus attrayants visuellement, et nous utiliserons également des couches dans ce projet. Pensez à des couches comme une pile de papiers ou un sandwich. Je gratte, chaque sprite existe sur sa propre couche. Lorsque vous ajoutez de nouveaux sprites, ils sont placés au-dessus des sprites existants, ce qui détermine l'ordre dans lequel ils apparaissent à l'écran Mais vous pouvez modifier l' ordre de ces couches. Cela vous permet de disposer facilement vos sprites manière à ce que certains apparaissent au-dessus des autres, de la profondeur et un aspect plus raffiné à votre projet Vous aurez une meilleure idée au fur et à mesure que nous avancerons, mais pour le moment, remarquez à quel point c'est mieux. 29. Affiner le virage : dynamique directionnelle et flux logique: OK. Nous devons maintenant changer la direction de notre voiture, afin qu'elle ne donne pas simplement l' impression qu'elle glisse sur l'écran, mais qu'elle tourne. Pour y parvenir, comme pour notre autre projet, nous pouvons utiliser ce bloc de direction ponctuelle Mais vous avez peut-être remarqué quelque chose étrange si vous essayez de l'utiliser. d'autres termes, si vous pointez en ligne droite et que vous cliquez dessus, vous verrez notre voiture pointer sur le côté, ce qui semble assez étrange. Mais cela a du sens. Scratch suppose que direction par défaut de votre sprite est orientée vers la droite Prenons l'exemple du chat sprite par défaut. Lorsque vous l' intégrez à votre projet, vous verrez qu'il semble vraiment orienté vers la droite. Lorsque vous utilisez un bloc pour le placer face vers le haut ou à zéro degré, il semble en fait qu'il soit orienté vers haut, car il était initialement orienté vers la droite. Maintenant, je sais que c'est encore un peu confus, mais l'essentiel est de comprendre que Scratch suppose que tous vos sprites sont orientés dans cette direction Lorsque vous créez votre propre sprite ou que vous en utilisez un autre, veillez simplement à ajuster sa direction initiale dans l'éditeur de costumes afin qu'il soit orienté la bonne direction lorsque vous commencez à travailler avec lui Pour en revenir à notre voiture, nous pouvons entrer dans l'éditeur. OK. Et en utilisant cette flèche, nous pouvons faire pivoter notre voiture pour qu'elle soit tournée vers la droite. Et vous l'avez ici. Vous pouvez maintenant voir qu'il pointe exactement dans la direction dans laquelle nous l'avons défini. Génial. Maintenant, implémentons cela dans notre code. Tout simplement, ce à quoi nous voulons ressembler, c'est tourner droite lorsque nous cliquons sur la flèche droite et lorsque nous cliquons sur la flèche gauche. Nous pouvons simplement faire glisser la direction de notre point et en mettre un dans chacune de ces instructions f. Pour le premier, on peut l' avoir à environ 15 degrés. Pour le second, nous pouvons le régler à -50. Maintenant, si nous rejouons, puis que nous tournons, vous verrez que cela fonctionne. Bien qu'il y ait clairement quelques bugs ici. La première est assez facile à habiller, c' est-à-dire que lorsque nous commençons le jeu, notre voiture pointe sur le côté, ce qui ne semble pas tout à fait correct. Nous pouvons simplement ajouter une direction ponctuelle au point de départ et le faire pointer directement au départ. Maintenant, comme vous pouvez le constater, c'est beaucoup mieux. , comme vous pouvez également constater, si nous arrêtons de tourner et que nous allons tout droit, notre voiture pointe toujours dans la direction, elle pointait toujours dans la dernière direction. Maintenant, c'est un peu plus complexe, car nous avons besoin d'un moyen pour une voiture de pointer droit si aucun des boutons n'est cliqué Encore une fois, mettez la vidéo en pause et essayez de voir si vous pouvez la faire fonctionner et faire en sorte que la voiture pointe droit. Tu l'as découvert ? En regardant notre code, vous pouvez voir que nous avons ces deux instructions if qui vérifient si nous cliquons sur une touche ou sur l'autre touche. Mais il existe un autre type de déclaration que nous n'avons pas vraiment utilisé, et il est tellement important. Si nous prenons le contrôle, vous verrez que nous avons ce bloc. Eh bien, nous savons ce que fait le bloc if Si une condition est vraie, il exécutera du code, si vous cliquez sur la flèche droite, il tournera vers la droite et avec ce bloc, il fera de même Mais si la condition n' est pas vraie, tout code de ce bloc sera exécuté. Voyons cela en action. Tout d'abord, en retirant tout ce code, nous pouvons l'échanger contre celui-ci. Ici, nous pouvons faire entrer la flèche droite sur laquelle on clique, puis pointer l'érection et le modifier Alors pour le ls, introduisons simplement cet autre code. Maintenant, si vous appuyez sur Play, vous verrez que si vous cliquez sur la flèche droite, la voiture fait ce qui est attendu. Mais si vous remarquez la flèche droite, la carte glisse vers la gauche Nous comprenons maintenant comment tout cela fonctionne. Revenons à la façon dont c'était un conseil utile. Cliquez simplement sur Commandes ou sur Contrôle, si vous êtes sous Windows, et vous verrez votre code revenir à son état d'origine Faisons-le. Remplaçons cette flèche gauche par ce LS, puis déplaçons le code à l'intérieur. Enfin, dans le LS, nous pouvons introduire une direction ponctuelle et la faire pointer en ligne droite. Eh bien, c'est logique. Si nous cliquons avec le bouton droit, il pointe vers la droite. Si nous cliquons sur la gauche, cela pointe vers la gauche. Dans le cas contraire, il pointe vers le haut. Essayons-le. Eh bien, ce n'est pas vrai, n'est-ce pas ? Essayons de démêler un peu les choses. Nous sommes dans une situation où le clic droit ne semble pas fonctionner comme prévu, alors que cliquer sur la gauche fonctionne. La réponse réside dans l'ordre dans lequel le code est traité. N'oubliez pas qu'en programmation, code est exécuté du haut vers le bas. Il vérifie chaque condition dans l'ordre dans lequel elle apparaît. Lorsque nous cliquons avec le bouton droit, notre sprite est en effet chargé de pointer vers la droite Cependant, il y a plus de code à vérifier dans les styles informatiques, et c'est le suivant . Si nous cliquons sur la gauche, pointons vers la gauche. Mais vous voyez ici, si cette condition n'est pas vraie, tout ce qui se trouve dans ce bloc se produira. Le dernier bloc de code donne une commande pour que le sprite pointe droit Le sprite suivra cette commande si cette condition n' est pas remplie car ce bloc est perdu, c'est finalement ce qui sera exécuté Je sais que la logique de programmation est une bonne chose. Mais plus on essaie vraiment de le comprendre, plus tout devient clair, il s'agit de penser comme un ordinateur. Cela dit, comment résoudre ce problème ? Eh bien, en programmation, vous ne voulez généralement pas avoir une situation où il y ait des blocs if dans un seul script ou une seule boucle. Au lieu de cela, nous voulons utiliser un F L. Au lieu que ce code ressemble à ceci, nous allons prendre un autre FL. Mettez ce code à l'intérieur. Mets-le dans la boucle. Enfin, nous pouvons le mettre dans cette déclaration. Maintenant, si nous regardons le code, si vous cliquez sur la flèche droite, cela s'exécutera Sinon, si vous cliquez sur la flèche gauche, ce code s'exécutera, et ce n'est ce code s'exécutera, et ce que si aucune des conditions ci-dessus n'est vraie, si aucun gauche ou à droite n'est cliqué que notre voiture pointera en ligne droite. rejouant au jeu, voyez maintenant comment il fonctionne parfaitement. L'ajout de ce if else garantit que ce code inférieur ne peut être exécuté que si nous ne cliquons pas sur la bonne erreur, puis si nous ne cliquons pas également sur l'erreur de gauche, alors finalement, cette autre erreur s'exécutera. Tout cela peut sembler un peu confus, mais c'est vraiment l' essence de la programmation, nous comprenons l' ordre des opérations et la façon dont le code est exécuté et organisé de manière logique Croyez-moi, plus vous construisez, plus cela deviendra clair. Jouez avec cela et essayez de le comprendre, car ce sont des choses passionnantes à venir. 30. Créer des obstacles dynamiques : la route prend vie: Eh bien, il est temps de lancer cette émission littéralement. À ce stade, nous avons cette illusion de mouvement, comme la façon dont nos voitures roulent sur une autoroute, et nous avons la capacité de contrôler notre voiture en tournant à gauche ou à droite. Mais maintenant, nous devons nous concentrer sur la mise en circulation de nos voitures à obstacles. Ce sont les voitures que nous allons mêler au fur et à mesure que nous jouons à notre jeu. Comme vous pouvez le constater à ce stade, nous n'avons qu'un seul sprite automobile, mais vous verrez bientôt comment nous pouvons créer une quantité infinie de voitures Encore une fois, avant de commencer à coder, réfléchissons à ce qu'il doit faire. Ensuite, nous pouvons réfléchir à la manière dont nous allons y parvenir avec le code. Donc, pour renforcer l' illusion du mouvement et ajouter un obstacle que nous devons éviter, nous voulons que cette voiture donne l'impression qu'elle roule à une vitesse plus lente que la nôtre. Il emprunterait donc lentement une voie comme celle-ci. Ensuite, il faudrait l'esquiver en tournant à gauche ou à droite. Essayons donc de résoudre le premier problème. Passons à notre voiture Sprite. Nous pouvons d'abord attacher un bloc permanent ce script en cours. Il suffit simplement faire en sorte que la voiture se déplace lentement vers le bas de l'écran en modifiant la valeur y bi négative de cinq, par exemple. Puis appuyer sur Play ? Eh bien, c'est parfait. Parce que ça va arriver. J'ai toujours l'impression qu'il avance parce qu'il recule plus lentement que la route ne recule. Mais maintenant que cette voiture est en mouvement, vous pouvez voir qu'elle s'arrête juste au bout de l'écran. Et cela fonctionne parfaitement. Parfait, si tout ce que nous voulons, c'est un obstacle dans notre jeu, ce qui n'est pas le but ici. Nous avons plutôt besoin que la voiture revienne au début de notre écran lorsqu'elle atteint le bas. Eh bien, pour ce faire, nous devons ajouter une vérification de l'état. Mais si vous passez à notre groupe de mouvements, si vous vous souvenez, nous avions cette position y et nous pouvons l'utiliser pour vérifier la position y de notre sprite, ce la position y de notre sprite, qui signifie que nous pouvons vérifier si notre sprite a atteint la fin de l'écran, et si c'est le cas, nous pouvons le faire revenir Tout d'abord, nous avons besoin d'une instruction if, vous remarquerez ici que vous ne pouvez pas mettre ce bloc de position y dans l'instruction F. Eh bien, pour des raisons évidentes, c'est comme si ma position faisait quelque chose. Eh bien, cela n'a aucun sens. Ce que nous devons faire, c'est vérifier la position y est inférieure à une certaine valeur. Et tout comme pour nos lignes routières, nous pouvons le faire en saisissant ce bloc vert auprès du groupe des opérateurs C'est ce qui permet de vérifier si une valeur est supérieure ou inférieure à une autre. N'oubliez pas de faire attention à la taille au début. Ici, il part d'une taille inférieure à son point de départ, et là, il part d'une taille supérieure. Nous voulons vérifier si y est inférieur à -210, ce qui correspond essentiellement au bas de l'écran Maintenant, si cette condition est vraie, nous voulons que notre voiture revienne en haut de l'écran. Tout ce que nous avons à faire est d'introduire un bloc G deux et de définir la valeur y sur 210, ce qui correspond essentiellement au haut de l'écran. Jouez bien, comme vous pouvez le voir, notre voiture descend et lorsqu'elle atteint le bas, elle remonte vers le haut. C'est sympa. Ça a l' air plutôt bien. Mais il y a encore une chose que nous devons régler. C'est notre voiture. Eh bien, ça continue sur la même voie, ce qui rendrait le jeu assez facile car il vous suffit conduire dans l'une des autres voies et nous gagnerons. Nous ne voulons pas gagner à bas prix ici. Ce dont nous avons besoin, c'est que la voiture passe d' une voie quelconque au hasard à chaque fois qu'elle revient en haut. Maintenant, c'est un peu plus compliqué que vous ne le pensez. Mais commençons par ce que nous savons. Nous savons que cela aura quelque chose à voir avec la valeur x. Comme pour le moment, nous le mettons à zéro à chaque fois qu'il passe en haut. Nous devons changer cela. Nous savons également que cela a quelque chose à voir avec le choix d'un nombre aléatoire. Pour commencer, introduisons simplement le choix au hasard dans le passage à x. Maintenant, nous pouvons voir quelles seront les limites supérieure et inférieure en faisant glisser notre voiture sur la première voie Oui, vous pouvez voir qu'il est à moins 145, et que la dernière voie est bien 1405 Nous pouvons définir x un nombre aléatoire compris entre moins 1405 et 1405 Si nous jouons, vous pouvez voir qu'à chaque fois que notre voiture arrive au bout, elle change de voie, ce qui est une bonne chose. Mais le problème, c'est que parfois cela se trouve entre nos voies, ce qui n'est pas une bonne chose, et est là que cela devient un peu difficile. Nous devons changer la façon dont nous abordons cette question. Au lieu de fixer le nombre entre moins 1405 et 1405, nous devons faire un peu de calcul, Ce dont nous avons besoin, c'est d'un bloc plus et d'un bloc de temps, et vous verrez pourquoi. Notre exposition de notre voiture peut être d'au moins 1405, nous pouvons l'inscrire dans notre première entrée positive Maintenant, il y a cinq voies différentes que notre voiture peut emprunter à tout moment. Ce que nous devons faire, c' est délimiter l'espace entre les voies. Notre première voie est à moins 1405. Si on le déplace sur la deuxième voie, c'est à -70. Maintenant, 14570, cela vous donne 75, mais nous pouvons simplement dire qu'environ 75 75 est la distance entre les voies Si nous déplaçons ce bloc de temps dans le bloc plus, nous pouvons entrer 75, car il y a cinq voies, nous pouvons à nouveau utiliser le choix aléatoire, et ici nous pouvons le régler sur 040, cela semble étrange Pourquoi pas un à cinq. C'est parce que, eh bien, moins 1405 est notre première voie Et tout ce qui est multiplié par zéro. Donc, si le nombre aléatoire est zéro, notre voiture sera sur notre première voie. Je sais que cela peut être un peu confus. Mais au fur et à mesure que vous travaillez avec ces types de blocs, mieux vous les comprenez. Mais voyons cela en action. Eh bien, ça a l'air presque parfait. Nous pouvons l'ajuster légèrement pour l'améliorer encore. Comme vous pouvez le constater, la dernière voie est un peu loin, alors changeons-la en 74, c'est une question d'essais et d'erreurs. Mais oui, ça a l'air vraiment bien. Maintenant, asseyez-vous, détendez-vous et profitez votre création, car elle ne fera que s'améliorer. 31. Des obstacles au traffic jam : maîtriser le clonage pour des obstacles dynamiques: Eh bien, je pense que cela commence vraiment à prendre forme. Nous avons une route qui descend constamment. Nous avons une voiture que nous contrôlons. Il y a des obstacles que nous devons éviter. Transformons maintenant ce o en obstacles en générant plus de trafic en ajoutant plus de voitures. Vous vous dites peut-être que c'est assez facile. Il me suffit de dupliquer cette voiture d'obstacles plusieurs fois et Bob sera ton oncle. Bob, peut-être ton oncle, mais ce n'est pas vraiment la solution. Eh bien, essayons-le. Vous savez, comme je l'ai dit, la solution simple est la meilleure solution et cela semble simple. Cliquez avec le bouton droit sur notre voiture, puis appuyez sur Dupliquer, et faisons-le encore une fois. Nous y voilà. Nous avons maintenant trois voitures prêtes à partir. Mettons-nous à l'épreuve. Eh bien, ça marche un peu. Mais nos voitures apparaissent toutes en même temps et parfois sur la même ligne. Nous pourrions simplement passer à ces voitures dupliquées et attendre une pause sur chacune d'elles en haut du script. Il faudrait 1 seconde et 2 secondes pour qu'elles soient régulièrement espacées et , encore une fois, Eh bien, après avoir attendu que ces voitures commencent à bouger. En fait, vous pouvez voir que cela fonctionne plutôt bien. Maintenant, si tout fonctionne si bien , pourquoi ne pas simplement utiliser la solution. Permettez-moi de vous présenter un petit acronyme, qui s'appelle dry code, D R code. Ce que signifie « sec », c'est de ne pas vous répéter. Permettez-moi de le répéter. Ne vous répétez pas. Euh, hein. C'est très drôle. C'est un dicton très populaire en programmation dupliquer le code peut sembler être la solution la plus simple Cependant, lorsque vous commencez à le faire, les choses peuvent devenir vraiment compliquées. Cela rend également les choses difficiles à entretenir. Par exemple, si je voulais modifier la vitesse de mes voitures, je ne pourrais pas simplement la modifier en un seul endroit. Il faudrait que j'aille dans chaque sprite pour le changer. Cela étant dit, cherchons une solution plus intelligente. Tout d'abord, supprimer tous ces doublons. Ensuite, en passant à notre sprite d'obstacles principal et enfin aux blocs de contrôle, vous verrez que nous avons ces blocs ici Lorsque je commence en tant que clone, créez un clone de et supprimez ce clone. Et ce sont des blocs vraiment importants. Faites-les glisser vers le bas, puis jetons un coup d'œil. Testons cela en insérant ce clone de moi-même dans cette instruction F. Ensuite, en appuyant sur Play, vous verrez qu'à chaque fois que notre voiture arrive au bout, un nouveau clone apparaît en haut. Mais vous voyez aussi que ces voitures ne bougent pas vraiment. Ils y restent, ce qui n'est pas vraiment une idée. Will, mes amis, c'est à ça que sert ce bloc. En gros, notre script est en train de jouer, puis lorsque cette condition est vraie, il crée un clone de lui-même, qui est la voiture à obstacles. C est essentiellement une copie identique d'un sprite, tels que tous les costumes qu'il possède, les effets sonores, etc. Cependant, l'une des principales différences est qu' un clone n'est pas la même chose que duplication d'un sprite car, comme vous l'avez vu, les sprites dupliqués se déplacent comme les sprites normaux, tandis que le clone est simplement tandis que le clone Cela est dû au fait que le clone n'a pas accès au script car celui-ci n'est activé que lorsque l'on clique sur le drapeau, et cela ne se produit qu'une seule fois au début C'est là qu'intervient ce bloc. Cela nous permet d'ajouter du code à nos sprites clonés. Si nous dupliquons simplement ce code et que nous l'ajoutons à When I start as a clone, then play, vous verrez qu'à chaque fois que mon personnage atteint la fin, un clone est ajouté et possède les mêmes fonctionnalités. Mais comme vous pouvez également le constater, cela n'arrête pas vraiment de coner. Mais je pense que tu as compris l'idée. Maintenant que vous avez bien compris concept important du code sec et du coning, ne vous répétez pas. Faisons en sorte que cela fonctionne. Tout d'abord, nous pouvons nous débarrasser du code contenu dans le bloc de code, car nous pouvons également déconnecter ce code du bouton Win Flag. Nous pouvons maintenant ajouter un bloc permanent et un bloc de poids, puis créer un clone de moi-même. En gros, chaque seconde créera un c d'elle-même. maintenant à l'important, mais Passons maintenant à l'important, mais glissons ce code ici lorsque je commencerai en tant que clone. N'oubliez pas que nous ne pouvons pas le garder comme ça parce que cela ne fera que créer de nouveaux cônes. En gros, ce que nous pouvons faire, c'est que lorsque la voiture atteint la fin, nous pouvons supprimer ce c, testons. Encore une fois, ce n'est pas tout à fait exact. La voiture roule juste vivante. C'est logique, évidemment, car si vous regardez le code chaque fois que la voiture démarre sur un clone, il passe à zéro x et à un 90 y. Il suffit de nous en débarrasser et de déplacer ce go dans position aléatoire jusqu'au début du script. Encore une fois, si nous appuyons sur Play. Eh bien, cela fonctionne beaucoup mieux. Il y a deux petits vélos que nous pouvons réparer. Tout d'abord, masquons notre sprite principal pour qu'il ne colle pas à notre écran, pour qu'il ne colle pas à puis affichons notre sprite clone De plus, nous pouvons remplacer ce go par y par un nombre élevé tel que 250, ce qui le rend plus fluide. Voilà. Cela fonctionne correctement maintenant. Si vous suivez, c'est un travail absolument incroyable pour terminer cette leçon. Nous avons vraiment parcouru un certain chemin ici, bravo. Continuons sur cette lancée et commençons à donner vie à ce jeu. 32. Randomiser la route : créer des motifs de trafic réalistes: OK, donc notre trafic semble plutôt bon, et il n'y a pas de design, mais nous avons deux problèmes. Tout d'abord, le trafic est généré à un rythme très constant, comme vous pouvez le constater. Il s'agit d'une seule voiture, de la voiture suivante, de la voiture suivante, etc. Ils devraient vraiment apparaître à des rythmes différents. Deuxièmement, ce sont toutes les mêmes voitures. Si vous regardez les costumes, vous pouvez voir que nous avons plusieurs types de voitures différents. C'est votre mini-défi. Je veux que tu essaies de résoudre ces deux problèmes. Tout d'abord, faire apparaître les voitures à des rythmes différents, puis faire en sorte qu'il s' agisse de voitures différentes Allez. Tu peux le faire. Mettez la vidéo en pause maintenant et essayez ce petit mini-défi . Eh bien, tu as trouvé une solution ? Si vous n'avez pas encore trouvé de solution, tout cela est dû à des nombres aléatoires. Laissez-moi vous montrer ce que je veux dire. Tout d'abord, pour faire varier la vitesse d'apparition des voitures, il suffit de faire glisser un choix aléatoire dans ce bloc de poids, et ici nous pouvons le faire varier de 0,6 seconde à 1,2 seconde. Si nous avions une assiette, vous verrez qu'elle semble beaucoup moins robotique et un peu plus naturelle. Enfin, pour donner l' impression que les voitures sortent d'une usine et qu'elles ressemblent davantage à du trafic normal. Ici, nous pouvons utiliser des costumes. entrant dans les L et en ajoutant ce costume de changement dès le début de notre script, nous pouvons apporter une modification. Vous voyez, si vous cliquez ici, nous avons six costumes de voiture différents. Là encore, nous pouvons également ajouter un choix aléatoire. Comme nous avons six costumes, nous pouvons en choisir un au hasard de 1 à 6 Maintenant, quand on touche à la plaque, eh bien, ça a l'air beaucoup mieux. Cela commence à ressembler à un vrai jeu. Excellent travail jusqu'à présent. 33. Donner vie au monde : animer les paysages: OK, nous en sommes maintenant aux dernières étapes. Avant d' ajouter une détection de crash, essayons de faire bouger le décor pour que notre jeu soit plus immersif. Ce que nous voulons, c'est que ce sprite des arbres descende le bord de la route alors que nous commençons à conduire et qu'il nous donne l' impression de traverser un paysage Ce code sera très similaire à notre code pour notre sprite d' obstacles Copions-le et voyons ce qui se passe. En nous déplaçant, nous pouvons simplement faire glisser ces blocs. Et lorsque vous cliquez sur Play. Eh bien, je pense qu'il fallait s'y attendre. Nos arbres agissent comme des voitures et aussi stupide que cela puisse paraître avec quelques modifications, nous pouvons faire en sorte que cela fonctionne pour nous De toute évidence, nous ne voulons pas que nos arbres trouvent au milieu de la route et nous pouvons y remédier en détruisant ce pâté de maisons à l'intérieur du bloc de destination. Ici, nous pouvons ensuite ajouter un choix aléatoire. Si nous le voulons sur le bord de la route, nous pouvons lui faire choisir un nombre compris entre moins deux 50 et -200 Et je pense que nous pouvons également garder la même taille ici , car elle semble correcte, en appuyant à nouveau sur Play. Regarde à quel point c'est mieux. La seule chose maintenant, c'est que nos arbres se déplacent à une vitesse différente de celle de la route. Si nous retournons sur nos routes claires, vous pouvez voir que nous avons réglé la vitesse à deux moins dix. Faisons de même pour nos arbres. Jouez à nouveau. C'est certainement mieux. Bien qu'un petit problème soit que les arbres s'empilent en bas de l'écran, nous pouvons facilement résoudre ce problème en modifiant cette case F y, changeons-la en -200 Augmentons également un peu la vitesse d'apparition en ajustant ce choix aléatoire de 0,6 à 1,20 0,620 Eh bien, ça règle ça. Les arbres apparaissent plus rapidement. Bon travail, mais il y a toujours un problème, et je suis sûr que vous pouvez le constater, c'est que nous n'avons des arbres que d'un côté de la route. Et nous pourrions simplement dupliquer le sprite, ce qui fonctionnerait. Mais comme vous le savez, il est toujours bon de garder votre code au sec. Comme dans, ne vous répétez pas. Réfléchissons à une solution plus intelligente. heure actuelle, lorsque nos arbres commencent sous forme de clone, ils prennent une position aléatoire comprise entre moins deux 50 et -200 Mais nous voulons également le 202 50 en option car c' est le côté droit de l'écran. Tout d'abord, dupliquons ce choix aléatoire, puis changeons les valeurs en 202 50. OK. Maintenant que nous l'avons fait, comment pouvons-nous faire en sorte que parfois il choisisse ce choix au hasard, alors que d'autres fois il choisisse ce choix au hasard ? Eh bien, mettez la vidéo en pause et essayez de voir si vous pouvez comprendre celle-ci par vous-même. Bien que ce ne soit pas aussi simple que vous le pensez, je parie que vous êtes à la hauteur. Comme toujours, il existe différentes manières de faire en sorte que cela fonctionne. Mais je vais vous montrer comment utiliser des variables pour résoudre ce problème. Ce que nous pouvons faire, c'est créer une variable appelée sides. Ensuite, nous pouvons ajouter ce bloc de code au début de notre script When I start as a cone. Assurez-vous ensuite de le modifier pour définir les côtés de la saisie. Après cela, introduisez un choix aléatoire et nous en mettrons ici un ou deux. Maintenant, nous pouvons saisir, puis conditionnellement, nous pouvons saisir cet opérateur égal à deux, et enfin, la variable sides. Ce que nous voulons faire, c'est que ça se passe comme ça. Si les côtés sont égaux à un, alors faites ce qu'il y a ici, ou si les côtés ne sont pas un, c' est-à-dire deux, faites ce qu'il y a ici. Nous pouvons faire glisser ce go pour bloquer à l'intérieur de cette première condition. Ensuite, nous pouvons le dupliquer et remplacer ce choix aléatoire par celui-ci ici. Ensuite, connectez enfin tous ces blocs ensemble. Passons en revue cela rapidement. Lorsque nous commençons en tant que clone, nous avons un côté variable, défini sur un ou deux, qui indique la gauche ou la droite. Ensuite, si la taille est égale à un, les arbres apparaîtront d'un côté, et si la taille est égale à deux, ils apparaîtront de l'autre côté En appuyant sur Play, vous l'avez. Nous avons des arbres qui fraient des deux côtés et ça a l'air bien. Je pense que nous y sommes presque. Juste un peu de détection de collision et notre jeu sera pratiquement terminé. 34. Touches finales : détection de collisions et animation de spinouts: Eh bien, ça y est. Il est temps de créer ce jeu en ajoutant détection des collisions à détecter. Si nous percutons une voiture, percutez le bord de la route. Nous ajouterons également une animation de spin-out sympa pour lui donner un effet plus dynamique et plus dramatique Mais d'abord, ajoutons une simple détection de crash. Passons à notre sprite de casting principal, nous retrouverons le standard lorsque vous cliquerez sur le drapeau, puis pour toujours Ensuite, nous pourrons ajouter ce bloc tactile et modifier pour détecter les voitures à obstacles Enfin, si c'est le cas, nous ferons en sorte que cela cesse ou. Eh bien, c'est assez simple. Essayons-le et voyons des courses. Monsieur. Se déplacer le long des lignes. A est un dandy Et puis si nous disons percutez cette voiture ici. Eh bien, voilà. Pas mal. Pendant ce temps, nous allons l'ajouter. Voyons également si notre voiture touche le bord de l'une ou l'autre voie. Et nous pouvons simplement le faire en saisissant deux autres contrôles supérieurs opérateur et un contrôle inférieur à un opérateur Ensuite, dans le groupe des mouvements, nous pouvons utiliser ce bloc d' exposition, qui est l' exposition actuelle de notre sprite Donc, en intégrant cela dans les deux, nous pouvons enfin vérifier si l'exposition de nos voitures est supérieure ou inférieure à un niveau négatif de 1805 En ajoutant un arrêt ou dans les deux. Avant de jouer, voyons rapidement ce qui se passe ici. En gros, si notre voiture touche la voiture à obstacles, nous arrêtons tout, et si l'exposition de notre voiture remonte à 1805 ou à moins 1805, c' est-à-dire au-delà du bord, nous arrêtons Faisons en sorte que ça voyage. Comme vous pouvez le constater, si nous essayons de quitter la route, notre partie est terminée, c'est ce que nous aimerions voir. Maintenant, pour la touche finale, ajoutons notre animation de crash de spin-out Donc, ce que nous voulons, c'est que notre voiture ait essentiellement une petite animation dans laquelle si nous touchons un obstacle ou si nous quittons la route, notre voiture devrait tourner. Je pense que le meilleur point de départ est dans le groupe des motions, car nous avons ici ce bloc rotatif, et si nous cliquons dessus, vous pouvez voir notre voiture tourner. C'est à peu près ce que nous voulons. Nous pouvons apporter ce bloc et ensuite, parce que nous voulions le retourner plusieurs fois pour qu'il donne l' impression qu'il tourne, nous pouvons récupérer un bloc répété. Si nous le mettons ici et que vous pouvez voir à quoi ressemble notre voiture, elle tourne. Cool. Il ne nous reste plus qu'à dupliquer ce bloc deux fois. Et ajoutez-le ensuite à chacun de nos contrôles conditionnels. Eh bien, si nous regardons notre script. Si l'une de ces conditions est vraie, si elle touche une voiture à obstacles, elle doit d'abord tourner dix fois puis s'arrêter. Essayons-le. Rouler sur une route, tout va bien. Alors si nous percutons une voiture, eh bien, ce n'est pas ce que nous voulions. Il a juste tourné pendant une fraction de seconde et fait face vers l'avant. Mais si vous regardez attentivement le code, cela a du sens, car en fait, ce code fonctionne bien, mais il interfère avec le code parce que ce bout de script constamment notre voiture à pointer droit si nous ne tournons pas, ce qui gâche notre animation Maintenant, une façon de résoudre ce problème est simplement faire glisser tout ce bloc de code dans cette boucle permanente. De cette façon, ces deux scripts n'entreront pas en conflit si l'une de ces conditions est vraie. Par exemple, si nous percutons une voiture, le code ne passe pas à la partie suivante du script tant qu'il n'est pas terminé, qui signifie qu'il jouera d'abord à la mission puis s'arrêtera. Essayer. Vous pouvez voir que cela fonctionne. Mais ce n'est pas vraiment une solution propre. R Nous avons maintenant deux types de scripts différents fusionnés en un seul, ce qui peut rendre difficile la compréhension et la modification de votre code au fur et à mesure que vous avancez Appuyer sur les commandes ou sur Annuler ou sur les commandes. Ce que nous pouvons faire à la place, c'est récupérer un autre de ces blocs d'arrêt, mais le modifier pour arrêter les autres scripts du sprite Dupliquez-le ensuite deux fois, puis ajoutez-le au début de chacune de ces vérifications conditionnelles. Si vous regardez notre code maintenant, si nous touchons à quelque chose, nous empêcherons tous les autres scripts du sprite de fonctionner comme celui-ci ici Ensuite, nous jouerons l' animation, puis nous arrêterons tout. Avant d' essayer, changeons simplement ce tour par une valeur inférieure à huit. Enfin, essayer, descendre en voiture, tout aussi bien. Ensuite, monter dans une voiture, voilà . Un travail exceptionnel. C'est un jeu très jouable, et vous devriez être fier d' être arrivé aussi loin Asseyez-vous, détendez-vous et profitez vos exploits, car dans la section suivante, nous verrons comment nous pouvons transformer ce jeu avec des niveaux, variables dynamiques, des effets sonores, la musique et bien plus encore 35. Améliorer le niveau : injecter du dynamisme dans le gameplay: Eh bien, vous avez fait un long chemin et vous avez créé un jeu vraiment génial et vous êtes presque prêt à être publié. Cependant, l'un de nos problèmes est le caractère statique de notre jeu. Par exemple, il n'y a pas de niveaux avec une difficulté croissante. Notre voiture se déplace à la même vitesse. Les voitures à obstacles apparaissent également à la même vitesse, et tout cela nous laisse avec un jeu assez fade Alors, comment pouvons-nous résoudre ce problème ? Comment rendre notre jeu plus divertissant en augmentant la difficulté ? Eh bien, nous savons qu' une façon d'augmenter la difficulté serait d'augmenter la vitesse à laquelle les voitures à obstacles apparaissent ou mieux encore, de les faire descendre plus rapidement Passons donc à notre voiture d'obstacles Voyons les deux zones qui contrôlent la vitesse à laquelle notre voiture d'obstacles se déplace et la vitesse à laquelle elle apparaît dans le jeu Tout d'abord, comme vous pouvez le constater, notre voiture à obstacles attend de 0,6 à 1,2 seconde avant de créer un cône et d'apparaître. C'est la seule partie du code que nous devrions ajuster. Ensuite, en regardant ce script, vous pouvez voir que la voiture change constamment de moins cinq. C'est donc sa vitesse de déplacement, et l'autre partie, nous devrions également l'ajuster. Maintenant que nous avons identifié les deux parties du code qui contrôlent la vitesse et le taux d' apparition du sprite, comment pouvons-nous faire en sorte que cela devienne de plus en plus difficile au fur et à mesure que le jeu avance ? Eh bien, nous pourrions simplement continuer à dupliquer ce code, à le dupliquer, à le dupliquer et à le dupliquer Ensuite, par exemple, remplacez ce paramètre par 0.5 et 1.1 et continuez à 1.1 et continuez raccourcir de plus en plus le temps d'apparition Mais je pense que tu sais que ce n'est pas la bonne façon de procéder. Parce que, comme vous vous en souvenez, le code sec est important, ce qui signifie que, ne vous répétez pas, nous sommes certainement en train de nous répéter ici. Au lieu de cela, comme pour l'autre jeu que nous avons créé, nous pouvons utiliser des variables pour contrôler notre vitesse de jeu. Mais avant de procéder au changement, il est important que vous compreniez quel point les variables sont importantes dans la programmation. Maintenant, il est souvent tentant de simplement saisir des valeurs telles que cette modification i par moins cinq La programmation, c'est ce qu' on appelle des valeurs codées en dur. Bien que cela soit acceptable , il existe parfois de nombreux inconvénients, mais prenons un moment pour en examiner certains. Tout d'abord, le manque de flexibilité. Imaginez que vous avez créé un jeu de dix niveaux, tous avec des difficultés codées en dur. Si vous souhaitez modifier le taux de difficulté, exemple la rapidité avec laquelle le jeu devient difficile, vous devez ajuster chaque niveau individuellement. Maintenant, ce n'est pas une méthode très efficace, n'est-ce pas ? Deuxièmement, les mises à jour et les extensions. Supposons que votre jeu devienne populaire et que vous décidiez de publier une version mise à jour ou une extension. Si tout est codé en dur, apporter des modifications cohérentes devient une tâche très fastidieuse Tout comme dans notre jeu, nous devrions modifier la valeur de vitesse accrue pour nos arbres et notre route. Et enfin, les problèmes de cohérence. L'un des principaux problèmes auxquels vous serez confronté est la cohérence, ce qui signifie si nous voulons apporter un petit changement à notre jeu, nous devrons trouver toutes les valeurs affectées par ce changement, et si notre jeu est volumineux, cette tâche devient presque impossible. Cela dit, nous pouvons améliorer considérablement notre code en utilisant variables plutôt que des valeurs codées en dur dans la mesure du possible. Ensuite, nous pouvons avoir un espace où nous ajustons toutes les variables. De cette façon, notre jeu est facile à gérer et à améliorer. Passons à nos variables. Réfléchissez aux variables que nous devons créer pour rendre notre jeu plus adaptable et évolutif. Eh bien, les deux choses que nous voulons contrôler sont notre vitesse d'apparition et notre vitesse de déplacement Créons ceci. Tout d'abord , appuyez sur make variable. Nous pouvons appeler cela la première vitesse d' apparition, appuyez sur Créer. Encore une fois, nous pouvons appeler cela la vitesse de déplacement suivante et nous assurer qu'il s'agit d'une variable globale en assurant que ce bouton est sélectionné. Alors, allons-y. Maintenant, tout d'abord, changeons notre vitesse d'apparition À l'heure actuelle, il s'agit de cette valeur codée en dur de 0,6 et 1,2. Donc, au lieu de 0,6, glissons la variable de vitesse d'apparition Ensuite, comme 0,6 est le double de la taille de 1,2, nous pouvons régler la deuxième entrée pour vitesse d' apparition soit multipliée par deux heure actuelle, nos voitures ne bougeront pas car notre vitesse d'apparition est fixée à zéro Mais pour tester cela, définissons-le rapidement sur 0,6 en le sélectionnant simplement ici, en saisissant 0,6 et en double-cliquant. Comme vous pouvez le constater, cela a changé. Maintenant, en appuyant sur Play, vous l'avez. Je veux dire, rien n'a changé, mais ça va bientôt changer. Alors préparez-vous car dans la prochaine leçon, nous allons totalement améliorer ce jeu et le rendre vraiment adaptable. 36. Évolution de jeux stratégiques : maîtriser les variables pour un gameplay dynamique: C'est vrai. Jusqu'à présent, nous venons de remplacer la vitesse d'apparition par une variable pour notre voiture à obstacles Mais comme vous le savez, nos arbres et feuillage ont également le même effet de frai Faisons de même pour eux. En passant à ce sprite, vous pouvez voir qu'il est réglé sur 0,60 0,3 Notre vitesse d'apparition est actuellement de 0,6, et nous pouvons simplement faire glisser cette variable ici Alors, comme 0,3 est la moitié de 0,6, au lieu de le chronométrer par deux comme avec notre voiture, nous pouvons le diviser par deux Saisissez cette division entre les opérateurs, saisissez notre variable en saisissant deux et appuyez rapidement sur play Encore une fois. Rien de nouveau ne se produit encore. Mais comme vous pouvez le constater, cela fonctionne. Maintenant que notre vitesse d' apparition est passée de valeurs codées en dur à des variables, la prochaine chose que nous devons changer est notre vitesse de déplacement Maintenant, dans notre code, nous avons trois sprites différents qui se déplacent vers le bas. Nous avons notre sprite d'obstacle, notre sprite d'arbre et notre sprite de voie de route Tout d'abord, avec notre road sprite. Comme vous pouvez le constater, notre mouvement est déterminé par ce changement y par une valeur dix négative. Prenons simplement notre variable de vitesse de déplacement et faisons-la glisser ici. Réglons ensuite rapidement notre variable de vitesse de déplacement moins dix et double-cliquons. Ensuite, si nous appuyons sur Play, comme vous pouvez le voir, cela fonctionne parfaitement. Passons ensuite à notre arbre et à notre sprite à feuillage. Ici, vous pouvez voir que le mouvement est également réglé sur une valeur codée en dur de moins dix. Donc, tout simplement, nous pouvons simplement remplacer cette valeur codée en dur par cette variable, et c'est tout. Enfin, nous pouvons passer à notre voiture à obstacles. Ici, comme vous pouvez le constater, nous avons fixé cette valeur à moins cinq au lieu de moins dix. Nous l'avons fait parce que nous voulions notre voiture se déplace un peu plus lentement que notre route, ce qui lui a donné l'illusion qu'elle avançait. Encore une fois, nous pouvons remplacer la valeur statique par notre variable de vitesse de déplacement. Mais pour nous assurer qu'il se déplace à une vitesse inférieure à celle de notre route et de nos arbres, nous pouvons choisir un opérateur Plus. Collez-le ici et entrez cinq, puisque moins dix plus cinq égale moins cinq, nous revenons à la même valeur que nous avions auparavant. Enfin, en cliquant sur Play, nous pouvons vérifier si tout fonctionne. Et oui, notre jeu fonctionne comme avant. Cependant, notre code est désormais très robuste et adaptable. Il est donc temps de passer à la partie amusante. Nous avons beaucoup travaillé pour restructurer notre code, mais notre jeu se joue essentiellement de la même manière que nous l'avions. Voyons comment nous pouvons utiliser ce nouveau code amélioré en ajoutant des niveaux à notre jeu. Mais avant de changer quoi que ce soit, créons d'abord un nouveau sprite Maintenant, peu importe le sprite que vous sélectionnez et vous verrez y dans une seconde Mais une fois que vous avez sélectionné le sprite, nous pouvons également accéder à l'éditeur de costumes, sélectionner l'objet entier et revenir en arrière Tu es probablement vraiment confuse maintenant. Mais en gros, nous allons utiliser le sprite pour définir toutes les variables de notre jeu Maintenant, c'est bien parce que nous avons un seul espace où toutes nos variables sont définies, ce qui permet de modifier facilement les valeurs, de mettre à niveau et d'apporter des modifications à notre jeu. Et aussi, cela nous permet de rester super organisés. De plus, qui n'aime pas être organisé ? Du moins en ce qui concerne la programmation. Donc, tout d'abord, ajoutons notre bloc le plus crucial lorsque vous cliquez sur Démarrer. Passons à nos variables, glissons deux de ces blocs à valeurs variables définies, et nous pouvons définir ici la vitesse d'apparition et la vitesse de déplacement Ce que nous voulons faire, c'est simplement le régler à la valeur actuelle à laquelle nous l'avons actuellement pour assurer que notre jeu démarre toujours à la même vitesse. C'est 0,6 et moins dix. Maintenant, pour augmenter la difficulté, il vous suffit de saisir un bloc de poids en boucle permanente, puis deux d'entre eux changent variable par bloc. Avec cela, nous pouvons régler notre poids à 8 secondes. Ensuite, nous pouvons configurer ce bloc pour modifier la vitesse d' apparition et l'autre pour modifier la vitesse de déplacement Ainsi, pour notre variable de vitesse d'apparition, elle est actuellement définie sur 0,6 Nous ne voulons donc apporter que de petits ajustements ici. Donc, ce que je vais faire, c'est changer la vitesse d'apparition de -0,02. De cette façon, nos voitures commenceront à apparaître lentement et plus rapidement. Ensuite, pour notre vitesse de déplacement, nous pouvons modifier cette valeur de moins un. Maintenant, avant de jouer, voyons rapidement ce qui se passe ici. Tout d'abord, notre jeu est réglé sur sa vitesse initiale de niveau 1. Ensuite, toutes les 8 secondes, nous réduisons lentement le temps qu'il faut à nos voitures pour apparaître, et nous diminuons également notre vitesse de déplacement de moins un, ce qui donne à nos voitures et aux obstacles l' impression qu'ils se déplacent plus vite au fur et à mesure que le jeu avance Maintenant, cette fois, si nous jouons au jeu, vous remarquerez que toutes les 8 secondes, ces valeurs diminuent, et notre jeu commence à devenir de plus en plus rapide. Avant de terminer cette leçon, ajoutons rapidement un élément de score à ce jeu pour nous vanter. Bien entendu, pour ce faire, Bien entendu, pour ce faire, il suffit de créer une nouvelle variable que nous pouvons appeler Ensuite, nous pouvons ajouter un score défini à zéro, comme nous l'avons fait avec ces variables. Enfin, toutes les 8 secondes, nous pouvons changer le score de 43, disons , car qui n' aime pas un score élevé pour le motiver ? Avant de cliquer sur Play, masquons rapidement ces autres variables, puis déplaçons notre variable de score vers le haut. De plus, nous pouvons simplement double-cliquer dessus pour qu'il s'affiche sous la forme d'un grand nombre. Eh bien, avec tout cela, nous avons maintenant une difficulté croissante, un score et, surtout, un code super robuste qui nous permet d'ajuster facilement les valeurs dans tous nos espaces. Maintenant, pour ce qui est le plus important, continuez à jouer jusqu'à ce que vous atteigniez un score suffisamment élevé pour que vous puissiez vous vanter Bravo. Tu te débrouilles vraiment très bien. 37. Mini défi : intégrer des variables pour améliorer les mécaniques de jeu: C'est le moment de mettre à l'épreuve vos incroyables compétences en programmation. C'est votre mini-défi. Si vous vous souvenez de notre première leçon, nous avons discuté d'un processus en trois étapes que nous pourrions utiliser lors du développement de jeux, à savoir tout d'abord, configurer la structure de base, c' est-à-dire importer nos sprites, comprendre ce que les sprites devraient faire et, dans l'ensemble, comment nos jeux fonctionneraient Ensuite, développer les mécanismes de jeu, qui sont essentiellement tout notre code qui donne à nos jeux leurs fonctionnalités, comme les voitures à obstacles se déplaçant sur la route ou notre carte de joueur se déplaçant de gauche à droite. Ensuite, peaufiner le jeu, et c'est une étape dans laquelle nous sommes presque parvenus. Nous en sommes arrivés au point où notre jeu est très beau, mais nous devons simplement lui apporter une touche supplémentaire. Et l'un des moyens d' y parvenir est d'ajouter la musique et des effets sonores. C'est donc votre défi. Je veux que vous trouviez un moyen d'ajouter un son lorsqu' une voiture à obstacles passe à courte distance devant notre voiture de joueur. Donc, tout comme si vous étiez sur une route et que vous entendiez une voiture passer à toute vitesse, elle émettrait ce son lorsqu'elle passe Je veux donc que tu fasses de même pour ce jeu. Je vais vous donner deux conseils : le son que vous devez utiliser s'appelle voiture. Vous devrez utiliser du code au sein du groupe de détection. Ensuite, mettez la vidéo en pause et essayez de voir si vous pouvez ajouter un effet sonore à votre jeu. OK. Eh bien, comment ça s'est passé ? Parce que ce n'est peut-être pas aussi simple que vous le pensiez. Eh bien, allons-y. La première chose que nous allons faire est de sélectionner notre sprite de voiture à obstacles car ce sera le sprite qui produira le Ensuite, nous allons cliquer sur l'onglet son et choisir le son que j'ai mentionné carvem Maintenant, avec cela ajouté à notre sprite, nous pouvons nous mettre au travail. Nous voulons donc que ce clone interagisse avec notre sprite casté et qu'il fasse retentir le son lorsqu'il s'en rapproche Nous pouvons donc l'utiliser pour chaque boucle trouvée lorsque je démarre en tant que script de clonage. Ici, nous devons vérifier si notre sprite clone se trouve à une certaine distance de notre sprite lancé Nous pouvons donc passer à l'onglet de détection et saisir ce bloc appelé distance deux. Ici, nous pouvons modifier l'entrée du pointeur de la souris vers notre voiture de joueur. Ensuite, nous avons besoin de moins d'un opérateur, afin de pouvoir saisir l'un d'entre eux, comme vous voyez le code ici, lorsque notre y est inférieur à moins deux dix, notre cône se supprime de lui-même Au lieu de cela, nous pouvons vérifier si la distance de notre voiture de jeu est inférieure à 90, et si c'est le cas, nous pouvons lui faire jouer le son. Il suffit donc de saisir un if conditionnel, puis ce code son de démarrage. Ensuite, collez le tout ensemble, et faites enfin glisser ce bloc entier dans notre boucle éternelle. Maintenant, en appuyant sur Play, comme vous pouvez le voir, lorsque nous passons devant une voiture de très près, cela émet un son. Oui, vous remarquerez que ça sonne un peu, et c'est essentiellement parce que notre code continue le son en continu jusqu'à ce que notre voiture soit hors de portée Mais ne vous inquiétez pas pour le moment, car lorsque nous ajouterons bientôt notre musique de fond, tout sera réuni. Eh bien, c'est ça. Avec cela, notre voiture à obstacles a un effet sonore sympa, essayez-la. Si vous n'y êtes pas parvenu, car dans la prochaine leçon, nous allons ajouter quelques touches finales qui compléteront notre jeu. 38. La touche finale : enrichir le gameplay avec des effets sonores et de la musique: Eh bien, ça y est. Il est temps d'en finir avec tout ça. Donc, pour terminer ce jeu, nous allons ajouter quelques effets sonores supplémentaires, puis ajouter de la musique de fond. Commençons donc par le plus simple parce que, je veux dire, qui n'aime pas faire les choses les plus faciles en premier Mais nous voulons ajouter un joli fond sonore à notre projet. Donc, en cliquant sur nos arrière-plans, à droite, nous pouvons ajouter un clic sur le drapeau et un pour volute, puis passer à l'onglet des sons et passer le curseur sur ce bouton. Nous pouvons ensuite sélectionner le son de téléchargement. Et ici, nous pouvons sélectionner un son de fond notre dossier de musique et d' effets sonores. Pour ce jeu, nous pouvons utiliser le casino funk. Pour en revenir à notre code, nous pouvons faire glisser le son de jeu jusqu'à ce que blocage soit terminé et sélectionner Funk Casino ou le son que vous téléchargez Et appuyez sur Play. Remarquez à quel point c'est mieux. Et remarquez également à quel point notre effet sonore pour notre voiture fonctionne beaucoup mieux. En fait, ça sonne plutôt bien. Une fois cela fait, passons à notre prochain effet sonore, dérapage de notre voiture Et ici, en gros, ce que nous voulons, c'est que notre voiture fasse un bruit de dérapage lorsque nous heurtons un obstacle Passons donc à notre player car sprite, nous pouvons ajouter ce son En cliquant sur l' onglet sons et en choisissant un son, nous pouvons ensuite rechercher Skid Ce qui est une balançoire ici. Alors sélectionnez-le et revenons à notre code. Maintenant, ce que nous voulons, c'est que notre voiture émette ce bruit de dérapage lorsqu' elle touche un obstacle Donc, si vous regardez le script ici, il s' agit essentiellement du script qui détecte si notre voiture touche un obstacle. Il suffit donc d'ajouter ce son play skid au début de chacune de ces vérifications Donc, ajoutez-en un à chacun. Nous pouvons ensuite appuyer sur Play. Frappez, c'est un obstacle. Ouais. Ce n'est pas tout à fait exact. Mais en gros, ce qui se passe, c'est notre son de dérapage interfère avec notre autre code, car si vous regardez le script, il joue le son de dérapage jusqu'à ce qu'il soit terminé avant de passer aux blocs de code suivants Pour résoudre ce problème, il suffit de supprimer tous ces sons de play skid jusqu'à ce que les blocs soient terminés et de les remplacer par ce skid de démarrage Et avec ça, on peut rejouer. C'est un obstacle. Alors tu l'as. C'est bien mieux. Maintenant, avant de terminer cette leçon, il reste encore une chose à faire, changer le ton de notre voiture à obstacles de telle sorte que lorsque ces voitures passent à une vitesse plus rapide, cela sonne également plus vite. Passons donc à notre sprite de voiture à obstacles, il nous suffit de saisir un drapeau gagnant, de cliquer, puis de définir pitch block et de régler le pitch à zéro, ce qui revient essentiellement à le régler par défaut au début du jeu Ensuite, faites une boucle éternelle. Ensuite, nous pouvons placer cet effet de changement de hauteur par bloc dans notre boucle. Enfin, pour s'assurer que le ton ne monte pas instantanément très haut. Nous pouvons ajouter un bloc de poids et le remplacer par 10 secondes, disons. Je vais vous laisser le tester vous-même car nous sommes arrivés à la fin de notre leçon et à la fin de notre section, et nous avons terminé ce jeu. C'est vraiment un excellent travail pour en arriver là. Vous avez certainement accompli beaucoup de choses. Alors, offrez-vous un bon coussin sur le dos, car vous le méritez vraiment. 39. Se lancer dans l'aventure en ski en arcade : conceptualiser le chef-d'œuvre: Eh bien, c'est un moment passionnant car c'est le début de votre prochain chef-d'œuvre. Comme dans cette leçon, nous allons commencer à développer notre prochain jeu. Je déteste le dire, mais celui-ci va faire honte à tous vos projets passés. Faisons-le. Et je pense que maintenant, tu connais le truc. Tout d'abord. Commençons par créer nos nouveaux projets. Et comme toutes les autres fois, nous pouvons le faire simplement en cliquant sur ce bouton ici. Maintenant, avant de faire quoi que ce soit, si vous regardez en haut, vous pouvez voir que notre projet s' appelle simplement Untitled, ce qui manque un peu d'inspiration La première chose que nous pouvons faire est de le renommer Arcade Ski Adventure, ou ce que vous voulez Encore une chose, vous pouvez supprimer cette valeur par défaut sur Sprite, car nous n'en avons certainement pas besoin dans ce projet, pas de ski pour le chat Maintenant, avec ça de côté. Avant d'importer des sprites ou de faire quoi que ce soit, nous devons avoir une vue d'ensemble de notre jeu pour comprendre ce qu'il est, ce qu'il fait, puis quelles mesures nous pouvons prendre pour y parvenir Parce que n'oubliez pas qu'il est important de décomposer un gros problème en étapes réalisables Nous avons discuté de la manière dont nous pouvons suivre un flux de travail en trois étapes lors de la création de jeux configurer la structure de base du jeu, développer les mécanismes de jeu et enfin peaufiner le jeu. Maintenant, ces trois étapes sont cool. Mais si cette méthode fonctionne parfaitement pour les petits jeux, pour les projets plus ambitieux, nous avons besoin d'un plan d'action plus détaillé. Permettez-moi donc de vous présenter le processus étendu en cinq étapes, conçu sur mesure pour les grands jeux, et suivre ce guide vous aidera beaucoup avec les jeux, applications et animations passionnants que vous produirez à l'avenir. Première étape, idées et design. À ce stade, tout est une question d'idées. Imaginez-le comme si vous esquissiez le plan de notre jeu. Quel est le scénario ? Quel genre de personnages recherchons-nous ? Quel est le thème central ? À la fin de cette phase, nous aurons une idée de conception de jeu complète qui décrit tout ce qui concerne notre jeu. Deuxième étape, mise en place de la fondation. Pensez à cela comme à la pose des briques et du mortier pour notre jeu. Comme avant, nous allons importer ici tous les sprites dont vous avez besoin, puis les disposer afin que vous ayez une meilleure idée de la façon dont tout cela fonctionnera Troisième étape, développement des mécanismes de jeu de base. Ici, notre jeu commence à montrer des signes de vie. C'est là que commence l'action réelle , en codant les mouvements des joueurs, en définissant la logique du jeu, en concevant les niveaux, et tout ce qui fait de notre jeu un bon jeu, un jeu. Quatrième étape, amélioration et expansion. Maintenant que nous avons un jeu jouable, il est temps d'ajouter des couches pour peut-être un nouveau niveau un ennemi redoutable ou même un bonus surprise Cette étape consiste à ajouter fonctionnalités et à améliorer notre jeu. Donc, lorsque vous arrivez à la quatrième étape, vous devez revenir à la première étape. Supposons donc que nous voulions un nouvel ennemi dans notre jeu. Ici, il faudrait revenir à la phase de conception, puis à l'importation, puis au développement en tant que mécanique, si l'idée vous vient à l'esprit. Et enfin, la cinquième étape, le polissage et la finalisation. C'est la touche finale. Nous affinerons les graphismes, introduirons des effets sonores, peaufinerons l'interface utilisateur et testerons rigoureusement notre jeu pour corriger les éventuels bugs et améliorer l'expérience utilisateur globale Ainsi, en suivant le processus structuré en cinq étapes, nous veillerons à ce que notre parcours de développement de jeux soit organisé de manière efficace et, surtout, agréable. Et n'oubliez pas que chaque grand jeu commence par une simple idée. Grâce à une planification minutieuse et à une exécution étape par étape, il n'y a vraiment aucune limite à ce que nous pouvons accomplir. Mais une fois tout cela fait, passons à la première étape. Cela devrait être assez rapide car nous savons déjà ce que nous voulons pour notre jeu. En gros, nous voulons quelque chose qui ne soit pas trop différent de notre dernier match. Ici, nous allons avoir ces obstacles qui se présentent à nous et que nous devons éviter. Encore une fois, nous allons donner au joueur l'illusion d'un mouvement. Mais cette fois, ils auront l' air descendre une montagne à ski à travers une forêt. Ici, nous voulons que les arbres s' estompent et que notre joueur ait un effet de rotation agréable. Nous voulons également que notre joueur ait des pixels de neige qui le suivent, qui devraient ressembler à des marques de ski que vous pourriez voir dans de la neige normale. Et c'est en gros tout pour la première partie de notre jeu. Ensuite, nous ajoutons de nouvelles choses comme un écran de démarrage, un bouton de redémarrage et d'autres éléments intéressants que nous pouvons revoir lors de ces premières étapes Mais préparez-vous car pour la prochaine leçon, nous incorporerons tous nos sprites 40. Structurer la scène : importer l'arsenal: Eh bien, il est temps de passer à la deuxième étape, qui consiste à bien organiser notre projet en important tous nos sprites Maintenant, n'oubliez pas que pour cette étape, nous n'allons pas importer notre green de départ ni nos autres fonctionnalités dans le jeu. N'oubliez pas qu'avec notre flux de travail, dont nous avons déjà parlé, nous le ferons plus tard. Cela rend également les choses un peu moins accablantes. Cela dit, si vous ne souhaitez pas suivre et importer ces éléments manuellement, vous pouvez également télécharger la version de démarrage du projet, et comme avant, en cliquant sur ce bouton, puis en cliquant sur Charger depuis votre ordinateur. Sélectionnez ensuite le projet de départ. Ici, vous verrez que tous nos sprites sont prêts à être utilisés, oui, cela inclut également notre sprite de l'écran de démarrage et nos boutons Cela dit, je veux que vous appreniez le processus de développement d' un jeu correctement afin que vous puissiez le faire vous-même et que vous vous entraîniez pour devenir parfait. Faisons-le de la bonne façon. Maintenant, apportons notre premier sprite. En cliquant sur ce bouton ici, nous pouvons sélectionner notre sprite de joueur, qui se trouve sous ce dossier Comme vous pouvez le constater, vous avez le choix entre trois sprites différents Et c'est parce qu'il existe ces différents costumes. Nous pouvons simplement sélectionner n'importe lequel d'entre eux car nous ajouterons le reste tout à l'heure. En appuyant sur Ouvrir. Ici, vous verrez notre sprite de joueur Maintenant, avant d'ajouter les obstacles, ajoutons rapidement les autres costumes du sprite Passons à l'onglet costumes, et en cliquant ici, nous pouvons ensuite sélectionner les deux autres costumes. Cela fait, nous pouvons désormais importer nos sprites d'arbre, qui sont les obstacles de notre jeu Cliquez sur ce bouton ici, puis passez à notre dossier de sprites arborescents ici Comme avant, nous pouvons sélectionner n'importe lequel de ces sprites d' obstacles Une fois que nous l' avons fait, nous pouvons passer à notre onglet costumes, puis sélectionner les autres. Et voilà. Nous avons tous nos sprites prêts à être utilisés Et avant de passer à notre dernier sprite, il nous reste quelques modifications à apporter est pourquoi ce costume de brousse est bien trop grand Nous pouvons donc simplement le sélectionner et le réduire comme ceci Nous pouvons également faire même pour ces pierres, car elles le sont également, mais elles sont grosses. OK, sympa. Donc, avant d'ajouter notre sprite des neiges, dimensionnons simplement ces arbres qu'ils aient l'air bien, car comme vous pouvez le constater, ils sont certainement encore là pour notre sprite Disons qu'il mesure 50, ce qui semble beaucoup plus petit que celui de notre joueur, ce qui n'a pas vraiment de sens à ce qui n'a pas vraiment de sens moins que notre joueur ne soit une sorte de géant Disons que le sprite de notre joueur beaucoup plus petit, disons 17 Alors maintenant, comme vous pouvez le constater, cela semble beaucoup mieux. La dernière chose, ce sont nos pixels de neige. Et cette fois, nous allons créer les nôtres. Maintenant, pour ce faire, au lieu de sélectionner Choisir un sprite, nous allons cliquer sur ce bouton ici, qui nous permet de créer nos propres sprites Avec cela, nous pouvons sélectionner la forme carrée. Avant de faire quoi que ce soit, nous devons changer la couleur pour qu'elle soit plus grise que la neige. En sélectionnant ce bouton ici, nous pouvons diminuer la saturation et la luminosité. Comme vous pouvez le constater, nous avons une belle couleur grise. Avec cela, nous pouvons dessiner un petit carré en plein milieu de notre écran, essentiellement parce que nous voulons qu'il ressemble à une traînée de neige, nous pouvons en réduire la taille, et ici, jouer avec lui jusqu'à ce que vous trouviez quelque chose qui vous convient. Ça a l'air bien. Il nous faut donc plus de pixels de neige pour l'autre ski. Mais au lieu de tout recommencer, nous pouvons simplement appuyer sur ce double bouton. Et pendant que nous y sommes, donnons à nos sprites un nom comme Snow Pixel 1 et Snow Pixel Two Alors tu l'as. Tous nos sprites sont importés et prêts à prendre vie. Alors préparez-vous car ces prochaines leçons seront très amusantes. 41. Initier le mouvement : créer une dynamique de joueur: C'est vrai. Nous avons donc tous nos sprites en ordre et nous sommes prêts à commencer à travailler sur nos mécanismes de jeu Et pour commencer, faisons fonctionner notre sprite de joueur Maintenant, juste pour que nous puissions nous concentrer sur une chose. Masquons rapidement ces autres sprites en cliquant simplement sur cette icône ici, et nous pouvons faire de même pour cela Et nous y voilà. Maintenant, déplaçons le sprite du joueur principal vers le bas de l'écran entre moins un et cinq. Allons-y. Nous avons donc notre sprite de joueur permet de se déplacer de gauche à droite sur l'écran. Heureusement, nous savons assez bien comment faire grâce à notre dernier projet, vous vous Réintroduisons simplement les blocs de base, le W start forever et le F et aussi le bloc F L. Pour déplacer notre plaque vers la gauche ou vers la droite, nous pouvons saisir deux de ces blocs de code appuyés sur des touches et les changer vers la gauche et l'autre vers la droite. Ensuite, nous pouvons les mettre dans chacune de ces entrées F et les structurer comme nous le faisions auparavant. Maintenant, avant d'ajouter notre modification x par et la direction du point, dupliquons ce script ici. En gros, je fais cela pour que nous puissions avoir deux scripts distincts, l'un qui contrôle notre direction de pointage et l'autre qui contrôle notre mouvement. Cela permet à notre code de rester beaucoup plus organisé en nous assurant que chaque script que nous avons n' essaie pas de faire trop de choses. C'est ce qu'on appelle la composentisation en programmation et c'est un concept très important Cela rend également notre code plus réutilisable, car nous pouvons créer des scripts qui font bien certaines choses, puis nous pouvons utiliser le script dans différents projets. Par rapport à si nous n' avions qu' un long script enchevêtré spécifique à un seul projet Comme si nous pouvions utiliser ce script de mouvement ailleurs. Mais s'il avait intégré la direction des points avec le mouvement, il serait beaucoup plus difficile l' utiliser avec un autre code. Commençons donc par notre script de mouvement. Donc, si j'ai cliqué sur la flèche droite, on peut changer x par dix, si on clique sur la flèche gauche, on peut changer x de moins dix, et en cliquant sur Play Comme vous pouvez le constater, notre mouvement fonctionne, et oui c'est un peu rude. Mais nous allons bientôt l'améliorer pour le rendre plus fluide. Mais pour l'instant, nous allons nous en tenir à cela. Faisons fonctionner notre animation de direction maintenant. En gros, comme nous l'avons fait auparavant, si vous cliquez sur la flèche droite, nous pouvons ajouter dans cette direction et pointer vers la droite et si vous cliquez sur la flèche gauche, nous pouvons pointer vers la gauche comme ça Essayons ça. OK. Ce n'est pas correct. Et si vous vous souvenez tout à l'heure, parce que notre costume de Sprites n' est pas correctement positionné , nous avons ce problème Maintenant, au lieu de changer la direction des costumes et le montage comme nous l'avons fait auparavant, examinons une autre solution. Ici, nous pouvons simplement régler le point droit à un ou cinq, le point gauche à 75 et l'avant à 90 degrés, puis cliquer sur Play. Vous voyez que cela fonctionne. Bien qu'il soit peut-être préférable de le modifier comme nous l'avons fait auparavant. Mais comme je l'ai dit, s'il n'est pas cassé, ne le répare pas. Une fois cela fait, il ne nous reste plus qu' à changer de costume. Et c'est assez simple. Donc, si nous cliquons sur la flèche droite, nous pouvons changer de costume vers la droite, le L pour le costume Ford et le costume de gauche vers la gauche. Juste comme ça. Trop facile. Cliquez sur Play. Comme vous pouvez le constater, cela semble beaucoup mieux, mais je vous encourage à contourner le code, voir si vous pouvez le modifier pour qu'il soit encore meilleur, car nous n'en sommes qu'au début 42. Améliorer le réalisme : maîtriser la dynamique de ski: Il est temps de donner à notre personnage de skieur l'impression qu'il skie réellement et moins comme s'il conduisait. Parce qu'à l'heure actuelle, notre personnage se déplace simplement à gauche et à droite, un peu comme notre voiture. Cependant, ce que nous voulons, c'est être capable de glisser presque comme si vous étiez dans la neige, ce qui signifie que si nous nous déplaçons vers la gauche puis que nous lâchons Akes, il devrait continuer à glisser pendant un moment, alors que pour le moment, notre personnage s'arrête tout simplement Alors, comment pouvons-nous obtenir ce mouvement de rotation plus dynamique et plus fluide ? Et au début, il peut sembler qu'il n'y a pas de réponse évidente ici. Vous pensez peut-être utiliser ce bloc de glissement ici, mais vous ne pouvez glisser que vers une position spécifique et vous ne pouvez pas simplement changer de position par un mouvement de glissement Cependant, la programmation est avant tout une question de résolution de problèmes. En utilisant les outils dont nous disposons, et l'un de ces outils sont des variables. Ici, les variables peuvent faire beaucoup de choses. Voyons comment nous pouvons les utiliser à notre avantage. Créons une variable que nous appellerons direction du mouvement. en revenir à notre script, supprimons cette modification x by dans instructions DF et faisons glisser l'une d'entre elles dans la boucle à quatre. Je sais que cela semble étrange, mais supportez-moi. Faites ensuite glisser cette direction de mouvement vers le changement x par. Enfin, si vous cliquez sur la flèche droite, je veux changer la direction du mouvement d'une unité Si vous cliquez sur la flèche gauche, je souhaite modifier le sens du mouvement de moins un Et j'espère que cela commence à avoir du sens, car en gros, ce qui se passe dans le script, c'est notre personnage se déplace toujours dans le sens de cette variable. Et la valeur de cette variable est déterminée par le fait que nous cliquons sur la flèche gauche ou droite. Faisons donc un test. Ainsi, comme vous pouvez le voir, lorsque nous cliquons sur la gauche ou la droite, notre variable de direction du mouvement monte et descend. De plus, comme vous pouvez le constater, mouvements de nos joueurs sont beaucoup plus fluides et ressemblent beaucoup plus à du ski réel. Cependant, il y a un problème que vous pourriez remarquer. Et si nous lâchons nos touches après avoir tourné, notre jeu continue de dériver dans la direction dans laquelle il se dirigeait, ce qui n'est certainement pas idéal Pour résoudre ce problème, nous avons besoin d'un moyen pour que nos variables reviennent automatiquement à zéro. Et vous vous dites peut-être : Oh, on le met juste dans notre bloc ALS. Eh bien, en testant ça, vous verrez. Si nous skions vers la gauche et partons, eh bien, c'est un peu dur. Ou vous remarquerez que si nous skions vers la droite, cela se passe presque au ralenti. Eh bien, c'est simplement parce que notre script F est mal configuré, car si vous le regardez, nous avons une instruction F L et une instruction if en dessous, ce que vous ne devriez jamais faire, car le L doit toujours être le dernier de la vérification conditionnelle. Corrigons cette erreur maintenant. Pour résoudre ce problème , il suffit d' prendre un autre si L. Ensuite, insérez ce code à l'intérieur, supprimez l'instruction if, puis mettez enfin tout ce code dans notre F L. Maintenant, si vous le regardez, vous pouvez voir que notre LS est la condition finale. Si nous jouons, cela ne se passe pas au ralenti, si nous avons toujours le même problème d'arrêt sévère. Mais avant de le corriger, corrigeons rapidement cet autre script, comme vous pouvez le constater, nous avons commis la même erreur ici, codant de manière bien meilleure et beaucoup plus propre. Maintenant, réglons le dernier problème de notre personnage qui s'arrête lorsque nous lâchons prise. La première chose que nous pouvons faire est de nous débarrasser de cette direction de mouvement définie à zéro, et ici nous avons besoin d'un moyen pour qu'elle ramène lentement notre variable à zéro. La meilleure façon d'y parvenir est d'utiliser les mathématiques de notre vieil ami, mais heureusement, ce n'est pas le type difficile Nous allons donc avoir besoin de quelques chèques supplémentaires. Prenons d'abord un autre de ces blocs, si, et un bloc F. Nous allons mettre le premier ici, et le second dans celui-ci. OK. Pour ce premier bloc F n, nous voulons essentiellement vérifier si sens de notre mouvement est déjà nul. Et si c'est le cas, nous ne voulons rien faire de plus. Pour ce faire, nous allons prendre quelques blocs ici, qui sont les deux variables de direction du mouvement, une valeur supérieure, une valeur inférieure à et un bloc. Nous pouvons donc connecter tout cela comme ça. Et ici, nous voulons vérifier si la direction de notre mouvement est supérieure à 0,1 et inférieure à -0,1 Et cela permet essentiellement de vérifier que direction de notre mouvement n' est pas égale à zéro. Nous pouvons donc le mettre dans notre première condition F. Passons à la suivante, nous pouvons simplement le dupliquer ici, coller dans notre instruction F et le mettre à zéro. En gros, maintenant, si la direction du mouvement est inférieure à zéro, nous voulons changer le mouvement par un nombre positif pour le ramener lentement. Disons 0,2. Enfin, dans cette instruction L, nous pouvons changer la direction du mouvement de -0,2 Tout cela peut sembler un peu confus. Mais si vous le regardez dans son ensemble, ce n'est pas si confus. Parcourez-le par le haut. En gros, nous détectons d'abord si notre sprite est en mouvement Si c'est le cas, nous voulons le ralentir. S'il se déplace vers la gauche, nous le ralentissons en augmentant ce nombre. Sinon, s'il se déplace vers la droite, nous diminuons ce nombre. C'est à peu près ça. Essayons-le. Skier à gauche et à droite fonctionne bien. Puis lâcher nos clés. Comme vous pouvez le constater, notre joueur s'arrête lentement et parfaitement. Nous pouvons maintenant masquer nos variables de direction du mouvement car tout fonctionne. C'est la fin de cette leçon. Je sais que cela a peut-être été source de confusion. Donc, ce que je veux que vous fassiez maintenant, c'est que regardiez rarement attentivement le script pour mieux le comprendre. Jouez également avec. Changez quelques valeurs et voyez ce qui se passe, car c'est le but de l'apprentissage. Vous pouvez toujours appuyer sur le bouton magique, les commandes ou le contrôle pour faire ce que vous avez fait. Annulez jusqu'à ce que vous l'ayez compris. 43. Améliorer les arbres: exploiter les idées du passé: OK, donc notre sprite de joueur est vraiment beau. Je pense qu'il est temps de passer à notre arbre et à notre sprite à feuillage Maintenant, ce processus sera également assez similaire à notre sprite d' obstacles automobiles de notre jeu précédent Nous pouvons donc utiliser ces connaissances et les mettre en œuvre ici C'est l'essence même de la programmation . Utilisez ce que vous avez appris et appliquez-le dans différents scénarios pour résoudre différents problèmes. Tout d'abord, cliquons sur ce bouton ici pour que nous puissions voir à nouveau notre sprite. Maintenant, nous pourrions continuer et créer tout ce code à partir de zéro, mais je voudrais vous montrer quelque chose de cool. Si vous regardez en bas de votre écran, vous verrez qu'il y a ce bouton qui indique sac à dos. Et si vous cliquez dessus, vous verrez cette fenêtre s'ouvrir en bas. Et en gros, il s'agit d'un endroit où vous pouvez stocker des scripts et les réutiliser ailleurs. Parce que vous vous souvenez de ce que j'ai dit plus tôt, quel point la création de code réutilisable est si importante. Eh bien, voilà, tu vas voir. Si nous revenons à notre course à la circulation, puis à notre sprite automobile, nous pouvons ouvrir notre sac à dos et regarder le script qui contrôle les voitures clones, les faisant glisser vers le bas de l'écran Ce que nous pouvons faire, c'est glisser le script ici dans notre sac à dos. Comme nous avons également besoin du script qui crée les clones, nous pouvons également le récupérer Avant cela, supprimez ce bloc de l' énoncé du poids, puis faites-le glisser. Maintenant, nous pouvons remettre ce bloc en place. De cette façon, nous n' avons pas tout ce code dont nous n'avons pas besoin dans notre sac à dos. Pour en revenir à notre jeu de ski, vous suffira peut-être de fermer et rouvrir le sac à dos pour le rafraîchir, et le tour est joué Maintenant, il ne nous reste plus qu'à le faire glisser, et nous pouvons faire de même pour le script. Et voilà. Vous verrez ici que cela apporte ses variables, à savoir le mouvement et la vitesse, et vous pouvez réellement les conserver car nous les utiliserons dans ce jeu. Avant de modifier le script, éclaircissons un autre principe de programmation essentiel, à savoir la compartimentation Oui, je sais que c'est un gros mot, mais il est important. Essayons de comprendre ce que cela signifie avec une visualisation du monde réel. Imaginez votre jeu comme une grande ville animée. Maintenant, dans une ville, vous ne mélangeriez pas les maisons les bureaux, les industries et les parcs dans un seul espace, n'est-ce pas ? Au lieu de cela, vous les zoneriez en districts ou en compartiments, vous auriez des zones résidentielles, des zones industrielles et des zones commerciales, des parcs, etc. C'est l'essence même du codage par compartimentage. En segmentant notre code en sections ou compartiments distincts, chacun étant dédié à une fonction ou à une tâche spécifique, nous avons obtenu deux avantages majeurs Tout d'abord, un code devient beaucoup plus organisé et gérable. Tout comme les autorités municipales n' auraient qu'à examiner et à gérer un district spécifique pour toute modification, les développeurs peuvent se concentrer sur des compartiments de code individuels sans se laisser submerger par l' intégralité du code. Deuxièmement, cette approche aide grandement à créer du code réutilisable. Désormais, lorsque les sections de code sont correctement compartimentées, elles peuvent souvent être récupérées et placées dans un autre projet qui ne nécessite que quelques ajustements minimes, tout comme nous réutilisons le code d'obstacle de notre jeu Traffic Racer Sur ce point, je voudrais vous montrer comment nous pouvons faire même pour notre jeu Traffic Racer afin de le mettre à niveau rapidement Donc, si nous accédons à notre sprite principal, ouvrons notre sac à dos et y glissons le script Nous pouvons ensuite revenir à notre jeu Traffic Racer, rafraîchir le sac à dos, puis faire glisser le script dans le sprite principal de notre voiture Ensuite, nous pouvons supprimer tous ces blocs change x du script comme suit. Maintenant, il changera x en direction de notre mouvement, comme lorsque nous jouons au ski et que nous appuyons sur Play. Eh bien, cela fonctionne un peu. Le seul problème, c'est que la direction de notre voiture semble un peu bizarre. Donc, pour y remédier. Nous pouvons également simplement insérer ces variables de direction du mouvement dans la direction de notre point. Ainsi, notre voiture fait face à la direction dans laquelle elle tourne. Cliquez donc une fois de plus sur Play. Eh bien, c'est beaucoup mieux, et cela ajoute un tout nouvel élément à notre jeu. Et c'était tellement rapide. C'est le pouvoir du code réutilisable dans le compartimentage Cela dit, revenons à notre jeu de ski et à notre sprite arboricole ne nous reste plus qu'à modifier un peu le script pour qu'il fonctionne mieux pour ce jeu, comme nous l'avons fait pour le jeu Traffic. Nous pouvons donc changer les costumes Switch pour en choisir 1 à 11, et c'est le nombre de costumes que nous avons Ensuite, nous pouvons supprimer tout cela, car nous n'avons plus de voies à craindre, mais nous pouvons simplement choisir un choix aléatoire pour notre entrée x et le placer entre moins 22220 Ensuite, nous pouvons supprimer cette variable de vitesse de déplacement du code et simplement la régler sur moins neuf. Ensuite, nous pouvons définir la taille sur 50 car c'est notre taille actuelle. Enfin, nous pouvons supprimer la condition qui fait du bruit dans la salle de sculpture essayant, comme vous pouvez le voir, les arbres tombent joliment et commencent à avoir un peu plus l'impression de skier. Cependant, il y a un problème, que vous avez peut-être remarqué, c'est que le sprite en pierre semble rester coincé en bas de l'écran Eh bien, nous pouvons résoudre ce problème en accédant à l'éditeur de costumes à l'aide de l'outil de sélection, en cliquant sur notre pierre, puis en la faisant glisser plus haut Vous remarquerez maintenant qu'il devrait cesser de se bloquer. Mais si le vôtre est toujours bloqué, déplacez-le un peu plus haut même pour tous les autres sprites qui ont des structures, continuez à les déplacer haut jusqu'à ce qu'ils cessent de se coincer Mais voilà. Nous sommes en train de dévaler de nouvelles pistes. Tu as l'air d'un naturel absolu. 44. Créer des sentiers de neige : simuler des marques de ski: Il est temps de faire ressembler notre jeu de ski à un ski a. La façon la plus simple de le faire est d' ajouter une piste de neige à notre personnage principal. Dans cette leçon, nous allons voir comment convertir ces petits carrés en un effet de traînée dans la neige. Tout d'abord. Passons à l'un de nos sprites Snow Pixel. Maintenant, réfléchissons à ce qui doit se passer. En gros, nous voulons que ce bloc gris aille à notre ski gauche. Ensuite, lorsqu'il est à la base de notre ski, nous voulons qu'il glisse vers le bas. Évidemment, cela ne marcherait pas vraiment si nous n'en avions qu'un, car nous n'aurions pas vraiment de trace Comme avant, nous pouvons profiter du clonage pour créer cet effet Pour gagner du temps, accédons à notre sprite arborescent, puis glisser le script qui crée des clones dans notre sprite à pixels maintenant à la partie suivante, nous pouvons faire glisser le bloc « Quand j'ai lancé un clone ». Maintenant, ce que nous voulons, c'est que ce pixel aille sur notre ski gauche, afin que nous puissions d'abord l'afficher tel qu'il est actuellement masqué. Ensuite, nous pouvons accéder à notre groupe de mouvements et faire glisser ce bloc de mouvement. Ensuite, sélectionnez notre place de joueur. Ensuite, ce que nous voulons, c'est que notre pixel commence à descendre pour donner l' impression que nous avançons. Maintenant, un moyen simple de le faire est de saisir un bloc de répétition , puis d'y coller une modification y par bloc. Ici, nous pouvons modifier y de moins cinq, et enfin, nous pouvons supprimer le clone. C'est un test. Eh bien, comme vous pouvez le constater, cela fonctionne un peu, mais comme nous avons un bloc de poids, il n'apparaît pas assez vite Nous pouvons simplement supprimer ce bloc et recommencer. Eh bien, ça presse bien. Je pense que vous verrez que notre pixel apparaît au centre de notre personnage, et comme vous le savez, nous voulons qu'il suive notre ski C'est l'heure de relever un petit défi rapide. Mettez la vidéo en pause et essayez de voir si vous pouvez faire en sorte que notre pixel de neige suive le ski au lieu de suivre le milieu de notre sprite Viens. Mettez la vidéo en pause et essayez-la. Eh bien, j'espère que vous n'avez pas essayé de trop compliquer ce défi, car la solution est en fait assez simple Ici, tout ce que vous avez à faire est de saisir un changement x en l'ajoutant sous le bloc G deux, et de continuer à jouer avec ce chiffre jusqu'à ce que vous obteniez quelque chose qui correspond parfaitement à notre schéma comme celui-ci Et maintenant, il faut faire fonctionner l' autre ski. Nous pouvons simplement faire glisser ces deux scripts vers notre sprite ici, par exemple, puis simplement ajouter cette modification x par jusqu'à ce qu'elle corresponde à notre autre type de ski L'un des problèmes auxquels vous pouvez également être confronté est apparition de votre pixel de neige devant votre personnage de ski Et là, vous devez accéder à l' onglet Los, configurer ce bloc pour revenir à la couche précédente, cliquer dessus et vous n' avez même pas besoin de l'introduire. Ensuite, vous l'avez avec le sprite le plus basique et un code vraiment simple, regardez à quel point cela améliore le jeu Il semble maintenant que nous sommes en train de skier et nous avons un sentier qui nous suit. Et c'est tout pour cette leçon. Mais avant de partir, je vais vous citer une citation tirée d' une émission célèbre où un idiot admire la complexité, un génie, une admiratrice N'oubliez pas que le code le plus simple est souvent le meilleur. 45. Optimisation de code : améliorer la mécanique de jeu: Un jeu commence vraiment à prendre forme. Mais avant d'aller de l'avant et au fur et à mesure que nous nous développons, nous devons nous assurer que notre code est toujours robuste et qu'il est plus facile de résoudre des problèmes Parfois, vous ne trouverez ces erreurs que lorsqu'elles ont un impact sur votre jeu d'une manière ou d'une autre. Mais plus vous programmez, plus vous comprendrez comment garder votre code propre. Cela dit, examinons notre code et voyons où nous pouvons l'améliorer. Tout d'abord, en regardant notre sprite d'arbre, nous avons ici ce poids codé en dur d'une seconde, qui détermine la vitesse à laquelle nos arbres apparaissent Si vous vous souvenez de tout à l'heure, avoir des valeurs codées en dur n'est pas toujours une bonne idée, surtout si nous voulons modifier et améliorer notre jeu à l'avenir. Au lieu d'avoir cette valeur codée en dur, créons plutôt une variable pour elle. Appelons simplement cette variable un taux d'apparition, et nous pouvons la déplacer dans l'entrée de poids d'une seconde Maintenant que notre taux d'apparition est fixé à zéro, les arbres vont simplement affluer Mais avant de définir une valeur différente pour cette variable , créons un sprite appelé variables que nous pouvons utiliser pour contrôler toutes nos variables globales Je vais juste sélectionner un sprite aléatoire comme cette balle. Renommez-le en deux variables et supprimez simplement tous ses costumes Nous pouvons maintenant activer un clic lorsque vous démarrez, puis nous pouvons définir notre variable de taux d'apparition sur un Comme si nous cliquions sur Play, vous verrez que cela fonctionne. Voyons quels autres points nous pouvons améliorer. En regardant le sprite du joueur principal, vous verrez que nous ne fixons jamais la valeur de notre direction de mouvement au début de la partie En gros, vous verrez que si nous skions vers la gauche, arrêtons le jeu puis que nous le démarrons, skions toujours vers la gauche. Nous pouvons résoudre ce problème rapidement en revenant à notre variable sprite et réglant le sens de notre mouvement à zéro Fixé. Maintenant, la prochaine chose que vous avez peut-être remarquée, c'est que le sprite de notre joueur peut se déplacer à une vitesse incroyable de gauche à droite, si nous maintenons le bouton enfoncé assez longtemps Nous avons besoin d'un moyen de limiter la vitesse de déplacement maximale. Si nous allons sur notre joueur Sprite, vous verrez ce code ici, selon lequel si nous cliquons à gauche ou à droite, nous changeons constamment direction du mouvement d'un ou moins un Nous devons fixer une limite à cela. Voici un mini-défi pour vous. Mettez la vidéo en pause et essayez de voir si vous pouvez empêcher cette direction de mouvement de devenir trop élevée. Mets-le en pause maintenant et vois si tu peux le comprendre. Tu as bien compris ? Eh bien, voyons comment cela pourrait être fait. N'oubliez pas que dans un programme, il y a souvent plusieurs façons de faire quelque chose. Donc, si vous parvenez à résoudre ce problème, mais que votre solution ne ressemble pas à la mienne, ce n'est pas un problème. La clé, cependant, est d'avoir et trouver la solution la plus simple mais la plus robuste aux problèmes. Donc, là où nous disons, si vous cliquez sur la flèche gauche, je vais ajouter une autre condition if qui vérifiera que la valeur n'est pas trop élevée avant de l' augmenter Nous pouvons également ajouter une condition F sur la flèche droite. Maintenant, nous voulons vérifier si le sens du mouvement est supérieur à 18, ce qui sera notre vitesse maximale. Bien entendu, -18 sera notre vitesse maximale dans l'autre sens. Vérifiez si le sens du mouvement est inférieur à -18 comme ça Et si on joue ça. Eh bien, ce n'est pas tout à fait exact, et nous avons ici un problème simple. En gros, nous n' autorisons le joueur à utiliser la direction des flèches que s' se déplace à plus de 18 ou moins de 18, il se déplace à plus de 18 ou moins de 18, nous voulons que ce soit le contraire. Veiller à ce que les joueurs ne puissent pas aller plus vite que 18 ou -18. Tout ce que nous avons à faire est d'aller voir les opérateurs, saisir ce nœud et les coller sur chacune de ces conditions Comme ça. Maintenant, je teste à nouveau le jeu. Cela fonctionne beaucoup mieux. Avant de terminer ce jeu, ajoutons rapidement quelques fonctionnalités pour que nos arbres apparaissent à une vitesse croissante Pour ce faire, nous allons utiliser une solution rapide et sale, qui est tout ce que nous avons essayé de corriger dans cette leçon. Mais cela vous aidera à voir à quoi ressemble un mauvais code. Nous examinerons également solution beaucoup plus intéressante dans une prochaine leçon Passons à notre variable sprite, prenons-en une autre au début Tout ce que nous allons faire est de saisir un poids, puis de saisir une variable définie et de modifier son entrée en taux d' apparition, puis de modifier le poids à 15 secondes. maintenant à la partie sale, saisissez ce bloc, dupliquez-le, reprenez-le depuis le début et dupliquez-le à nouveau. Une fois de plus Nous allons maintenant réduire lentement le taux d'apparition, et nous allons le faire jusqu'à ce que nous arrivions à 0,3, commençant par un, comme ça Vous pouvez donc voir que c' était simple et rapide. Mais comme vous le savez bien, s'agit certainement pas d'un code sec, ne s'agit certainement pas d'un code sec, et nous nous répétons, et ce code est très encombrant et difficile à mettre à jour et à maintenir comme vous le savez Nous étudierons donc bientôt une bien meilleure solution Mais pour l'instant, si nous essayons ce jeu, vous remarquerez que toutes les 15 secondes, notre taux d'apparition diminue lentement et que nos arbres commencent à apparaître plus rapidement Sympa. 46. Touches finales : perfectionner votre premier jeu: C'est vrai. Il est temps de passer aux choses sérieuses. Notre jeu est donc beau, mais il y a une fonctionnalité majeure que nous avons ignorée, à savoir la détection des accidents, car pour le moment, nous pouvons simplement skier à notre guise. J'aime un arbre, eh bien, ça ne va pas nous arrêter, et ce serait amusant à faire dans la vraie vie. Mais cela ne fonctionne pas comme ça dans la vraie vie, donc ça ne devrait pas fonctionner comme ça dans notre jeu. Dans cette leçon, nous allons résoudre ce problème. Créons un nouveau script qui détectera si nous nous sommes écrasés dans un arbre ou non. Donc, sur notre sprite principal, c'est la procédure standard. Nous pouvons nous déplacer dans un drapeau gagnant, cliquer sur une condition permanente et une condition F. Nous pouvons maintenant passer à notre détection, introduire ce bloc de contrôle tactile et le modifier pour détecter notre sprite d'arbre Ensuite, si cette condition est vraie, nous pouvons simplement ajouter un simple stop all. Notre jeu s'arrêtera donc si nous heurtons un arbre. C'est une pièce de théâtre. Comme vous pouvez le constater, nous skions bien. Prochaine chose. Si on heurte un arbre. Eh bien, ils disparaissent tous. C'est quelque chose qui fonctionne, mais comme vous pouvez le voir clairement, il y a certainement quelques problèmes ici. La première étant que les arbres disparaissent et que l' arrêt est si soudain. Le deuxième problème est de savoir à quel point ce code est sensible, comme si nous tapions simplement sur le côté de notre arbre, notre jeu s'arrête. Le premier problème, nous l' ignorerons pour le moment car nous chercherons un excellent moyen de le résoudre dans l'essence suivante. Concentrons-nous sur le deuxième problème , à savoir pourquoi notre code est trop sensible. Voici votre mini-défi. Ici, je veux que vous essayiez de trouver une solution à notre arrêt ou à notre script. Ne se déclenche que si nous touchons l'arbre pendant plus de 0,2 seconde. Mettez cette vidéo en pause maintenant et essayez-la. Comment pouvez-vous l'implémenter ? Cela ne déclenche l' arrêt que si nous avons touché l'arbre pendant plus de 0,2 seconde. Eh bien, voyons comment c'est fait. Heureusement, la solution à ce problème est assez simple et nécessite juste un peu de créativité Ici, il vous suffit de sélectionner si vous cochez, dupliquez, supprimez le stop, puis de le replacer dans le script, puis nous pourrons récupérer un bloc de poids. Ici, nous pouvons le placer entre ces deux contrôles. Enfin, nous pouvons le changer à 0,2 seconde. Maintenant, si vous regardez le script, il vérifie essentiellement si nous touchons un trio rock, et si c'est le cas, il attend 0,2 seconde puis vérifie à nouveau Si nous le touchons encore, nous perdons. C'est donc aussi simple que cela. Cela signifie essentiellement de rendre la détection des accidents moins sensible. 47. Les bases de la détection des accidents : mettre en œuvre la logique de collision initiale: Donc, comme vous le savez, lorsque nous heurtons un arbre, ne peut tout simplement pas disparaître, qui n'est vraiment pas ce que nous voulons. Au lieu de cela, nous voulons que les arbres deviennent chauds lentement. Maintenant, si vous regardez le script que nous avons ici, en gros, lorsque nous touchons le sprite de l'arbre, nous arrêtons tout, ce qui arrête tout le code et cause beaucoup de problèmes Et il ne s'agit pas simplement de la disparition de nos arbres, lorsque nous arrêtons tous nos arrêts de jeu Cela signifie que nous ne pouvons ajouter aucun bouton de redémarrage car ce bouton ne fonctionnerait pas si tout le code était arrêté. Alors, comment résoudre ce problème ? C'est pourquoi je vais vous présenter un nouveau bloc que nous n'avons pas encore utilisé, le code du message diffusé ici. Comme vous pouvez le constater, c'est très similaire au fait de cliquer sur le drapeau, mais la principale différence est que le script n' attend pas qu' le drapeau, mais la principale différence est que un drapeau Wen soit cliqué, mais qu'un message spécifique soit diffusé Par exemple, imaginez un jeu où le sprite d'un joueur rencontre un coffre au trésor Cet événement peut diffuser un message, Found Treasure, qui déclenche à son tour un script qui écoute trésor trouvé et diffuse une animation montrant l'ouverture du coffre, effet sonore, un écho et le ruisseau du couvercle, ainsi que la mise à jour de la partition pour inclure les nouveaux trésors trouvés, tout se Mais ce n'est pas tout. La fonction de diffusion ne consiste pas simplement à déclencher plusieurs actions à la fois. Il s'agit d'améliorer le contrôle et la coordination de votre projet. Il vous permet de créer des projets interactifs et réactifs complexes sans l'encombrement d'un code trop compliqué et en utilisant des tonnes de variables qui vérifient en permanence si une condition est vraie ou non C'est comme si un chef d'orchestre dirigeait un orchestre et veillait à ce que chaque instrument ou, dans notre cas, chaque sprite joue au bon moment pour créer une expérience magnifique et harmonieuse C'est vrai. Cela dit, voyons comment nous pouvons améliorer notre code grâce cette fonctionnalité de diffusion. Regardez notre code ici. Au lieu de tout arrêter, je vais le remplacer ce message diffusé, puis cliquer sur Nouveau message et appeler cela un crash du joueur. Maintenant, le simple fait de diffuser le message, le lecteur s'est écrasé, cela ne fera rien. Nous devons maintenant créer un code qui écoute cette diffusion Pour ce faire, nous pouvons accéder à notre sprite arborescent et le récupérer lorsque je reçois un message, et le message que nous recherchons est que le joueur s'est écrasé Lorsque nous recevons ce message, nous voulons que nos arbres s'arrêtent. Maintenant, le premier problème que nous avons, c'est que nos arbres ont une vitesse de déplacement fixe de moins neuf au moment, ce qui ne nous donne pas beaucoup de contrôle. Réglons ça. Nous pouvons tout simplement remplacer ce moins neuf par cette de vitesse de déplacement variable de vitesse de déplacement que nous avons déjà dans notre projet. Passons ensuite à notre variable sprite. Nous pouvons faire glisser ce bloc et régler notre variable de vitesse de déplacement sur moins neuf au début de la partie. Maintenant que c'est fait, nous pouvons revenir à notre sprite arborescent Maintenant, lorsque nous recevons le message que le joueur s'est écrasé, nous pouvons modifier notre vitesse de déplacement de 0,5 Nous pouvons utiliser cette répétition jusqu'au blocage pour nous assurer que nos arbres sont complètement arrêtés. Nous pouvons dire répéter, saisir ce bloc égal à zéro et dire que la vitesse de déplacement est égale à zéro. Juste comme ça. Maintenant, si nous le testons et que nous heurtons un arbre, vous verrez que nos arbres s'arrêtent maintenant, même si c'est encore un peu trop rapide. Nous pouvons simplement ajouter du poids, le changer à 0,1 et réessayer. Et voilà. Maintenant, il n'y a qu'un seul problème. C'est ainsi que nos arbres continuent de frayer. Pour résoudre ce problème, il suffit de saisir le stop ou le bloc et de le modifier pour arrêter les autres scripts du sprite Ensuite, nous pouvons simplement le placer juste à la fin de notre script et l' essayer une fois de plus, en nous dirigeant vers un arbre. Eh bien, comme vous pouvez le voir, nos arbres s'arrêtent lentement, ce qui donne l'impression que notre joueur ralentit. Perfetto. 48. Mécanique de crash affinée : intégrer des messages de diffusion: Il est maintenant temps de passer à la partie importante, à savoir l'animation du crash. Parce que si notre crash n'a pas l' air vraiment épique, nos joueurs ne comprendront pas pourquoi il faut éviter les arbres. Voyons donc comment nous pouvons améliorer ce jeu avec une belle animation. Allons-y. Pour en venir à notre sprite de joueur, nous pouvons l'ajouter lorsque je recevrai une diffusion sur le crash d'un joueur En gros, ce que nous voulons, c'est sprite de notre joueur ait un effet de spin-out lorsqu'il touche un arbre Tout simplement, il suffit d'accéder au groupe des motions et d' introduire cet effet de tour de rôle. Ensuite, nous pouvons simplement répéter cela cinq fois. Essayer, sauter jusqu'à ce que nous heurtions un arbre. Eh bien, cela n'a pas vraiment fonctionné. Comme vous pouvez le constater, il essaie de tourner, mais il fait demi-tour et, même après un accident, nous pouvons toujours skier à gauche et à droite Voyons voir si nous pouvons résoudre ce problème. Eh bien, si vous regardez attentivement, vous verrez que le problème est causé par le script ici. Et résoudre ce problème est assez simple. En gros, comme nous l'avons fait avec le sprite de l'arbre. Ce que nous devons faire, c'est arrêter les autres scripts. Donc, en saisissant un stop all, nous pouvons le modifier pour arrêter les autres scripts du sprite Et cette fois, au lieu de mettre la fin du script, nous pouvons l'ajouter au début du script. Encore une fois, il s'agit d'une pièce de théâtre. Vous verrez à quel point cela fonctionne mieux. Nous avons maintenant une jolie animation qui fonctionne lorsque nous plantons. Mais je pense toujours que nous pouvons faire mieux. Si vous regardez notre script, vous pouvez voir que nous tournons de 15 degrés, ce qui est bien, mais cela n'a pas l'air vraiment fluide. Je vais faire quelque chose d'un peu sournois ici. Au lieu de 15, je vais tourner en fonction de la vitesse de déplacement. Oui, je sais que cela semble étrange, mais comme vous le verrez, cela fonctionne lorsque nous jouons. Remarquez à quel point cette animation est meilleure. Maintenant, la dernière chose à faire pour améliorer encore cela est remplacer cette répétition cinq fois par une répétition jusqu'au blocage. Maintenant, comme nous l'avons fait avec notre autre script, nous pouvons répéter jusqu'à ce que la vitesse de déplacement soit égale à zéro. Il suffit de saisir ce bloc égal et cette variable et de le mettre à zéro comme ça. J'essaie à nouveau, je percute un autre arbre. Eh bien, je pense que les résultats parlent d'eux-mêmes. Cela ressemble à un accident remarquable. 49. Maîtrise de l'animation en cas de collision : améliorer les retours des joueurs: Algorithme. Je suis sûr que vous avez déjà entendu ce mot. Il est utilisé partout et joue un rôle très important dans la programmation, mais qu'est-ce qu'un algorithme exactement et à quoi sert-il ? Dans cette leçon, nous allons découvrir certains de ces mystères et nous allons également implémenter un algorithme simple dans notre jeu. Tout d'abord, qu'est-ce qu'un algorithme ? Eh bien, imaginez que vous suivez une recette spécifique pour préparer un gâteau ou que vous jouez à un nouveau jeu comportant un ensemble de règles à suivre. C'est ce qu'est un algorithme. C'est comme une recette ou un ensemble de règles que les ordinateurs suivent pour faire quelque chose de cool. Cela dit, comment les ordinateurs utilisent-ils les algorithmes ? Eh bien, vous savez, lorsque vous tapez quelque chose dans Goole et que vous obtenez une liste de pages Web, c'est un algorithme qui vous aide à trouver ces pages pour vous Ou avez-vous déjà remarqué comment un site Web peut vous montrer les articles par ordre de prix, du plus bas au plus élevé ? C'est un outil d'algorithme. Ou dans les jeux vidéo, algorithmes peuvent aider à contrôler ce que font les autres personnages et décider du résultat de certaines actions. Ils sont utilisés presque partout, de YouTube à Netflix en passant par TikTok et Amazon Maintenant que vous avez une idée de ce que sont les algorithmes, discutons de l' algorithme que nous allons créer dans notre jeu. Nous allons avoir un algorithme dans notre jeu appelé algorithme Safe Path, joue un rôle crucial pour rendre le jeu à la fois stimulant et jouable. Alors, comment ça marche ? Nous commençons par un sprite rectangulaire positionné en haut de l'écran Ensuite, le rectangle se déplace lentement vers la gauche ou la droite sur l'écran. Lorsque le rectangle se déplace, il empêche les arbres d'apparaître dans leur position actuelle. Cette action crée un chemin sûr pour le joueur. Cela dit, pourquoi est-ce considéré comme un algorithme ? Eh bien, il y a trois raisons, des étapes séquentielles. L'algorithme implique des étapes spécifiques exécutées dans l'ordre, le positionnement du rectangle, son mouvement et l'arbre de blocage. Deuxièmement, la prise de décision. Le mouvement aléatoire du rectangle nécessite processus de prise de décision et la détermination la direction à déplacer à un moment donné. Troisièmement, la résolution de problèmes. Le principal problème ici est d'éviter le joueur ne soit piégé par les arbres, et l'algorithme Safe Path résout ce problème en dégageant toujours un chemin. En gros, l' algorithme Safe Path garantit que le joueur dispose toujours d'une voie libre pour se déplacer, évitant ainsi une situation injouable qui ne serait pas vraiment juste dans notre Le joueur peut continuer à avancer à travers les obstacles, ce qui rend l' expérience de jeu à la fois équitable et engageante Maintenant, j'ai l'impression que l'algorithme équilibre le jeu. Cela garantit que c'est difficile d'un côté, il est également évidemment possible de naviguer. Cela enrichit et améliore l'ensemble de l'expérience de jeu. Maintenant, pendant que je vais le construire, je vais y aller très vite car nous ne l'utiliserons pas dans notre jeu au fur et à mesure que nous continuerons. Cette leçon a pour but de vous aider à comprendre un concept de programmation important. Cependant, vous pouvez toujours l'utiliser. Si vous souhaitez modifier un peu la dynamique de votre jeu, vous pouvez toujours l'appliquer. Tout d'abord, nous avons besoin notre sprite rectangulaire et ce sprite est assez simple Nous pouvons simplement appuyer sur le bouton de peinture. Ensuite, dans l'éditeur, nous pouvons simplement sélectionner cet outil puis dessiner un simple rectangle. Nous pouvons ajuster la taille du bit pour qu'il ressemble à ceci. Passons ensuite au code, il ne nous reste plus qu'à prendre un départ gagnant, un forever, un glide et un pick random, que nous mettrons sous l'entrée x. Ensuite, nous allons changer le choix aléatoire à moins 22220, et nous pouvons définir y à un 80 Maintenant, si nous jouons, vous verrez que nous avons cette boîte qui va d' un côté à l'autre de l' écran. Maintenant que nous avons le mouvement, nous avons encore besoin d'une chose, qui est de signaler la position et nous le faisons pour nous assurer que les autres sprites peuvent savoir à tout moment dans quelle position se trouve notre sprite rectangulaire Il suffit de dupliquer le script, supprimer le glide, de passer à d'autres variables et d'en créer une nouvelle, que nous appellerons safe path Nous pouvons maintenant saisir cet ensemble dans notre boucle permanente, le changer en chemin sûr, et nous allons définir notre chemin sûr jusqu'à notre position x. Maintenant que Sprite se déplace, il met constamment cette variable à sa position actuelle Maintenant, souvenez-vous que j'ai dit qu'un algorithme, c'est comme préparer un gâteau ou jouer à un jeu où vous devez suivre des instructions ou des règles. Voici donc nos instructions ou règles. Nos arbres ne sont donc pas autorisés à apparaître à l'emplacement du sprite de notre algorithme Il ne nous reste plus qu'à nous assurer que les sprites des arbres respectent ces règles Passons au sprite. Si vous regardez le script ici, comme vous pouvez le voir, nos arbres sont simplement exposés de manière aléatoire. Donc, pour résoudre ce problème, nous allons récupérer une répétition, la bloquer et l' insérer juste ici. Ensuite, nous pouvons dupliquer ce bit ici et mettre ce go to block dans notre repeat until. Enfin, ce que nous voulons, c'est continuer à modifier notre exposition jusqu'à ce que nous ne soyons plus sur la trajectoire de notre rectangle. Pour ce faire, nous allons avoir besoin de quelques blocs, supérieurs à un inférieur et à un plus moins deux de nos variables de chemin sécurisé, et enfin, de deux de nos expositions. La façon dont nous voulons nous connecter est la suivante. Oui, je sais que cela a peut-être été un peu confus. Passons en revue le manteau. Nos arbres apparaissent dans une exposition aléatoire. Ensuite, nous avons cette partie. Si l'exposition actuelle de nos arbres se situe à moins de 100 pixels à gauche de notre trajectoire sécurisée, il doit réessayer. Ou si nos arbres sont à 100 pixels vers la droite, il doit également réessayer. S'ils ne se trouvent pas sur la trajectoire du sprite, celui-ci continuera Si vous le voyez en action, nous pouvons rapidement accéder à notre sprite variable, déconnecter ici et ramener notre taux d' apparition à zéro Ensuite, sous notre sprite Safe Path, nous pouvons le cacher. Maintenant, en cliquant sur Play, ils peuvent voir un tas d' arbres apparaître. Pourtant, nous avons encore une voie sûre à suivre. Donc oui, ce sont des algorithmes en un mot. Je sais que cette leçon a été assez rapide, alors ne vous inquiétez pas si vous n'avez pas pu suivre , car comme je l'ai dit, cette leçon vise plutôt à vous donner une compréhension simple d'un concept important Mais pour un jeu, nous n' utiliserons pas cet algorithme au fur et à mesure, mais si vous souhaitez l'utiliser, vous êtes le bienvenu. 50. Dévoiler des algorithmes : élaborer un chemin sûr: Donc, à cette étape, nous avons discuté presque tous les blocs de code à notre disposition. Cependant, il y a encore une chose, un bloc de code et un concept de codage si importants pour la programmation que j'ai dû attendre que vous soyez un programmeur assez compétent avant de vous les présenter. Et ce sont les fonctions. Alors, qu'est-ce qu'une fonction ? Et pourquoi devrions-nous nous en préoccuper ? Vous avez une machine à fabriquer des jouets, ce qui serait plutôt cool. Vous mettez du matériel, appuyez sur un bouton, et vous obtenez une petite voiture. Chaque fois que vous voulez une nouvelle voiture, il vous suffit d'appuyer à nouveau sur le bouton et une voiture en sort. Mais le seul problème avec cette machine est qu'il s'agit à chaque fois de la même voiture. Maintenant, j'imagine que vous avez une autre machine encore meilleure parce que si vous voulez une voiture rouge, vous mettez de la peinture rouge et sort une voiture rouge ou si vous voulez une voiture bleue, vous mettez de la peinture bleue et vous obtenez une voiture bleue, vous voyez l'idée. Eh bien, ces deux machines sont des exemples de fonctions, sauf que l'une des fonctions autorise des entrées qui peuvent modifier la sortie. Maintenant, dans le monde du codage, les fonctions sont comme ce bouton magique. Vous écrivez un morceau de code une fois, puis vous pouvez l' utiliser encore et encore en appelant simplement le nom de la fonction. Maintenant, certaines fonctions peuvent accepter des entrées telles qu' un nombre ou une chaîne, et en fonction de l'entrée détermine la sortie que la fonction vous donnera , tout comme notre machine de construction automobile qui produit des voitures de différentes couleurs. De plus, certaines fonctions renverront toujours le même résultat. Comment fonctionnent les fonctions ? Eh bien, d'abord, nous écrivons une fonction. C'est comme construire notre machine à fabriquer des jouets, configurer pour fabriquer un jouet en particulier. Ensuite, chaque fois que nous avons besoin d'effectuer cette tâche spécifique, nous appelons la fonction, comme si nous appuyions sur le bouton de la machine. La fonction exécute ensuite la tâche et nous donne le résultat, tout comme la machine qui sort d'une petite voiture. Pourquoi les fonctions sont-elles importantes dans la programmation ? Je suis sûr que vous pouvez déjà deviner pourquoi. Tout d'abord, gagner du temps. Sans fonctions, nous devrions écrire le même code encore et encore, pour les mêmes tâches similaires. Les fonctions nous font gagner du temps. Nous écrivons une fois et nous utilisons de très nombreuses fois. Ensuite, organisez le code. Les fonctions nous aident à garder notre code propre et organisé. Chaque fonction a une fonction, et elle facilite le repérage et la résolution des problèmes. Troisièmement, moins d'erreurs. d'avoir un seul code signifie qu'il n'y a qu'un seul endroit pour vérifier et corriger en cas de problème. Plus besoin de chercher dans des blocs et des blocs de code. Enfin, le partage de code. Les fonctions peuvent également être partagées entre différentes parties de notre programme même entre différents programmes. Comme vous le savez, le code réutilisable est très important. Imagine ça. Vous créez un jeu passionnant dans lequel un brave chevalier part en quête. Au cours de cette quête, la nuit rencontre un coffre au trésor. Maintenant, chaque fois que la nuit touche un coffre, celui-ci s'ouvre et toutes les pièces qu'il contient sautent. Maintenant, voici un hic. Notre jeu ne comporte pas un, ni deux, mais de nombreux coffres au trésor disséminés dans différents niveaux Nous voulons que chaque coffre fasse la même première partie magique. Alors, comment pouvons-nous y parvenir sans écrire le même code pour chaque coffre ? Voici la fonction. Nous pouvons écrire une fonction nommée open chest qui contient le code permettant d'ouvrir le coffre et de faire sortir les pièces. Désormais, chaque fois que la nuit touche une poitrine, nous appelons simplement la fonction poitrine ouverte. C'est comme raconter le jeu. Hé, ouvre le coffre maintenant, et le tour est joué, le coffre s'ouvre, les pièces sortent et peu importe où se trouve le coffre dans le jeu, ça marche Et pour vous donner un exemple concret des fonctions et de l'utilisation de Scratch , il existe un projet populaire dans Scratch appelé Smooth Movement Engine. Je vous encourage à le vérifier par vous-même. Mais en cliquant sur Play sur ce projet, remarquez comment tous ces sprites se déplacent d'une manière très fluide. Et si nous cliquons sur Suivant, encore une fois sur Suivant, vous pouvez voir tous les projets qui utilisent des mouvements fluides. Quoi qu'il en soit, si nous cliquons sur ce bouton intérieur C, vous verrez qu'il existe ce bloc de code appelé bloc personnalisé, et si nous zoomons en arrière, vous verrez toutes les différentes fonctions. Oui, ils sont assez complexes. Ne vous inquiétez pas si vous essayez de comprendre comment cela fonctionne. L'important ici est de savoir ce que font les fonctions. Si nous passons à l'onglet M blocks, vous verrez tous ces différents blocs. Mais en gros, ces blocs sont tous utilisés pour appeler les fonctions. Disons que nous avions un sprite et que nous voulions le faire monter en puissance. Supprimons d'abord tous ces sprites afin que vous puissiez voir cette action et également afficher le sprite Nous voulons maintenant que notre sprite carré avance de 100 pas. Maintenant, au lieu d'utiliser le bloc de code de mouvement, nous pouvons appeler cette fonction ici. Comme vous pouvez le constater, ce bloc offre de nombreuses options. Supposons que nous voulions faire 100 pas en 2 secondes avec un mouvement d' assouplissement. En cliquant sur Play, comme vous pouvez le voir, notre sprite se déplace doucement vers le bas de l'écran Maintenant, disons que nous voulions faire demi-tour et avancer à nouveau. Nous pourrions nous emparer de ce virage en douceur. Supposons que nous voulions effectuer un virage en douceur 45 degrés en 1 seconde avec un type d'assouplissement de trois. Ensuite, nous pouvons simplement dupliquer cet autre mouvement fluide et le coller à la fin. Maintenant, si nous appuyons sur Play, remarquez comment notre sprite avance lentement et en douceur Puis prend un virage en douceur et avance enfin à nouveau. Et je n'ai pris que trois blocs de code. Mais si nous essayions de créer manuellement un mouvement fluide pour chaque mouvement, il faudrait du temps et notre code serait tellement confus pour comprendre ce qui se passe réellement. En résumé, les fonctions sont l'un des meilleurs outils des programmeurs pour écrire du code efficace, organisé et propre La fonction est comme une aide pratique qui fait un travail spécifique chaque fois que nous le demandons. Elle est tellement fiable nous savons qu'elle a fonctionné parce qu'elle a été testée et réutilisée en maîtrisant des fonctions Vous êtes sur la bonne voie pour devenir un codeur expérimenté capable de créer complexes et interactifs 51. Maîtriser les fonctions : le noyau du code réutilisable: Nous avons donc beaucoup parlé de fonctions et avons vu quelques exemples. Mais comme vous le savez, le véritable apprentissage se fait sur le tas. Dans cette leçon, nous allons créer nos propres fonctions . Pour cela, nous allons simplement revenir à l'essentiel en créant un nouveau projet. Je ne pense pas avoir besoin de vous expliquer comment procéder. Avec notre nouveau projet créé, comme vous pouvez le voir, nous avons notre félin classique prêt à l'action Maintenant, pour ce projet, nous allons faire quelque chose d'un peu différent et pas seulement avec les fonctions. Nous allons faire dessiner notre chat avec des stylos, et c'est un truc assez révolutionnaire. Donc, avant de passer aux fonctions, vous vous demandez peut-être comment utiliser ce stylo que vous dites. Eh bien, si vous regardez juste en bas, vous verrez ce petit bouton ici. Maintenant, si vous cliquez dessus, vous verrez apparaître un tas d' extensions différentes que vous pouvez ajouter à votre projet, comme de la musique et un appareil photo, etc. Et beaucoup d'autres qui utilisent du matériel externe. Quoi qu'il en soit, celle qui nous intéresse est cette extension Draw. En cliquant dessus. Comme vous pouvez le voir, cela ajoute ce groupe de code supplémentaire à notre projet et tous ces différents blocs de code destinés au stylo. Maintenant, notre projet va être assez simple. Le chat va demander combien de cercles nous devons dessiner, puis bon, il va les dessiner. Pour ce faire, nous pouvons cliquer sur le drapeau gagnant , puis passer au groupe de détection, faire tomber ce bloc de demandes. Ici, nous pouvons simplement dire combien de cercles doivent être dessinés. Donc, si nous cliquons sur Jouer, notre chat demande combien de cercles il doit dessiner. Nous pouvons saisir un chiffre, et bien sûr, rien ne se passe. Maintenant, nous allons créer une fonction qui dessine des cercles. En passant à mes blocs, vous pouvez voir ici que nous pouvons cliquer sur cette option pour créer un nouveau bloc. C'est ici que nous pouvons nommer notre fonction. Je vais juste l'appeler Draw Circle. Alors souvenez-vous que plus tôt, je vous ai dit que certaines fonctions peuvent avoir des entrées alors que d'autres n'en ont pas. Eh bien, pour notre fonction de cercle, nous pourrions simplement l' appeler dessiner un seul cercle et c'est tout. Ou nous pourrions lui faire accepter une entrée dans laquelle nous pouvons choisir le nombre de cercles que nous voulons dessiner, comme dans l'exemple de la machine à fabriquer des jouets où nous pouvons décider si nous voulons une voiture bleue ou rouge ou de n'importe quelle couleur. Dans ce cas, nous pouvons décider la fonction accepte une entrée, ce qui modifiera la sortie créée par la fonction. Donc, pour ce faire, il suffit de cliquer dessus pour ajouter une entrée comme ça. Ensuite, comme vous pouvez le voir, en haut, nous avons maintenant une entrée. Je vais le renommer en nombre de cercles, puis appuyer sur. Maintenant, comme vous pouvez le voir, nous avons maintenant ce bloc ici, et c'est là que nous définissons notre fonction. C'est essentiellement comme si nous construisions la machine en indiquant ce qu'elle doit faire lorsqu'elle se fait attraper. Ce que nous voulons que notre machine ou plutôt notre fonction fasse, c'est dessiner des cercles. Dessiner un cercle est assez simple. Tout ce que vous avez à faire est de poser le stylo, puis de passer au mouvement, dix pas, puis de tourner de 15 degrés et de répéter l'opération 30 fois comme ça. Si vous cliquez simplement sur cette fonction, vous verrez que notre chat dessine un cercle. C'est cool. Mais comment utiliser cette fonction ? Eh bien, nous demandons ici à l'utilisateur combien de cercles dois-je dessiner pour utiliser cette fonction. Il suffit de saisir ce bloc, dessiner un cercle en dessous, ce qui appelle notre fonction. Et si nous avions joué et cliqué sur ce bouton, comme vous pouvez le voir, notre chat dessinerait un cercle. Mais bien sûr, il y a un problème car notre chat ne dessine qu'un seul cercle. C'est ici que nous devons indiquer à la fonction le nombre de cercles qu'elle doit dessiner. Au lieu de laisser ce champ vide, nous pouvons accéder à notre groupe de détection saisir ce bloc de réponses et l'utiliser comme entrée. En gros, cela fait appel notre fonction de dessin de cercle avec l'entrée saisie par l'utilisateur. Cependant, cela ne fera toujours rien, car si vous regardez notre fonction, nous ne disons jamais à la machine ce qu'elle doit faire avec l'entrée qu'elle reçoit lorsqu'elle est appelée. Ce que nous devons faire, c'est prendre un autre bloc de répétition et mettre tout cela à l'intérieur. Au lieu de saisir une valeur, nous pouvons saisir ce bloc de cercles et le mettre à l'intérieur. Maintenant, examinons notre script étape par étape afin de mieux le comprendre. Je ne peux pas demander combien de cercles je dois dessiner. Disons que nous entrons dans cinq cercles. Nous appelons ensuite notre fonction de dessin de cercle avec le chiffre cinq en entrée. Cette fonction pose le stylo, puis nous avons ce bloc de répétition dont l'entrée est puis nous avons ce bloc de répétition dont le nombre de cercles Puisque nous en avons saisi cinq, comme entrée pour notre fonction, elle va répéter tout ce code cinq fois. Le code est ce mouvement et ce virage, qui créent essentiellement le cercle. En voyant cela en action, notre chat demande ici combien de cercles nous voulons. Disons trois, comme vous pouvez le voir les TIC dessinent trois cercles, juste comme ça. Le seul problème que nous avons , c'est que nous ne pouvons pas tous les voir car ils se trouvent tous dans la même zone. Améliorons un peu cette fonction. Assoiffés, nous allons poser le stylo pour qu'il ne dessine pas partout. Ensuite, nous ferons en sorte que notre chat ne se mette pas en position. Ensuite, nous pouvons reposer le stylo. Enfin, nous pouvons changer la couleur du stylo par dix. Passons donc à l'augmentation ou au début. Je vais essayer à nouveau. Faisons-en quatre. Eh bien, ce n'est pas tout à fait exact. Les TIC font la même chose. Eh bien, notre problème est que tout ce code devrait se trouver dans notre bloc de répétition. Déplacez-le à l'intérieur, comme ça, et essayez-le à nouveau. Combien de cercles ? Disons sept. Lentement mais sûrement, comme vous pouvez le constater, notre chat dessine sept cercles. Il dessine également chaque cercle d'une couleur différente. Rappelez-vous maintenant que les fonctions définies sont très utiles car nous pouvons simplement écrire le code une seule fois et l'utiliser encore et encore. Eh bien, si vous regardez ce code, la fonction est très utile car elle rend notre code très facile à comprendre et à gérer. Comme nous pouvons voir clairement ce qui se passe, nous posons une question, puis nous dessinons un certain nombre de cercles. Mais nous n'utilisons pas vraiment cette fonction à son plein avantage car, eh bien, nous n' appelons qu'une seule fois. Disons que dans notre programme, nous voulions que notre chat dessine un cercle si nous cliquions dessus parce que nous avons cette fonction Eh bien, c'est simple à faire. Nous pouvons simplement le saisir lorsque vous cliquez sur le bloc du sprite, puis nous pouvons simplement dire « dessiner un cercle » et en saisir Maintenant, en cliquant sur Play, combien de cercles ? Disons deux. Une fois que c'est fait. Maintenant, si nous cliquons sur le CT, il dessine un cercle. Sympa. Supposons également que nous voulions réduire notre cercle pour une raison quelconque. Nous pouvons simplement accéder à notre fonction, modifier le mouvement en cinq étapes, disons. Maintenant, en cliquant sur Play, en entrant dans l'un d'eux, un cercle plus petit est dessiné. Mais aussi, si nous cliquons sur le CT, il dessine également un cercle plus petit. Comme vous pouvez le constater, l'utilisation de cette fonction garantit la cohérence de notre code , sa facilité de gestion et son utilisation. C'est là le pouvoir des fonctions. Mais avant de terminer, si vous voulez vous amuser, maintenez la touche Shift enfoncée pendant que vous cliquez sur le drapeau, et vous verrez le jeu passer en mode turbo. Ensuite, si nous saisissons une valeur folle comme 100 000, nous devenons complètement fous en dessinant des cercles, amusez-vous un peu avec ça. 52. Explorer les fonctions à travers le codage créatif: Eh bien, il est temps d'y revenir et de terminer ce que nous avons commencé. Notre jeu de ski d'arcade est amusant, mais il manque cet élément crucial. Cela le fait passer d'un jeu amusant à un jeu vraiment amusant, et c'est ce que signifie le polissage. Il s'agit de la dernière étape de notre flux de travail. Pour la première étape de peaufinage, nous allons améliorer un peu nos graphismes, rendre notre jeu beaucoup plus réaliste. La première chose dont je veux parler concerne les couches. Nous en avons brièvement discuté dans une leçon précédente, mais revenons-y à nouveau. À zéro, chacun de nos sprites apparaît sur notre écran avec une position x et y, comme vous le savez C'est facile à voir, mais nos sprites ont également un axe Z, nous ne pouvons pas facilement voir car tout est en deux D et nous regardons du haut vers le bas En gros, l' axe Z est la couche. Imaginez donc une pile de papiers. Vous pouvez avoir 20 feuilles de papier les unes sur les autres et chacune a sa propre couche. Si le papier se trouve en haut de la pile, il se trouve à la première couche, et s'il est en bas, c'est à la couche 20. Bien entendu, si un papier se trouve couche supérieure, comme la première couche, il recouvrira le papier en couche inférieure, comme la deuxième couche. La même chose se produit dans Scratch lorsque nos sprites se trouvent sur des couches différentes Si nous jouons rapidement à un jeu et si nous percutons un arbre, vous le verrez bien, nous survolons l'arbre à ski, ce qui n'a aucun sens. Comment résoudre ce problème ? Eh bien, si nous passons à notre branche de joueur, nous pouvons en prendre une autre lorsque vous cliquez sur le drapeau , puis passer à l'onglet Lux Ici, nous verrons que nous avons deux options. Nous pouvons soit le faire passer à l'avant ou à l'arrière, faire reculer ou avancer d'une couche Si nous devions dire « aller à l' arrière » puis « jouer », comme vous pouvez le constater, notre sentier enneigé passe devant nous. Ce n'est pas une option. Remettons ça au premier plan comme ça. Maintenant, cette fois, nous pouvons plutôt dire : revenez d'une couche en arrière. Maintenant, plutôt que de le renvoyer tout en arrière, nous le replaçons simplement d'une couche vers l'arrière, ce qui signifie que le sprite de notre joueur se trouvera dans la deuxième couche Maintenant, faites glisser le script sur les deux sans pixels. Nous pouvons le faire revenir de deux couches en arrière, et nous pouvons également faire de même pour l'autre sprite Cliquez sur Play. Eh bien, c'est bizarre. Notre pixel est toujours devant. Avez-vous une idée de ce qui se passe ici ? Eh bien, la raison en est que chaque fois que nous commençons le jeu, il revient de plus en plus de couches. Ce que nous devons faire, c'est accéder à chacun de ces sprites et l'intégrer à la couche avant, juste comme ça Nous pouvons également faire de même pour notre sprite arboricole. Nous pouvons simplement faire glisser un clic sur le drapeau du vent , puis passer à la couche avant. Ainsi, lorsque nous commençons notre jeu, chacun de nos sprites commence sur la même couche, mais notre joueur recule d'un et nos pixels reculent de deux J'essaie ça. Comme vous pouvez le constater, cela fonctionne parfaitement. Lorsque nous percutons un arbre, nous ne glissons pas devant lui Maintenant, c'est beaucoup plus réaliste. Cela étant réglé, il nous reste encore une chose à faire. Lorsque nous jouons au jeu, comme vous pouvez le constater, nos arbres apparaissent simplement, ce qui est un peu choquant Ce ne serait pas mieux s'ils disparaissaient. Presque comme s'il y avait de la brume et qu'ils apparaissaient depuis la brume. Ça a l'air génial. Mais cela semble être une tâche assez complexe. Mais n'ayez crainte, car il existe un moyen assez simple de le faire. Si vous consultez notre groupe de looks, vous verrez qu'il change de couleur ou que la couleur est définie sur. Faites glisser l'effet de couleur défini dans le sprite de notre joueur. Vous verrez que si nous cliquons dessus, rien ne se passe. Mais si nous changeons ce nombre pour dire 40, notre sprite change de couleur J'ai presque l'air d'un extraterrestre. Mais ce n'est pas ce que nous voulons. Nous pouvons le remettre à zéro. Mais vous verrez que si nous cliquons ici, il y a toutes ces autres options. L'effet qui nous intéresse est cet effet fantôme. Réglons-le sur 95. Et en cliquant dessus, vous verrez comment Sprite s'estompe presque. Nous pouvons l'utiliser pour décolorer nos arbres. Réinitialisez-le rapidement Nous pouvons ensuite passer à notre sprite arborescent. Maintenant, c'est votre prochain mini-défi. Essayez de voir si vous pouvez créer cet effet, où nos arbres s'estompent au lieu d'apparaître soudainement. Allez, essayez-le avant que nous ne vous montrions comment le faire. Tu l'as reçu ? Voyons comment c'est fait. Maintenant, ce que nous voulons, c' est que lorsque notre sprite commence sous la forme d'un clo, nous voulons régler l'effet fantôme sur 95, puis le faire disparaître Ce que nous allons faire, c'est saisir cet effet de modification par bloc, et encore une fois, le définir sur fantôme. Ici, nous voulons le faire glisser dans cette boucle éternelle afin que les fantômes disparaissent lentement, ce qui donne l'impression que nos arbres sont Pour ce faire, nous devons modifier cette valeur car actuellement notre hébergement fantôme est de 95, et nous voulons le ramener à zéro Nous pouvons simplement saisir moins trois ici, ou ce qui vous convient le mieux. Faisons un test. Vous pouvez voir que nos arbres semblent maintenant apparaître lentement dans la brume. Oui, c'est un effet très subtil, mais cela ne fait qu'améliorer notre gain. C'est tout pour le moment. Si vous trouvez d' autres domaines dans lesquels vous pensez que les graphismes peuvent être améliorés, je vous encourage à essayer et à voir ce que vous pouvez faire. 53. Améliorer le réalisme de jeu : graphiques et calques: Il y a une citation du célèbre cinéaste George Lucas, qui dit que son représente 50 % du film. On peut certainement en dire autant des jeux vidéo. Un jeu est amusant et tous les graphismes sont plutôt sympas, mais il n'est tout simplement pas très immersif. Transformons notre jeu grâce au son. Tout d'abord, nous avons besoin d'un bon fond sonore pour notre jeu. Maintenant que nous skions sur la neige, nous devrions avoir un son qui vous donne l'impression de skier dans la neige. Passons à notre état srt, nous pouvons utiliser cette zone pour ajouter nos sons En cliquant sur l'onglet sons, nous pouvons passer à ce bouton et cliquer sur Télécharger le son. Maintenant, si vous passez à notre dossier d'effets sonores, vous verrez que nous avons ce son appelé Winter Storm. En cliquant dessus. Ici, vous pouvez voir qu'il est maintenant importé. ne nous reste plus qu'à revenir à notre code, à cliquer sur un drapeau du vent et à le faire tourner en boucle indéfiniment , puis de faire glisser le son jusqu'à ce que le bloc soit terminé. Comme vous pouvez le voir, notre son est déjà sélectionné. Il ne reste plus qu'à jouer le jeu. Maintenant, c'est plutôt ça. On a vraiment impression d'être dans la neige. Maintenant, tu pourrais le garder tel quel, et ce serait plutôt cool. Mais nous pouvons le rendre encore plus excitant en introduisant un autre son, qui est en fait de la musique. Cliquez à nouveau sur le bouton de téléchargement du son , puis passez au dossier de musique. Ici, je vais choisir la chanson ici. Mais tu peux choisir la chanson que tu veux. Maintenant, comme je veux ma musique et mes effets sonores soient joués en même temps, je vais simplement dupliquer ce script, puis remplacer le son le nouveau morceau que nous avons importé. Et maintenant, il ne reste plus qu' à appuyer sur Play. Maintenant, cela ressemble plus à un jeu pour moi. Quels sont, selon vous, les sons dont nous avons besoin pour vraiment compléter le tout. Pensez-y. Skier, puis s'écraser. Oui, nous avons besoin d'un son d'effacement. Cette fois, nous accédons au sprite de notre lecteur, puis nous téléchargeons le groupe de sons, puis nous passons au dossier des effets sonores Et ici, vous pouvez voir que nous avons cet effet d'essuie-ski. En cliquant dessus, nous pouvons ensuite revenir à notre code, c'est très simple en fait. En gros, lorsque nous touchons un arbre, nous voulons qu'il commence à sonner et que les skis s'éteignent. Nous pouvons simplement faire glisser ce bloc ici. Essayons-le maintenant en appuyant sur Play. Puis il a percuté un arbre. Eh bien, voilà. Subtil, mais agréable au toucher. C'est à peu près tout. Vous pouvez certainement faire encore plus avec son, comme un bel effet de ski, son lorsqu'un joueur tourne à gauche ou à droite. Mais je laisse tout cela à vous et à votre incroyable créativité. Mais comme vous pouvez le voir ou plutôt ici, son représente définitivement 50 % du film ou, dans notre cas, du jeu. 54. Amplifier l'immersion : la puissance du son: Donc, la prochaine chose que nous voulons faire dans la création de notre jeu est de le rendre compétitif, car même si c'est bien de skier en montagne, si nous ne pouvons pas nous vanter d'un score élevé, nous avons un problème. Dans cette leçon, nous allons ajouter un système de notation à notre jeu. Maintenant, vous pensez peut-être que je sais comment faire. Je vais juste créer une partition d'accords variable, la coller en haut de l'écran, et c'est fait Oui C'est une bonne idée, et ça marcherait. Mais nous avons beaucoup travaillé sur ce jeu et ses graphismes, et nous ne voulons pas qu'il soit déçu par une variable d' apparence basique qui compte les points. Nous avons besoin de quelque chose d'excitant. Nous pourrions commencer à concevoir un sprite de partition sympa qui a l'air super sympa et aussi créer de belles animations dans tout cela, ce n'est pas ce que nous allons faire Prends un stylo. Ou saisissez-le quelque part. Je veux que vous le notiez parce que c'est très important et cela vous fera gagner d'innombrables heures de temps. Es-tu prêt ? N'essayez pas de réinventer la roue. Encore une fois, ne réinventez pas la roue. Maintenant, épingle-le quelque part, tu ne l'oublieras pas. Ne réinventez pas la roue. Cela signifie essentiellement que si quelque chose a déjà été fait et que quelqu'un a passé des heures interminables à y travailler, ne le réinventez pas Ce que je veux dire, c'est que, bien sûr, nous pourrions créer le sprite de la partition nous-mêmes Ce qui est encore mieux, c'est si nous pouvions simplement utiliser le sprite de score de quelqu'un d'autre C'est plus rapide. Et cela nous permet d'appliquer notre cerveau et notre temps à d'autres parties de notre programmation. En fait, c'est l'essence même de la programmation. Réutiliser à la fois votre propre code et le code open source lorsqu'il est disponible. Maintenant, dans le contexte du scratch. Supposons que vous jouiez au jeu de quelqu'un et que vous vous disiez : « Hé, j'aime beaucoup la façon dont il produit cette belle animation de transition ou que aimez le premier exemple avec le moteur de mouvement fluide Au lieu d'essayer de créer votre propre mouvement fluide, vous pouvez utiliser le leur dans votre propre projet Scratch vous permet de le faire, et l'avantage de Scratch est qu'il donne automatiquement du crédit à d'autres personnes lorsque vous utilisez leur code dans votre projet. Faisons-le pour notre propre projet. Ici, vous pouvez voir, j'ai trouvé un mini-jeu de football sympa. Bien que le jeu soit un peu difficile, il est toujours en version bêta après tout. Vous remarquerez que l' animation de la partition est vraiment sympa. Comment pouvons-nous l'utiliser pour notre projet ? Eh bien, la première chose à faire est de cliquer sur ce bouton intérieur C. Comme vous pouvez le constater, voici le sprite de partition que nous recherchons Juste pour être sûr que tu es sur la même longueur d'onde que moi. Je veux que vous ouvriez ce projet et vous pouvez le faire en cliquant sur le lien qui se trouve sous la leçon. Ou vous pouvez simplement saisir manuellement ce lien. Si vous ne le trouvez toujours pas, il vous suffit de cliquer sur Fichier et de le charger depuis votre ordinateur . Sous Projets terminés, vous verrez celui-ci appelé Soccer Mini Game. Le projet étant ouvert, il ne nous reste plus qu' à copier le sprite Pour ce faire, il vous suffit de cliquer avec le bouton droit sur le Sprite, puis de sélectionner le port Ici, vous pouvez l' enregistrer où vous le souhaitez. N'oubliez pas où vous l'avez enregistré. Je vais juste choisir les téléchargements. Revenons maintenant à notre jeu de ski. Ici, nous pouvons passer la souris dessus, choisir un sprite, puis cliquer sur le sprite de téléchargement Maintenant, vous pouvez voir que nous avons notre sprite de score, que nous pouvons sélectionner Alors ouvert, voilà. Notre sprite de score est maintenant dans notre jeu prêt à être utilisé et à penser à tout le temps que nous avons économisé Avec tout ce gain de temps, personnalisons un peu le sprite afin qu'il corresponde mieux à notre jeu Passant à l'éditeur de costumes, je vais supprimer tous ces costumes, puis cliquer sur le bouton de téléchargement. Ensuite, en passant au dossier des partitions, vous pouvez voir que nous avons ces chiffres plus jolis. Nous pouvons simplement sélectionner le premier, puis maintenir la touche Maj enfoncée et cliquer sur le dernier, et cela les sélectionnera tous. Maintenant, nous pouvons cliquer sur Ouvrir. D'accord. Et voilà. Notre nouveau design de notation est importé. Sur ce, jetons un coup d'œil au code. Comme vous pouvez le constater, ce code utilise des fonctions. Mais parcourons-le rapidement. Nous avons donc une idée de ce qui se passe. Ainsi, lorsque l'on clique sur une étoile, ils mettent le score à zéro Ensuite, ils semblent avoir une boucle qui fait en sorte que le score ne passe pas dans les négatifs. Ensuite, ici, ils exécutent la fonction de configuration, qui fait un tas de choses comme définir la taille et le costume et créer un c, puis ce clone appelle une autre fonction et ainsi de suite. Mais pour le moment, nous allons en rester là. Vous êtes plus que bienvenu pour analyser ce code par vous-même, que je suis sûr que vous pourrez comprendre avec tout ce que vous savez déjà. 55. Maîtriser la dynamique des scores : du simple comptage à l'avantage compétitif: OK, faisons en sorte que la partition fonctionne. Et juste pour le dire, si nous jouons un jeu et que nous cliquons sur le script ici, plusieurs fois, comme vous pouvez le voir, notre score commence à augmenter. Bien qu'il y ait effectivement quelques problèmes résoudre, car c' est clairement trop gros. Et si vous êtes comme moi, vous auriez probablement supposé que nous pouvons facilement changer cela en abaissant le numéro de taille défini. Mais il est clair que ce n' est pas le cas. Mais pour vous éviter d' avoir à essayer de comprendre ce qui se passe ici, la taille est en fait définie par ce nombre ici. Donc, ce que nous pouvons faire, c'est simplement réduire ce nombre à dix. Si nous cliquons sur le script, vous pouvez voir qu'il fonctionne. Même si cela semble encore gigantesque pendant une seconde. Cette fois, c'est à cause de cette option de réglage de la taille ici. Si nous le fixons à une valeur faible, comme 15, et que nous donnons une autre chance au jeu. En cliquant plusieurs fois sur le script, vous pouvez voir que l' apparence est bien meilleure, même si lorsque nous passons le chiffre dix, nos chiffres apparaissent trop rapprochés. Maintenant, parfois, le meilleur moyen de résoudre un problème comme celui-ci est de continuer à changer les numéros jusqu'à ce que cela fonctionne. C'est la méthode de la force brute. Mais pour accélérer le temps, dans ce cas, le nombre que nous devons changer est celui ici, et nous pouvons changer ce nombre à 0,4. C'est une autre chance. Lorsque nous atteignons dix ans, comme vous pouvez le constater, cela semble mieux. Jouez avec ces chiffres ici pour obtenir un effet plus ou moins dramatique. En gros, ce que tu trouves le plus beau. Mais je vais laisser les choses comme ça pour le moment. Maintenant que le score fonctionne bien et qu'il est beau, intégrons-le à notre jeu. Et lors de nos jeux précédents, il suffisait de le faire attendre un certain temps , puis d'augmenter le score. Mais je veux quelque chose de plus intéressant que ça. Ce que je veux, c'est que chaque fois que nous franchissons un obstacle, le score augmente. Comme vous le savez, si nous jouons au jeu et que nous cliquons sur le script, le score compte, comme vous pouvez le voir, il s'agit d'un message diffusé Il suffit de diffuser le score des joueurs, et il devrait augmenter. Passons à notre sprite arboricole. Tout ce que nous avons à faire est de passer au code de ce message diffusé et glisser dans cette Écriture. Juste avant de supprimer le clo, nous pouvons simplement le modifier pour qu'il diffuse le score du lecteur de messages Essayons-le. Comme vous pouvez le constater, chaque fois que nous croisons un sprite, notre score augmente. Il y a une jolie petite animation. C'est presque trop facile. Regardez à quel point cela transforme notre jeu. Mais une chose que vous avez peut-être remarquée si vous essayez de terminer le jeu, c'est que c'est quand même assez facile. Vous pouvez à peu près continuer à l' infini. Réglons ça. Passons à notre variable sprite, vous verrez que nous avons ce code honteux ici. Comme vous devez le savoir, ce n'est pas un bon code, comme nous le répétons. Débarrassons-nous de tout ce code et faisons quelque chose de mieux. En passant au groupe de variables, nous pouvons créer une nouvelle variable appelée level. Nous pouvons maintenant l'utiliser pour contrôler la difficulté de notre jeu. Prendre le bon départ, pour toujours et voici ce que nous allons faire Tout d'abord, au début de notre script, nous allons définir notre variable de niveau sur un. Ensuite, nous allons prendre un opérateur inférieur à et notre variable de niveau et les coller ici. En gros, ce que nous voulons faire, c'est vérifier que le niveau est inférieur à dix car nous ne voulons pas que notre jeu soit trop difficile. Le niveau dix sera maximum. Ensuite, nous pouvons prendre un poids, le coller ici et le régler à 15. Toutes les 15 secondes, nous voulons que notre niveau augmente d'une unité. Nous allons simplement changer de niveau par niveau. Désormais, toutes les 15 secondes, notre niveau augmentera d'un, et il cessera d'augmenter lorsqu'il atteindra dix. Le seul problème, c'est que cela ne fait rien, car c'est notre vitesse d'apparition et notre vitesse d'apparition qui modifient notre difficulté Pour augmenter la difficulté réelle du jeu, je vais utiliser la fonction de diffusion. En passant, nous pouvons le faire glisser puis cliquer sur Nouveau message. C'est ce que j'appellerai un niveau supérieur. Nous pouvons maintenant faire glisser le bloc « Quand je reçois » et le modifier pour le faire monter de niveau. Ensuite, ce que nous voulons faire, c'est réduire la vitesse d'apparition. Nous pouvons faire glisser un bloc de variables de modification, le régler sur le taux de génération et le régler sur -0,1 Vite, en regardant notre code. Toutes les 15 secondes, notre jeu augmente, qui diffuse ce message qui augmente notre vitesse d'apparition Nous pouvons nous faire une idée des niveaux. Je vais le remplacer par 1 seconde et appuyer sur Play. Comme vous pouvez le constater, sa difficulté augmente rapidement. Jusqu'à ce que nous atteignions notre niveau maximum, car vous pouvez voir de nombreux arbres apparaître, et si cela vous semble trop difficile, vous pouvez facilement le modifier en modifiant cette valeur ici Supposons également que vous vouliez un mode fou dans lequel vous augmentez également la vitesse Nous pourrions simplement accéder à nos variables, les faire glisser et modifier la vitesse de déplacement de moins un. C'est une autre chance. Comme vous pouvez le constater, notre jeu devient définitivement fou. Quoi qu'il en soit, je vous laisse le soin de bricoler pour le rendre parfait car notre jeu, non plutôt notre chef-d'œuvre, est presque terminé 56. Créer la passerelle : créer un écran de démarrage invitant: Nous sommes donc presque arrivés à la ligne d'arrivée. Mais pour atteindre la ligne d'arrivée, il faut une ligne de départ, et c'est exactement ce que nous allons faire dans cette leçon. Nous allons ajouter un écran de démarrage. Comme vous le savez avec notre flux de travail de développement de jeux. La première chose que nous devons faire est de réfléchir à son apparence et à son fonctionnement. En y réfléchissant, ce que nous voulons simplement, c'est un bel écran qui apparaît en premier lorsque nous démarrons le jeu. Une fois cette ébauche d'idée de 30 secondes terminée, nous pouvons passer à la deuxième étape, qui consiste à jeter les bases. Tout d'abord. Utilisons notre toile de fond principale pour notre écran de démarrage. Pour cela, nous pouvons utiliser notre scène principale. En cliquant dessus, puis sur les arrière-plans, vous remarquerez que nous n' avons aucun pour le moment Cependant, comme nous simulons de la neige, nous utilisons simplement un fond blanc blanc Gardez cela à l'esprit. Cliquez sur le bouton d'importation, puis passez au dossier. Écran de démarrage, nous pouvons sélectionner ces deux fichiers d'écran de démarrage et appuyer sur Ouvrir. Ici, vous pouvez le voir, nous avons cette animation qui scintille. Vous êtes ici en train de texter. Mais comme vous pouvez le constater, il y a un grand espace vide en bas de notre écran de démarrage. C'est là que nous voulons ajouter une jolie petite animation qui joue avec les arbres. Pour ces arbres, nous pourrions techniquement les importer dans notre arrière-plan. Cependant, comme nous voulons créer un bel effet de superposition, nous allons en faire un nouveau sprite Encore une fois, je télécharge un nouveau sprite. Ici, vous verrez que nous avons ce sprite arboricole ici. En le sélectionnant et en appuyant sur Ouvrir, vous pouvez voir de beaux arbres. Maintenant, ce que nous voulons, c'est ces arbres se déplacent vers la gauche puis vers la droite, ce qui créera notre animation. Le seul problème, cependant, est que nos arbres ont à peu près la taille exacte de l'écran. Il y a peu de place pour les déplacer. Que faisons-nous ? Eh bien, nous avons deux options pour résoudre ce problème. Nous pourrions soit les étendre, ce qui fonctionnerait, mais c'est encore mieux. Si nous passons dans l'éditeur de costumes et cliquons sur ce bouton, que nous convertissons en vecteur , en sélectionnant cet outil, nous pouvons maintenant le déplacer vers la droite, copier puis le coller. Ensuite, nous pouvons essayer de l'aligner quelque peu. Une fois cette ligne d'arbre terminée, nous pouvons dupliquer le sprite afin avoir deux lignes d'arbres Il ne nous reste plus qu' à ajouter notre bouton de démarrage. Encore une fois, appuyez sur uploader. Nous pouvons sélectionner l'image du bouton de démarrage, et voilà, un gigantesque bouton de démarrage. Génial. Mais avant d'essayer d' écrire un code approprié, organisons tout cela afin d'avoir une idée de ce qui se passe. Tout d'abord, corrigeons ce bouton de démarrage. Je pense qu'ici 25 est une taille beaucoup plus réaliste. Avec cela, vous pouvez simplement le déplacer vers le bas ici. Enfin, pour nos arbres, nous voulons que ce soit quelque chose comme ça. Cette ligne d'arbre doit couvrir cet espace vide. Ensuite, cette ligne d'arbre inférieure doit se trouver tout en avant, pour couvrir un peu notre bouton de démarrage, ce qui nous donne un bel effet de garçon. Eh bien, c'est essentiellement tout pour le moment. Nos sprites sont importés. Tout est en place. Maintenant, il ne nous reste plus qu'à coder. Préparez-vous car c'est sur le point de commencer. 57. Mettre en scène le décor : superposer et activer pour un départ transparent: Eh bien, tous nos nouveaux sprites sont en ordre. Ils attendent juste que nous leur donnions vie. Maintenant, la première chose à faire est de bien superposer les couches Le seul problème, c'est que le scratch vous permet uniquement de configurer un sprite pour qu' il passe à l'arrière ou à l'avant ou l'arrière , une couche Il n'est pas possible de le transférer vers une couche spécifique. Actuellement, ce que nous faisons, c'est faire passer nos sprites à l'avant puis à revenir en arrière Bien que cette astuce fonctionne, si vous avez trois ou quatre sprites, cela pose des problèmes lorsque vous en avez plus Pour placer un sprite sur une couche spécifique, vous devez d'abord le placer à l'arrière, puis le faire avancer, quel l'arrière, puis le faire avancer, que soit le nombre de couches nécessaires C'est le contraire de ce que nous avions. Si vous le regardez, cette ligne inférieure de l'arbre se trouvera dans la couche la plus haute. Nous allons le présenter en six couches. Ensuite, le bouton sera placé une couche plus bas afin que nous puissions le faire avancer de cinq couches. Ensuite, pour la prochaine série d'arbres, nous proposerons quatre couches. Cela signifie que notre sprite de l'arbre à obstacles doit se présenter en trois couches Ensuite, notre sprite de joueur, deux couches, et enfin, notre pixel de neige, une seule couche En commençant par le sprite à neige, nous pouvons entrer et modifier ce paramètre pour revenir en arrière, puis avancer d'une couche, et faire de même pour le sprite, juste comme ça Ensuite, notre joueur peut dire «  reculer » puis «   avancer de deux couches ». Nos arbres passent également à l'arrière et nous pouvons les transformer en trois couches. De plus, je suis presque d'accord. Nous devons également définir la couche de notre sprite de score. Faisons glisser ce script dessus et nous pouvons le faire avancer de quatre couches, juste comme ça. Maintenant, pour nous faciliter la vie, nous pouvons simplement glisser ce code, script dans chacun de ces nouveaux sprites, nous avons ajoutés comme ça Ensuite, en passant à notre premier ensemble d'arbres, nous pouvons avancer de cinq couches. Maintenant, pour notre bouton de démarrage, nous voulons avancer, six couches. Enfin, en bas de l'arbre, nous pouvons le faire avancer de sept couches. OK, donc ça a l'air plutôt bien. Nous devons maintenant le faire fonctionner réellement, car vous remarquerez que si vous cliquez sur le bouton de jeu, eh bien, une étrange fusion de notre jeu se produit sur notre écran de démarrage. Notre première priorité est de bien démarrer. En gros, ce que nous voulons, c'est notre jeu commence lorsque nous cliquons sur ce bouton, qui signifie que cet écran de démarrage et les arbres devraient se cacher et notre joueur et les obstacles devraient apparaître. Maintenant, au lieu d'utiliser un sprite « if » vers le bas et de toucher un sprite, comme nous l'avons fait auparavant, nous pouvons utiliser ce bloc ici lorsque vous cliquez sur le sprite OK. Maintenant, lorsque nous cliquons sur le bouton, nous voulons diffuser un message et le message que nous voulons est Démarrer le jeu. Faites glisser ce bloc lorsque vous cliquez dessus sur le sprite, puis sur le message diffusé ? Nous pouvons créer un nouveau message appelé Start Game. Maintenant que c'est fait, assurons-nous que nos autres sprites répondent Tout d'abord, avec notre arrière-plan, nous pouvons déconnecter cette musique du clic sur le drapeau et la faire jouer avec le message diffusé lorsque je reçois le début de la partie. De cette façon, notre son ambiant est toujours diffusé, mais notre musique ne démarre que lorsque le jeu commence réellement. C'est vrai. J'ai un petit défi pour toi. Es-tu prêt ? Ce que nous voulons, c'est notre animation qui tourne entre ces deux arrière-plans soit jouée lorsque nous cliquons sur le drapeau Ensuite, lorsque nous cliquons sur le bouton de démarrage, nous voulons arrêter l'animation et passer à la toile de fond vierge. Peux-tu le faire fonctionner ? Voici un conseil. Idéalement, vous devriez utiliser des fonctions pour le créer. Mets la vidéo en pause et donne-la à ce gars. OK. Comment y es-tu allé ? Celui-ci est peut-être un peu plus difficile que vous ne le pensiez. Bravo si tu l'as eu . Les premières choses d'abord. Nous devons créer une fonction. Nous appellerons cela une animation de fond. Ici, nous devons ajouter une entrée et nous pouvons lancer le jeu et appuyer sur OK. Nous devons maintenant définir cette fonction. En introduisant ce classique pour toujours et en bloquant, puis en saisissant un opérateur égal, nous pouvons vérifier si le début des parties est égal à vrai Maintenant, si c'est le cas, nous voulons passer à notre première toile de fond. Mais si ce n'est pas le cas, nous voulons que notre animation soit jouée. Pour ce faire, nous pouvons saisir deux arrière-plans d'interrupteur, puis placer un poids entre les deux, puis un poids à la fin Modifiez-le également pour les écrans de démarrage 1 et 2. Ensuite, il nous suffit d'en saisir un autre lorsque vous cliquez sur le drapeau, introduire ce bloc pour appeler notre fonction, puis de définir l'entrée sur false Ensuite, nous pouvons en faire glisser un autre lorsque je reçois un bloc comme ça, le configurer pour démarrer le jeu, puis introduire cet appel de fonction et le définir comme vrai. Mais maintenant, je viens rendre compte que cela n'a pas vraiment de sens car appeler une animation d' arrière-plan avec false démarre l'animation tout en l'appelant avec une vraie fin, mais nous allons ignorer cet oubli pour le moment. Cliquez sur Play. Comme vous pouvez le voir, notre animation fonctionne. En cliquant sur Démarrer, il disparaît et notre musique démarre. Maintenant que tout cela est fait, passons à nos sprites arborescents Celui-ci sera un peu plus facile. Tout d'abord, en faisant glisser un clic sur le drapeau. Ici, nous pouvons simplement montrer le sprite. Ensuite, en faisant glisser le bloc « Quand j'ai reçu » et en le réglant pour démarrer le jeu, nous pouvons masquer le sprite Enfin, nous devons créer des animations. Maintenant, pour cela, nous pouvons simplement saisir une boucle permanente et une boucle répétée. À l'intérieur de la boucle de répétition, nous pourrions changer x par cinq, puis attendre 0,5 seconde. Ensuite, nous pouvons simplement le dupliquer et cette fois le régler sur moins cinq. Enfin, au début de notre script, mettons la position x à zéro et mettons le y à sa position actuelle. Maintenant, pour notre autre sprite arborescent , comme il est identique, nous pouvons simplement y faire glisser ces deux scripts comme ceci La seule chose que nous devons faire est de changer la position y. Ici, nous pouvons simplement le régler à sa position actuelle. Cliquez sur Play. Comme vous pouvez le voir, nous avons une belle animation avec les arbres qui cliquent sur Démarrer. Ils disparaissent. Maintenant, il est clair qu'il y a un problème : notre sprite et nos arbres fonctionnent toujours. Abordons cela. Tout d'abord, pour passer au sprite de notre joueur, nous pouvons simplement faire glisser un masque sur drapeau sur lequel vous avez cliqué, puis le faire glisser quand je le reçois, configurer pour démarrer le jeu, puis le faire glisser dans un bloc d'affichage Maintenant, nous pouvons simplement le faire glisser lorsque j'ai reçu bloc dans notre sprite d'arbre, nos sprites Snow Pixel et notre sprite de score abord, pour passer à notre sprite arborescent, nous pouvons faire glisser le script sur notre jeu W I received start et le coller sur le bouton « when flag click Passons ensuite à notre pixel de neige, nous pouvons faire exactement la même chose ici. Inverser cela et déplacer la peau, juste comme ça. Avec le deuxième sprite à neige, nous pouvons également effectuer le même changement et nous déplacer Enfin, avec notre score. Ici, nous pouvons simplement faire glisser ce script d'appel de fonction de configuration vers notre jeu W I receive start. Enfin, vous pouvez faire glisser un masque sur le drapeau W sur lequel vous avez cliqué Cliquez sur Play. Comme vous pouvez le constater, cela semble plutôt bon. Lorsque nous cliquons sur Démarrer, il y a quelques problèmes. Quoi qu'il en soit, nous traiterons de tout cela dans la prochaine leçon où nous terminerons ce jeu Mais je vous encourage à essayer et à essayer de voir si vous pouvez résoudre vous-même ces derniers petits problèmes. 58. La touche finale : perfectionnements et révélations: Eh bien, c'est la grande finale maintenant. Il est temps de terminer ce que nous avons commencé. Il s'agit de la phase finale du développement. C'est là que nous parcourons tout notre code, testons notre jeu plusieurs fois, assurons que tout est parfait avant le lancement. Mais tout d'abord, nous avons un problème lorsque nous cliquons sur Démarrer , car tous ces sprites ne se dispersent pas Réglons ça un par un. Tout d'abord, avec notre bouton de démarrage, il suffit de faire glisser le bloc « Quand je reçois », modifier pour démarrer le jeu, puis de le faire glisser dans un bloc de masquage. Faites ensuite glisser le pointeur sur le drapeau W, puis cliquez sur. Je le teste et je clique. Commencez, nous pouvons voir que cela fonctionne. Passons maintenant à notre sprite arborescent C'est là que nous nous sommes trompés. En faisant glisser ce bloc d'affichage, je reçois le bloc de démarrage du jeu. En fait, nous n'en avons pas besoin car cela se produit automatiquement dans notre autre script, nous pouvons donc simplement le supprimer. Maintenant, nous pouvons littéralement faire de même pour les autres sprites. Tout d'abord, notre pixel de neige. Il suffit de supprimer l'émission. Ensuite, le deuxième pixel de neige, faites de même. Enfin, avec notre score, nous pouvons également supprimer l'émission. Un coup de pied dans le jeu. Puis appuyez sur Démarrer. Comme vous pouvez le constater, notre problème a été résolu. Maintenant, il y a une autre animation que je souhaite ajouter à notre écran de démarrage, et c'est pour notre bouton de démarrage. Ici, je veux que le bouton zoome et dézoome. Ce sera essentiellement un code très similaire à celui de notre sprite arborescent Pour y accéder, nous pouvons simplement faire glisser un drapeau sur avez cliqué pour toujours pour répéter les blocs Et deux changent de taille par blocs, que nous pouvons intégrer à chacun d'entre eux. Pour le premier, on peut le régler à 0,2 et les deux derniers à -0,2 La dernière chose à faire est de définir la taille à sa taille actuelle, qui est 25. Ensuite, il suffit de lancer un go to block pour s'assurer qu'il reste en position. C'est tout appuyant sur Play, comme vous pouvez le voir, nous avons une jolie petite animation et cliquez sur Démarrer. Eh bien, cela fonctionne bien. Maintenant, une chose supplémentaire qui peut être améliorée, ce sont nos arbres d'obstacles. Si vous jouez au jeu depuis assez longtemps, vous pouvez voir les arbres apparaître simplement en ligne, ce qui n'a pas l'air très naturel. Passons à notre sprite arborescent, tout ce que vous avez à faire est de dupliquer le script ici, comme suit Mais maintenant, si nous devions y jouer, ces arbres apparaîtraient exactement au même moment, ce qui serait encore plus naturel Nous voulons une certaine variabilité. Pour résoudre ce problème, nous devons utiliser un peu de mathématiques et je sais à quel point vous aimez les mathématiques. Ce que nous pouvons faire, c'est supprimer cette variable ici, puis passer aux opérateurs et récupérer quelques blocs ici, un bloc de sélection aléatoire, un bloc de temps et un bloc de division. Ensuite, nous pouvons dupliquer notre variable spawn deux fois. Maintenant que nous avons toutes les pièces, nous devons les associer au taux d' apparition et au choix aléatoire, puis les temps sont bloqués dans la première entrée Insérez ensuite ce bloc de division dans cette entrée, puis les variables de génération dans chacune de ces entrées Maintenant que tout est connecté, pour la première entrée, nous pouvons taper deux et moins un pour la seconde. Passons rapidement en revue cela afin que vous compreniez ce que nous faisons ici. Lorsque le jeu démarre, nous créons continuellement des clones. Maintenant, pour rendre le clonage plus naturel et au lieu de toujours attendre le même laps de temps entre les clones, nous ajoutons un Nous déterminons le temps d'attente comme suit. Tout d'abord, prenez le taux d'apparition défini. Exemple : 0,5 seconde. Ensuite, choisissez au hasard une valeur comprise entre la moitié du taux d'apparition, soustrayez-la de lui-même rendre négative et le taux d'apparition complet Troisièmement, ajoutez cette valeur aléatoire au taux d'apparition. Par exemple, si le taux d' apparition est de 0,5, le temps d'attente peut être compris entre 0,25 et 0,5 seconde La variation aléatoire garantit que les cônes n'apparaissent pas trop prévisible et leur donne une peur beaucoup plus naturelle Cependant, la seule chose dont nous avons peut-être besoin pour le moment est notre vitesse d'apparition, car nous avons maintenant deux séries d'obstacles Pour ce faire, nous pouvons réduire le taux d'apparition initial en augmentant ce nombre ici ou en modifiant sa diminution ici OK. Maintenant, il y a un autre problème que vous avez peut-être remarqué. Si vous supprimez cette mention de poids, vous verrez que des arbres apparaissent parfois les uns en face des autres. Comment résoudre ce problème ? Tout ce que nous avons à faire est de prendre un bloc de couche d' accès et un bloc de couche de déplacement. Ensuite, selon le script ici, lorsque je commençais en tant que clone, nous voulions revenir à une couche, puis revenir en avant, disons 35 couches. Cela garantit que nos arbres sont correctement posés et que notre joueur est derrière notre arbre. Nous pouvons le tester. Si vous avez un œil attentif, vous remarquerez que les arbres sont empilés correctement et notre joueur passe derrière nos À ce stade, nous avons atteint un moment très important. Suivez-nous. Je le fais vraiment. Tu dois nous suivre. Prends juste un moment. Levez l'un de vos bras en l'air. Allez. Assurez-vous de le faire. Lève un bras en l'air. Maintenant, descendez le plus loin possible derrière vous. Tu es en train de faire ça ? Bien. Maintenant, tapez quelque part au milieu de votre dos. Excellente. Tu viens de t'étirer. Mais surtout, vous vous êtes donné une tape dans le dos bien méritée . Bravo Votre jeu est terminé et le fait d'avoir atteint ce stade signifie que vous êtes l'un de nos meilleurs étudiants et que vous avez la persévérance d'un vrai programmeur. Bravo Tu as vraiment bien fait de t'avoir. Je pense qu'il est temps de vous asseoir détendre et de profiter de ce que vous avez créé. Pourquoi ne mets-tu pas tes amis et ta famille au défi de jouer à ton jeu ? Hé, si tu veux ajouter un mécanisme secret qui rend le jeu plus difficile quand ils jouent, qui suis-je pour en juger ? C'est ton jeu. C'est grâce à votre persévérance et à votre persévérance que vous avez obtenu un travail fantastique et bravo.