Bienvenue, mes collègues développeurs de jeux.
Cette vidéo sera un peu plus longue car c'est
l' une des fois où je
n'étais vraiment pas sûr de ce que nous allons faire.
Je ne savais donc pas si je voulais en faire
un déclencheur ou si je voulais en faire un objet solide.
Mais de toute façon, quand nous traversons
cela, mais rien ne se passe,
mais si nous l'avons traversé,
vous pouvez voir que nous pouvons le briser. Est-ce que c'est cool ?
Et il disparaît tout seul après quelques secondes.
Ne perdons donc plus de temps.
Assurez-vous de mettre votre concentration SCAP sur.
J'ai de minuscules erreurs
et quelques hésitations pendant ce temps,
mais ne vous inquiétez pas, j'ai tout expliqué
autant que possible.
Commençons donc.
Oh, d'accord, il est donc
temps d'ajouter quelques objets cassables.
C'est tout l'objet de la section.
Nous sommes à la deuxième vidéo et nous n'avons
toujours rien ajouté à détruire.
Je vais donc aller dans mes sprites ici.
Et je vais l'agrandir légèrement.
Sur cette voie. Je suppose que nous pouvons même
faire en sorte que ces icônes soient un peu plus petites, donc elles s'adaptent bien.
On y va. Je vais donc
cliquer avec le bouton droit de la souris pour créer un nouveau dossier,
et ce seront les objets cassables.
Des objets cassables,
et c'est pourquoi nous créons toujours des dossiers.
Imaginez que si nous avions tous les
sprites dans un seul dossier,
cela aurait été un cauchemar.
Quoi qu'il en soit, nous allons aller dans les ressources,
comme vous pouvez le voir ici,
nous avons beaucoup de bots à détruire.
Je vais choisir le bon.
Je vais choisir l'objet blanc cassable.
On y va.
Nous sommes soudainement ici.
Et nous pouvons aller de l'avant et disséquer cela.
Je vais donc m'assurer que c'est multiple.
Et je vais le faire peut-être hors
écran et je vous le ferai savoir quand j'aurai fini.
OK.
Bon retour.
Laissez-moi vous dire ce que j'ai fait.
Je ne voulais pas vous ennuyer avec
tous les détails, alors tout ce que j'ai fait,
j'ai coupé 32 par 32 la boîte blanche.
Nous avons trois parties différentes ici et
trois pauses différentes sont utilisées.
Les W1, W2 et W3 décrivent le plus gros break pop.
Et je m'assure que nous avons
ces trois petites pièces ici.
Ils seront utiles plus tard.
Je vais donc ignorer tout changement.
J'ai également créé une animation pour les parties à vélo.
Donc vous y allez, vous pouvez le voir se rompre.
Nous allons nous assurer à partir de
maintenant d'aller au brisable.
Pour que vous puissiez voir le blanc acheté cassé,
assurez-vous qu'il ne boucle pas.
Nous allons sauver tout cela.
Maintenant, le pot de freinage,
je vais ajouter un Box Collider d'année
ou une circulaire plus non,
pas une toile. Supprimez le composant.
Je vais ajouter un collisionneur de boîtes.
Donc Box Collider 2D.
on va contourner ça,
je vais le rendre un peu plus petit.
Je fais la taille des pixels sur le sprite.
Permettez-moi de vous montrer ce que j'ai fait aussi.
Donc, vous ne vous embêtez pas.
Vous pouvez voir que le pot est
peu près d'une bonne taille pour le joueur.
Gardons ça comme ça.
Et ce que nous pouvons faire, c'est que nous pouvons aller de l'avant et y arriver,
eh bien, cela dépendra de vous.
Voulez-vous que votre objet puisse vouloir
que nous puissions entrer en collision avec cet objet,
ou nous voulons simplement en faire un déclencheur.
Je vais garder ça un déclencheur pour l'instant,
plus tard, si vous voulez changer cela,
si vous voulez avoir des interactions avec les pots,
vous voulez qu'ils vous empêchent de les traverser.
Que je vous recommande de le rendre non déclencheur.
Sachez quoi, gardons ça comme un non-déclencheur.
Et pour cette raison, nous allons y ajouter
un corps rigide et le rendre statique.
OK ?
C'est donc statique. Il ne bouge pas,
mais on peut le briser.
Que devrions-nous faire d'autre ici ?
Je pense que c'est tout. Pour l'instant.
Sauvegardons cela et allons
y ajouter un script,
qui va s'appeler les taureaux de rupture.
Donc, dans les scripts,
parce que nous voulons ajouter un comportement évidemment
à l'endroit où nous voulions casser.
Allez, d'accord, alors voyons l'interface utilisateur du joueur des ennemis,
et créons un dossier ici.
Et faisons-le pour le cassable.
bulles de casser s'ouvrent un clic droit sur Créer n'aura probablement
pas de script différent
ou d'un autre script, d'accord, donc cassable.
Mais ce qui est bien de créer un dossier et de définir
un seul script ici
que nous puissions le voir de l'extérieur.
Donc, et les scripts ici,
nous pouvons aller de l'avant et vérifier le
cassable afin de pouvoir le trouver immédiatement.
Je vais ajouter à la partie freinage. On y va.
Nous avons les bulles de rupture.
Ouvrons ça ici.
Et que devons-nous faire ?
Eh bien, parce que nous n'utilisons pas de déclencheur,
nous allons utiliser quelque chose appelé «
on collision enter ».
Ainsi, vous pouvez voir en cas de collision lorsque
le corps moins rigide du collisionneur a commencé à
toucher un autre collisionneur ou un corps rigide,
et nous nous assurerons qu'il s'agit de 2D.
Ici, vous pouvez voir qu'au lieu d'autres,
nous avons la collision.
Donc, ce que nous allons faire, c'est que nous allons vérifier
si la balise collision.com
a une étiquette comparée ? Non, ce n'est pas le cas.
Tag.
Ou nous pouvons accéder à la balise collider.com.
On y va. Maintenant, nous avons
le collisionneur de la collision.
Et nous allons vérifier si c'est le joueur.
Et si c'est le cas, nous allons détruire
l'objet du jeu.
Excusez-moi, l'objet du jeu.
Gardez ça.
Et nous irons également ici, vérifierons
la présence de l'animateur
et verrons quel type de déclencheur il fait.
Nous devrons donc créer une idole ici.
Nous allons donc examiner les animations des actifs.
Ou est-ce, où est-il ?
Où est-il ? Cassible ?
Partie blanche, inactif.
Cela signifie que cela ne bouge pas
parce que vous pouvez évidemment voir que nous
ne voulons pas le faire
casser dès que nous commençons le jeu,
nous voulons le garder comme ça.
Ce que nous pouvons faire, c'est cliquer avec le bouton droit ici
et définir cet état comme état par défaut. Alors, tu y vas.
Et nous allons l'ajouter ici.
Créez une transition qui aura une sorte de déclencheur,
c' est-à-dire la pause,
Scott pour plus de simplicité,
pas de temps de sortie, durée de transition 0.
Et je vais y aller de l'avant et faire la pause.
Ensuite, nous retournerons ici.
Nous allons le faire,
parce que c'est le cas, ce ne sera pas trop compliqué.
Je vais juste chercher l'animateur immédiatement.
Donc ici, je vais dire si la collision en
tant que joueur avant de détruire ou, en fait
, vous savez, nous allons supprimer cela.
Je vais aller de l'avant et obtenir
le composant, l'animateur.
Et dans tor dot set déclencheur et va être le râteau.
Et je sais que c'est une référence de chaîne et je ne l'ai pas copiée,
mais j'espère que la rupture est facile à comprendre.
Ensuite, je vais créer un vide public.
Détruire.
Eh bien, non, détruisez.
Juste, appelons juste que ça détruise.
Et peut-être voulons-nous ajouter un peu de
froid pour ne pas vouloir que le pot soit détruit.
Laissez-moi vous dire ce que je cherche ici à faire.
Quoi sans coroutine,
détruisez simplement l'objet du jeu.
Ce que je voulais dire, je voulais
utiliser une co-routine pour retarder
la disparition des petits morceaux ici.
Mais d'un autre côté, j'ai pensé qu'il serait peut-être encore mieux
régler ça juste ici,
appelé l'événement après quelques secondes,
ou nous pouvons choisir peut-être la troisième seconde,
aller régler l'événement.
Quelle est la fonction ? Détruisez, sauvez ça, lancez le jeu.
Maintenant, nous devrions voir que dès que
nous entrons en collision avec le pot,
il est détruit.
Et voilà,
l'objet a disparu.
Et ce que nous pouvons également faire, c'est, par exemple,
que nous pouvons aller dans l'animation de
la partie freinage et de l'animation.
Dès que le pot se casse,
disons qu'il se brise ici.
Ce que nous pouvons faire, nous pouvons commencer à enregistrer
puis éteindre le collisionneur de boîte.
Vous verrez donc qu'en ce moment la boîte est bonne quand vous verrez
entièrement le pot et quand il se casse, nous y allons.
n'y a plus de collisionneur.
Et si nous regardons de près,
nous pouvons choisir le collisionneur et peut-être le déplacer un peu
avant qu'il ne se brise réellement.
On dirait donc que nous l'avons traversé.
Alors, sauvegardez ça. Lancez le jeu. Oh, non. Parlez.
Non.
Pas comme ça.
Désolé.
Oh, donc il enregistre que j'ai
oublié d'appuyer sur le bouton droit. Nous gérons le jeu.
Nous avions le pot.
Vous y allez aux pauses.
On a donc l'impression que nous l'avons traversé
et que vous pouvez voir la pop disparaître.
Ok, super.
Ce que cela a fait,
ce que nous devons faire, c'est que nous devons nous
assurer que ce pot se brise,
pas lorsque nous le traversons,
nous voulons qu'il se brise lorsque nous le traversons réellement.
Et je pense que ce sera un défi pour vous.
Et votre défi sera de renvoyer
une valeur booléenne.
Ce que j'ai ressenti c'était de casser lorsque nous courons,
eh bien, quand nous sommes fringants,
nous voulons créer
une méthode int player controller à laquelle nous pouvons accéder à partir de la pause que
nous allons écrire.
Pourquoi est-ce que c'est ?
Eh bien, nous devrons créer une méthode qui
renvoie un bool au lieu d'un vide.
Et cette méthode devrait retourner
vraie si nous sommes fringants et faux,
si nous ne le sommes pas et fausse sinon
, ce n'est pas w, c'est raide.
Par conséquent, nous devrons utiliser les joueurs,
la vitesse ou la vitesse de déplacement du joueur
ou tout ce que vous voulez utiliser.
Alors pourquoi créons-nous cette valeur de retour ?
Parce que dans les bulles de rupture,
nous voulons nous assurer que le joueur est vraiment fringant.
Nous ajouterons donc à
la condition dans l'entrée de collision on.
Nous voulons nous assurer qu'il ne s'agit pas uniquement de la couche.
Nous voulons nous assurer que c'est le joueur
qui vient de frapper notre pot.
Ainsi, ces informations créent
la méthode qui renvoie une valeur booléenne.
Mettez la vidéo en pause dès maintenant.
Allez relever le défi. Va faire de ton mieux.
Je sais que nous n'avons pas fait ce type de
méthode qui renvoie autre chose que nulle.
Mais je sais que vous êtes prêt à essayer de faire de votre mieux.
Bon, bon retour.
J'espère que ce n'était pas trop dur.
Je vais aller dans le contrôleur de couche.
Bon, alors quel est le problème ici ?
Vous pourriez dire que, en fait,
je veux juste accéder au mouvement actuel.
Et je peux immédiatement savoir
quelle est la vitesse du joueur.
Mais ici, vous pouvez voir que
le mouvement actuel est privé.
Donc, ce que nous devrons faire pour
créer une méthode ici.
Et cette méthode va être
une couche bool publique, c'est fringant.
Et que faisons-nous ici ?
Nous allons vérifier si
la vitesse de déplacement actuelle est égale à la vitesse de tiret.
Nous aurions pu aussi utiliser la bougie,
mais ils peuvent ne pas être équivalents.
Où est-il ?
Où réinitialisons-nous le numérateur ?
Ainsi, il peut tirer le tableau de bord n'est pas
équivalent à quand la vitesse de déplacement s'arrête.
Ainsi, nous pouvons tirer le tableau de bord, c'est juste pour refroidir le fringant
tandis que la vitesse de déplacement est
immédiatement liée à la longueur pointillée.
Donc, ici,
si la vitesse actuelle est égale à la vitesse du tableau de bord,
nous reviendrons vrai.
Sinon, nous allons retourner faux.
Et au fait, nous aurions pu
faire quelque chose de similaire à cela,
que je puisse les supprimer.
Et comme vous pouvez le constater, c'est beaucoup plus propre.
Pourquoi ? Parce que nous n'avons qu'une seule ligne de
code sous les instructions if and else.
Sinon, nous n'aurions pas pu utiliser cette façon.
Maintenant, nous l'avons en tant que public.
Nous revenons au cassable.
Nous allons aller de l'avant et
créer un booléen au cours de la quatrième année.
Nous détruisons le pot après avoir vérifié la collision,
évidemment parce que nous ne voulons pas toujours connaître la vitesse du joueur à
moins que ce
soit le joueur en collision, il suffit de frapper.
Je vais donc y aller et créer un livre.
Et ça va être une couche, c'est fringant.
Et cela va être égal au
composant d'objet de jeu de points de collision.
C'est donc un peu différent de celui que nous utilisons un déclencheur.
Et ici, nous allons simplement obtenir
la manette du joueur.
Et nous allons vérifier si
la couche est fringante, sauvegardez-le.
Donc maintenant, cela devrait renvoyer vrai ou faux.
Et ici, nous allons vérifier si la couche est fringante.
Ensuite, nous allons commencer l'animation.
Et quand l'animation commence à
pauses et détruit éventuellement l'objet du jeu de bâton.
Une chose que je voulais mentionner
ici, c'est que nous avons utilisé collider.
Ici, nous utilisons l'objet du jeu.
Nous aurions pu utiliser l'objet du jeu ici, sauf cela,
et cela aurait fonctionné de la même façon,
mais la collision, vous pouvez voir ici,
elle renvoie une collision.
Il n'a pas la certitude,
disons les méthodes dont nous avons besoin.
Donc, si je vais par exemple,
et à l'autre endroit,
donc la sortie de niveau par exemple, ici,
le collisionneur 2D est différent de la collision 2D.
collision fait donc partie du
retour détaillé à la physique.
Si nous regardons dans la sortie de niveau,
le collider 2D renvoie en fait les objets du jeu
afin que nous puissions accéder immédiatement
à la balise alors qu'en ce qui concerne la collision,
c'est juste un peu différent.
Je vous recommande de consulter la documentation d'Unity, de
voir quelle est la différence entre collision collisionnaire.
Ce sont de petites choses,
mais sachez simplement que nous accédons d'
abord à l'objet du jeu, puis nous utilisons le tack de comparaison.
Avec cela hors du chemin,
nous allons sauver tout cela.
Revenons dans notre jeu.
Lançons le jeu.
Essayons de briser la marche patois.
Bon, tu y vas. Il n'est donc pas cassé.
Et si j'essayais de me lancer,
oups, j'ai oublié les deux tirets inférieurs.
Si je me défonce. OK.
Cela ne fonctionne pas non plus.
Pourquoi est-ce que c'est ?
Bon, donc c'est cassé. Vous y allez.
Essayons encore une fois parce qu'
il y a quelque chose qui a été un peu lent.
Et je crois que le problème réside dans le jeu.
Attendez une seconde.
Je pense donc que je veux déplacer ça,
la chose qui gère le collisionneur.
Je veux le déplacer jusqu'au début.
Sauvez cela parce que je veux que le collisionneur
disparaisse dès que nous commençons à casser l'argent.
On y va donc.
Vous pouvez voir maintenant que nous pouvons simplement passer à l'autre.
Maintenant, si vous voulez en ajouter un peu plus,
peut-être que je ne connais pas l'authenticité
que nous voulons le garder juste une
minuscule seconde avant d' aller de l'avant
et de le casser, c'est votre choix.
Assurez-vous de choisir ce que vous voulez.
Laissez-moi voir.
Ok, donc si je veux bouger,
si vous ne déplacez que le pot cassable,
choisissez la deuxième ligne.
Vous y allez et vous pouvez voir que vous pouvez le déplacer.
Alors, sauvegardez ça.
Maintenant, tout fonctionne.
Essayons de le traverser.
Cela ne marchera pas. Nous avons traversé.
Il ne fonctionne pas avec le tiret, il se brise.
Super.
Allons nous assurer que nous mettons en scène tout.
Et dans la vidéo suivante,
nous voulons montrer les morceaux cassés de notre pot.
Nous voulons donc avoir des morceaux qui se répandent.
C'est pourquoi j'ai créé et les sprites dans
les créances ici nous avons les P1, P2 et P3.
Ce sont des pièces qui
vont se poser autour de cela et elles
ajouteront un peu plus de sensation de cassure des pots.
Nous voulons donc que les pièces volent
un peu, puis disparaissent lentement,
ce qui rend les choses un peu plus authentiques,
un peu moins rigides.
Je vous verrai alors.