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