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.