Transcription
1. Intro: Bonjour et
bienvenue dans mon cours
sur la création de votre tout
premier jeu mobile à sur la création de votre tout
premier jeu mobile l'aide du
moteur de jeu Unity intégré
au langage de
programmation orienté objet C Sharp. Le jeu mobile est un secteur
en croissance rapide d'un milliard de dollars. Et en 2021, les
jeux mobiles Alert représentaient
59 % du chiffre d' affaires total de l'
industrie du jeu dans le monde. Créer un jeu amusant et interactif et être une source incroyable
de revenus passifs. Et les compétences nécessaires au développement jeux ou de logiciels en général sont
aujourd'hui très demandées. Si vous avez pris la décision
judicieuse d'
apprendre à développer des jeux
mobiles, mais que vous faites un mouillage pour commencer, vous êtes au bon endroit. Dans ce cours, nous couvrirons toutes les bases de l'immunité
C-sharp, ce qui vous permettra de faire de
votre jeu de rêve
une réalité sans aucune
expérience préalable requise. Couvrira également tous les aspects principaux
du développement
et de la conception de jeux
mobiles, boucles
de jeu aux systèmes de menus et bénéficiera de commentaires
pour ajouter de l'intégration. Ou comme indiqué précédemment, nous construirons notre jeu à l'aide du moteur de jeu Unity
intégré à C-Sharp, l'
un des outils intuitifs les plus utilisés pour développement de jeux
mobiles, à la
fois l'eau. Après avoir terminé ce cours, vous construirez votre
tout premier
jeu monétisable Fanta et acquérerez les compétences
et les connaissances nécessaires pour améliorer et changer le
jeu pour en faire un euro. De plus, vous aurez
créé cette ligne noire, n'est-ce pas ? Construire un jeu mobile peut
être un tableau de tâches délicat. Le guide d'une expérience, l'urine si vous déménagez là où elle sera beaucoup
moins intimidante. Qu'attendez-vous ? Investissez en vous-même pour apprendre les bases du développement
mobile, vous pouvez commencer à organiser
votre première réunion.
2. Mettre en place: Salut et bienvenue. Maintenant, comme mentionné dans
la leçon précédente, les outils que nous
utiliserons pour passer à autre chose, le parcours de
développement de jeux, notre unité et notre C-sharp, qui sont vrais, puissants ,
fiables et surtout, outils gratuits pour le développement de jeux. Pour commencer ce cours,
vous devez
installer Unity ainsi que l'éditeur de
script tel Visual Studio pour coder C-Sharp dans le processus d'installation ces
deux éléments sont plutôt simples. Cependant, je vais
brièvement passer en revue pour éviter toute
erreur potentielle qui pourrait survenir. Tout d'abord, rendez-vous sur unity.com, barre
oblique pour
télécharger la dernière
version d'Unity Hub. Sélectionnez l'un des liens de
téléchargement bleus
présents à l'écran qui liens de
téléchargement bleus
présents à l'écran convient à votre plateforme et suivez le
processus d'installation à partir de celui-ci. Cette application vous
permettra d'ajouter, de supprimer et de mettre à jour diverses installations
d'Unity sur votre appareil. Lancez ensuite Unity Hub et
assurez-vous que la version d' Unity que vous installez en tant que développement
mobile est cochée. Je vais démontrer
ce processus en installant la dernière
version d'Unity actuellement disponible sur mon appareil en
vérifiant le mode Livres Android
et iOS, en acceptant les
conditions générales et en cliquant sur Oui, si une invite apparaît, l'installation
commencera alors. Une fois cela fait, rendez-vous sur Visual
Studio.Microsoft.com, barre
oblique de transfert télécharge le propre éditeur de code de Microsoft. Cliquez sur le bouton
Téléchargement gratuit sous le titre de la communauté pour installer la dernière version
de Visual Studio. Une fois téléchargé
et installé, vous serez prêt à commencer à développer votre tout
premier jeu mobile.
3. Les bases: Hé, là. Lors de notre dernière leçon, nous avons installé
Unity et Visual Studio. Et ce faisant, configurez notre environnement
de développement. Nous devons maintenant créer le fichier de projet pour
notre jeu mobile. Pour commencer, lancez Unity Hub et sélectionnez le
bouton bleu Nouveau sous Projets. Une fois que la
fenêtre de création apparaît, entrez le nom de votre jeu mobile et sélectionnez l'emplacement
du fichier de votre projet. Ensuite, veillez à
sélectionner le modèle 2D. Évitez les modèles
mobiles générés automatiquement , car nous ne
les utiliserons pas pour ce cours. Une fois que vous avez terminé,
sélectionnez Créer, New Jersey générera un
tout nouveau projet pour vous. Cela peut prendre un certain temps, donc prêt à attendre un certain temps. Une fois que votre projet est
créé dans Unity, le chargement est effectué. La première chose que nous allons
faire est de nous assurer que Visual Studio est défini
comme éditeur de code. En haut de votre écran,
sélectionnez Modifier les préférences. Ensuite, une fois que cette fenêtre apparaît,
accédez aux outils externes et
assurez-vous que la version de Visual Studio que
vous avez installée est sélectionnée comme éditeur de script
externe. Si ce n'est pas le cas et ne fait pas partie
des options déroulantes, sélectionnez l'option de navigation
et recherchez et double-cliquez sur le fichier EXE de points à partir de votre emplacement
installé Visual Studio. Avant de commencer à entrer dans la mise en page de Unity Editor, je vais commencer par quelques concepts pertinents pour les alcools, qui devrait
faciliter tout ce que je comprends. Je vais commencer par les bases. De toute évidence, nous allons
utiliser Unity comme moteur de jeu. Si ce terme n'est pas familier, il
suffit de le considérer comme
un outil que nous utilisons pour simplifier certains aspects
du développement de jeux. Eh bien, cela facilite certains de nos
obstacles au développement de jeux. Nous devrons inévitablement écrire notre propre code et notre
logique. À un moment donné. Nous allons écrire ce
code dans Visual Studio, les codeurs que nous avons
installés précédemment. Cela va essentiellement formater
et coder toutes
nos logiques afin de faciliter
l'analyse et la compréhension. Il écrira
le code réel dans le langage de
programmation c-sharp. Les bases de tous
ces outils
seront largement abordées
dans ce cours. Ne vous inquiétez pas si quelque chose ne
semble pas familier. En plus de cela, il
y a quelques concepts d'unité et de
C
qui seront utiles à comprendre avant
de commencer à en profiter, vous obtiendrez beaucoup de
concepts et C-sharp peut être plus utile à ceux qui le font Je ne sais pas comment se développer
dans aucune langue. Donc, si vous avez une certaine expérience de
codage, vous pourrez peut-être ignorer
quelques points suivants. Pendant le codage. Et le C-sharp est un sujet extrêmement
long qui ne
peut être expliqué en
peu de temps. Quelques concepts peuvent être utiles à connaître avant de
commencer à développer, commenceront par les procédures. Procédures généralement
identifiables tout au long ce cours par le mot de
code vide, ou les zones de notre code
que nous appelons à certains moments pour
accomplir certaines tâches, telles que le calcul des écoles secondaires pour générer des segments de carte. L'autre
concept principal de codage que nous allons
aborder avant de
commencer est celui des variables. Vous pouvez penser à des variables. C'est comme des espaces de stockage pour
différents types de données. Le type de données
pouvant être stockées est déterminé par le
type de variable. Par exemple, une
variable entière permettant de stocker un nombre et une
variable de chaîne stockent du texte. Maintenant, dans l'unité, il y
a quelques autres concepts qui peuvent être utiles à
comprendre avant de commencer. Un objet est tout ce que nous pouvons
attribuer de la logique dans notre jeu, tel que le personnage
va alimenter l'école. Lorsque nous appelons sprite, nous faisons référence à la
conception artistique d'un personnage. En outre,
comme une façon d'unité de différencier les
sections de votre jeu, comme la section de menu principal de
la section de sélection de niveau
dans différents niveaux. Et encore une fois, il est cependant possible de créer votre
jeu et une seule scène. Et pour des raisons de simplicité, nous le ferons
dans ce tutoriel. Ce n'est pas un problème
pour nous car notre jeu ne sera
pas incorrectement exigeant si nous ne fabriquions pas un jeu de tir à la première personne
avec des graphismes incroyables.
Cependant, en utilisant plusieurs
scènes, nous serions conseillé. Enfin, lorsque nous faisons
référence à des ressources, nous faisons référence aux fichiers que
nous utilisons dans notre jeu tels que les fichiers PNG va MP3. Ne vous inquiétez pas si tout cela
semble être un peu trop important car nous allons passer en revue
tout au long du cours, la seule chose qui
doit s'enfoncer dans l'instant présent sont les concepts fondamentaux et
fondamentaux de
l'unité et du C - pointu. Maintenant que nous avons
passé en revue les bases de
notre moteur de jeu et de notre langage
de programmation. Commençons par la
mise en page de l'éditeur Unity. Lorsque vous ne tirez pas,
la première fois, vous serez accueilli par cette porte d'aménagement
plutôt intimidante. Si cela semble déroutant
ou compliqué car il deviendra beaucoup
plus familier avec le temps. De plus, de nombreuses fonctionnalités
que vous pouvez voir un éditeur dont nous n'aurons pas
besoin dans ce cours. Tout en haut de
l'éditeur Unity
se trouve un menu dans lequel vous pouvez aimer de
nombreuses autres applications, enregistrer les
fichiers de chargement de votre projet, accéder à l'aide, etc. enregistrer les
fichiers de chargement de votre projet, un menu dans lequel vous pouvez aimer de
nombreuses autres applications,
enregistrer les
fichiers de chargement de votre projet, accéder à l'aide, etc.
à utiliser principalement pour naviguer dans l'unité. En dessous de cela, nous avons
notre hiérarchie de scènes. Il s'agit d'une liste de tous les objets
actuels de notre scène. C'est ici que nous
stockons tout. Je suis un jeu allant de notre personnage à un composant de carte en passant par nos objets de conception
visuelle. À quelques exceptions plus
complexes. Si un objet n'est pas affiché
dans la hiérarchie des scènes, il ne sera pas présent dans notre jeu. En dessous, nous
avons un menu de ressources,
qui contient la liste de
chaque fichier stocké dans notre répertoire de jeux. Si nous voulions ajouter une chanson à notre jeu ou un sprite de personnage nous avons importé dans cet
emplacement dans l'éditeur Unity, ce
qui nous permet de l'ajouter
à notre jeu. Sur la droite se trouve l'inspecteur d'
objets, ce qui nous permet de modifier les différentes propriétés
des objets de notre scène. Cela inclut leur position
dans notre scène, leur taille, rotation, la logique qu'ils leur
ont assignée,
ce à quoi ils ressemblent, etc. Enfin, au centre de l'
additif, nous avons notre CGI. Cela nous permettra de voir
comment le jeu et l'action testés, essayer des visuels et bien plus encore. Vous pouvez le
considérer comme un aperçu de ce que nos joueurs verront
lorsqu'ils joueront à notre jeu, ce qui nous permet de tester notre projet sans
le construire, tout le temps. L'emplacement et la taille
de toutes ces zones dans
votre éditeur peuvent désormais différer en
fonction de la disposition de votre fenêtre. Si vous utilisez la mise en page
par défaut comme moi, vous devriez ressembler, mais vous pouvez modifier
cette couche au fur et à mesure que vous vous familiariserez davantage pour
voir ce qui fonctionne pour vous. Encore une fois, si tout cela est
intimidant, ne vous inquiétez pas. Vous n'avez pas besoin de vous
souvenir de tout que nous avons examiné dans cette vidéo, mais il peut être avantageux de la regarder
à nouveau, car vous pouvez comprendre
certains des concepts, la deuxième fois. Cela n'est en aucun cas nécessaire. Cependant, car nous couvrirons toutes ces bases
tout au long du cours lorsque nous les rencontrerons.
4. Créer notre personnage: Salut, et bon retour. Les trois dernières
vidéos que nous avons abordées l'introduction de mon cours, les bases de l'unité et la mise place de notre environnement de
développement, tous les concepts que
nous devons connaître. Mais le moment est
venu pour nous de
commencer à créer
notre jeu mobile. Maintenant, si vous regardez mon écran, vous verrez que j'utilise la mise en page de l'éditeur Unity par défaut. Et sous les actifs,
j'ai tout ce qui est automatiquement généré lorsque
vous créez votre projet. Et ce dossier Assets de cours, que vous n'aurez pas. Tout ce dossier
Assets de cours il est, est, c'est tous les actifs. Donc, le courant est
juste des fichiers PNG, mais plus tard, lorsque j'ajouterai plusieurs jeux
seront également les MP3 et les versions précédentes. Si j'en ai besoin, tout ce j'aurai besoin pour mon jeu et tous ces éléments, je vais relier sous cette vidéo dans
la section Ressources. Vous devez le faire
si vous devez trouver la section ressources
de cette vidéo, télécharger les ressources du cours, le fichier
zip, extraire le fichier zip, sorte que vous ayez juste
un dossier normal. Je dois placer ce dossier dans le dossier des ressources de
votre projet Unity. Et une fois que vous l'avez
fait, votre écran devrait ressembler exactement au
mien sur les actifs. Notre première tâche dans Unity
va maintenant consister à créer
notre personnage. Cela ne va pas
être incroyablement chaud pour
le moment , car
nous n'allons
pas ajouter de logique complexe. Nous n'allons pas
ajouter de scripts. Nous allons simplement créer le personnage que
nous allons utiliser comme personnage principal pour
le reste du parcours. Nous allons le faire en passant ici à la hiérarchie des objets,
en cliquant avec le bouton droit de la souris et en
sélectionnant Create Empty. Nous allons maintenant
nommer notre joueur. Je le nomme jouer. Et sur la droite
ici, nous pouvons voir toutes
les propriétés de cet
objet actuellement. Actuellement, sa position
sur l'axe X, axe Y et l'axe Z, que nous n'
utiliserons pas vraiment car il s'agit d'un jeu 2D. Cependant, je
vous recommande de toujours faire ce 0. Maintenant, ce que nous allons
devoir faire, c'est que nous allons devoir
sélectionner cet outil ici, qui est l'outil de déplacement. Cela, en fonction de votre version d'Unity, devrait être ici. Si vous avez une
version antérieure, elle se trouve peut-être ici, mais trouvez l'outil Déplacer et vous devrez faire
glisser cela où vous le souhaitez. Vous pouvez également le faire simplement
en modifiant ces valeurs. Mais évidemment, nous ne pouvons encore rien
voir parce que cet objet
n'a rien assigné à cet objet. Pour en faire réellement
notre personnage. Nous allons ajouter
un moteur de rendu de sprite, ce qui nous permet d'ajouter un sprite
que nous avons déjà couvert, un fichier PNG à cet objet. Je l'ai déjà tapé, mais pour votre cas, tapez le rendu sprite et
sélectionnez celui-ci ici. Et vous pouvez voir ici que ce doit être tous les
paramètres par défaut dont vous disposez. Et il y a un sprite
ici qui n'
a rien à
lui assigner. Ces petites boîtes
ici sont celles que nous allons attribuer des sprites
ou des fichiers audio, n'importe quoi lorsque nous ajouterons ces composants à nos objets. De toute évidence, vous allez
dans le dossier
des ressources du cours si
vous l'utilisez. Et nous allons vouloir
faire de notre sprite un carré. Cliquez donc sur le lecteur. Et nous allons faire
glisser cette place jusqu'ici. En ce moment. C'est plutôt gros. Ce qui peut vous poser un
problème si vous essayez
de créer un jeu mobile. Nous allons donc
changer cette propriété ici
sur tous nos actifs. Sélectionnez le cercle, maintenez enfoncé, décalez le carré
et le triangle. Et on va faire les
pixels par unité avec 10000. Une fois que c'est fini,
nous devrions avoir une brillance beaucoup plus petite. Maintenant, je pourrais continuer à réduire
cela jusqu'à ce que j'en ai besoin, mais à la place, sélectionnez
cet outil Rec. Cliquez ici, maintenez la touche
Maj enfoncée et déplacez-la comme ceci afin que je puisse mettre à l'échelle
mon sprite comme il me faut. instant, c'est un sprite
bien meilleur. Je dirais qu'on va peut-être les
rendre un peu plus gros. C'est beaucoup mieux. À propos, il convient de
noter que je navigue dans
l'éditeur Unity à l'aide ma molette de défilement pour
zoomer et arrière et
maintenir le clic droit enfoncé
pour me déplacer dans la scène. C'est principalement comme ça que je
navigue dans l'éditeur Unity. Il y a différentes façons,
mais celle-ci fonctionne pour moi. Ensuite, nous pouvons voir l'échelle définir ces très grandes valeurs de grippe et l'échelle z est définie,
ce dont nous n'avons pas besoin. Faisons donc ça 0. Et faisons ces 300,32. Il ne modifie pas ou ne
correspond pas au montant, et il est simplement plus facile pour l'ordinateur
de stocker ces valeurs. Juste ici, nous avons notre
sprite, il n'est qu'un carré. Si nous cliquons sur cette
fenêtre de jeu ici, nous pouvons voir à quoi cela
ressemblera une fois que nous jouerons au jeu. Et en fait, si nous cliquons sur
ce bouton Jouer en haut, il testera notre jeu et
exécutera tout. Et on voit évidemment
que ce n'est qu'un sprites. Il ne va pas
bouger, mais c'est
ainsi que notre personnage aura l'
air dans le jeu. Ce qui est important à
noter, c'est que si j'apporte des
modifications pendant
cette fenêtre de jeu, ils ne l'enregistrent pas. Par exemple, je
l'ai rendu très long, puis j'ai
cliqué ici. Ce changement ne sera pas sauvegardé si je l'ai fait dans la vue de la scène, mais il serait transféré. C'est exactement comme ça que fonctionne Unity. Vous pouvez apporter de légères modifications à votre jeu pendant que
vous y jouez. Vous pouvez tester leur fonctionnement et je verrai que
vous n'épargnerez pas. Gardez cela à l'esprit. Maintenant, notre personnage est à
peu près fait pour la plupart, nous avons fait à peu près
tout ce nous pouvions, nous ne pouvons pas y faire grand-chose d'autre pour le moment
parce que nous n'avons pas appris d'autres concepts. Mais pour l'instant, la
seule autre chose que
nous allons faire est de
changer de couleur. Faisons de lui un joli personnage
jaune. Comme nous pouvons le constater, cela se démarque un peu mieux dans notre scène. J'ai eu notre personnage jaune sur
fond bleu. Je ne veux pas que cela améliorera
toute cette couche. Mais si vous avez suivi, vous auriez dû créer
votre premier personnage avec un composant de
rendu de sprite joueur hors de la fierté des carrés
ou votre propre sprite. Mais je vous recommande d'utiliser
le dossier officiel
des ressources du cours et de changer la
couleur comme vous le souhaitez. Vous pouvez même
les rendre verts ou bleus. Je vais m'en tenir
aux autres phénoliques. J'aime bien ce que ça ressemble. Si vous l'avez
fait, vous avez franchi le premier pas vers la création de
votre jeu mobile. La prochaine chose que nous
allons faire est de créer un environnement pour cet endroit. Il n'est donc pas seulement au milieu de l'abîme,
mais il fait du bon travail à tout le monde. Et je vous verrai
dans la prochaine vidéo.
5. Concevoir un environnement: Salut, et bienvenue à
nouveau dans l'unité. Dans notre dernier épisode, nous avons créé cet objet joueur et attribuons la position et l'
échelle ainsi qu' un sprite et une couleur
à cet objet. Ce que nous allons faire dans
cet épisode, cependant, c'est que nous allons créer
un environnement pour rendre notre scène un
peu plus vivante. Avant cela, nous
devons d'abord nous assurer que notre version Unity est en train construire pour la
bonne plateforme. Nous le voulons. Dans ce cas, mobile. Vous allez en haut à gauche
et sélectionnez Fichier, Build Settings, puis
choisissez une plateforme ici. Je peux sélectionner Windows
dédié plusieurs Android comme les trois modules de plateforme j'ai installés pour cette
version d'Unity. Si je voulais construire
pour autre chose, je pouvais simplement
sélectionner et cliquer sur isolation du module
Platform ou pour des solutions plus simples comme iOS,
je peux sélectionner Installer avec Unity Hub. Playstation semble avoir besoin d'une documentation
étrange, mais évidemment, nous n'
allons pas nous inquiéter à ce sujet. Je vais cependant démarrer mon jeu pour Android car j'ai trouvé qu'il était beaucoup plus facile à tester, je vous recommande exactement
la même chose. Même si vous avez un téléphone
iOS comme Audrey, je vais cliquer sur
Switch Platform et vous proposer un temps de chargement court. Il devrait s'assurer
que mon projet peut exécuter Unity pour Android. Nous allons ensuite fermer
ça et entrer dans une vue de jeu. Nous pouvons choisir la bonne
résolution que nous voulons. J'ai actuellement mis le
mien au paysage 2160181080. Vous pouvez à peu près
sélectionner l'un d'entre eux que vous voulez. Vous pouvez faire 1920 par
1080 ou même un portrait, mais je ne vous recommande pas de le
faire pour ce cours car ne fait que redémarrer
notre paysage de jeu. Nous avons maintenant le
bon rapport d'aspect. Nous allons créer
notre environnement, mais nous ne voulons pas que chaque objet d'
environnement que nous fabriquons soit présent dans une liste car cela va
devenir très déroutant. Au lieu de cela, nous allons les
commander un peu. Nous allons le
faire en utilisant des dossiers ou des objets
parents en cliquant avec le bouton droit de la souris
et sélectionnez Créer vide. Nous allons appeler
cet environnement. Et cela
va essentiellement stocker tous les
objets d'environnement que nous voulons. Cliquez ensuite à
nouveau dessus avec le bouton droit de la souris et cliquez sur Créer un vide. Et nous pouvons voir que parce que nous avons écrit un clic droit
sur l'objet, cela va créer un objet
enfant en dessous. Nous pouvons appeler ce flux. Ensuite, nous pouvons voir si nous
déplacons l'environnement, le flux se déplace avec lui
parce qu'il est parent. Nous allons définir
l'environnement sur 0. Nous allons aller de l'avant
et faire glisser le sol vers le bas. Ce que nous devons maintenant faire, c'est
ajouter un moteur de rendu sprite. Ouvrez les ressources du cours,
faites glisser le carré. Et voilà, nous avons un étage
très carré. Nous ne voulons pas carrer le flux. Nous voulons plus d'étage, d'étage. Nous allons donc y
parvenir en faisant glisser l'axe Y vers le bas et l'axe des X pour nous assurer que le flux sortant est étiré
horizontalement sur tout notre ensemble. Voir. Si nous passons à la vue du jeu, nous
pouvons voir qu'il
couvre en fait toute la
moitié inférieure de notre écran. Ensuite, la prochaine chose que
nous voulons faire est
d'ajouter un arrière-plan ou un
ciel, si vous voulez. Je vais aller dans l'environnement, cliquer avec le bouton droit de la souris et
créer un mouvement vide et appeler cet arrière-plan. Encore une fois sur un moteur de rendu de sprite, faites glisser le carré
et redimensionnez-le. Le problème, cependant, c'est que cela va passer
devant tous les autres objets que
nous avons dans notre scène. Pour éviter cela, ce que nous
allons faire, c'est
que nous allons changer cet ordre dans l'attribut de couche cet ordre dans l'attribut de couche attaché
au moteur de rendu de sprite. Si nous réglons
cela à moins dix,
nous pouvons voir que notre joueur
et notre plancher ont tous deux sauté
devant l'objet. De toute évidence, le flux
est blanc, comme c'est le cas. Vous ne pouvez pas vraiment le voir
, mais croyez-moi, ils l'ont fait si je bouge
ça et que je le rends gris, nous pouvons voir les planchers
en face. Je vais donc rendre l'
arrière-plan bleu foncé. Et on y va. La dernière chose est de faire de
notre sol une autre couleur, donc je vais rendre la grippe verte. Nous pouvons voir qu'il y a tout un jeu de couleurs de jeu
mobile très douteux. Et nous avons créé un environnement très
basique, mais nous n'allons pas nous
arrêter là. Nous voulons ajouter d'
autres objets. Maintenant, nous pouvons continuer à fabriquer
des objets comme je l'ai
fait tout ce temps, tout ce que nous pouvons simplifier un peu le
processus. Nous pouvons réellement
prendre ces ressources et les faire glisser
directement dans notre scène. Et ils créeront automatiquement
un objet avec un moteur de rendu sprite pour
nous. Le problème est que cet objet ne se trouve pas dans le dossier Environnement
que
nous avons créé précédemment, donc je vais
devoir le faire glisser donc je vais
devoir le faire glisser et le placer là. Et vous pouvez voir qu'il se déplace pour écrire exactement ce qu'
il est censé être. Ensuite, je vais
juste baisser cela, peut-être faire 0,7
par 0,7, c'était
assurez-vous de garder l'échelle x et
y la même si vous ne voulez pas étirer les choses et ce n'est
pas assez grand. Permettez-moi donc de ne pas le faire
plus petit que 0,40.4. Ensuite, je vais
le faire descendre et on peut voir le voilà, on a un pic. Faisons lire ce pic. Maintenant, c'est un très petit pic et je n'en veux pas une seule fois
cinq, j'en veux trois. Donc, ce que je vais faire, je
vais sélectionner cet objet. Je vais cliquer sur Contrôle
C. Je vais appuyer sur Control V, et il va
faire une copie exacte de l'objet dans la
même position. Nous voyons donc, nous ne pouvons pas le voir maintenant, mais si nous le traînons, voilà, il y a notre deuxième pic
et nous pouvons réellement le faire
deux fois et faire trois pointes, ce deux fois et faire trois pointes, qui semble beaucoup mieux. Maintenant, ce que nous allons faire,
c'est que nous allons aller l'avant et cliquer sur notre vue de jeu
pour voir à quoi elle ressemble. Ça n'a pas l'air mal. Je pense que ce que je vais
faire, c'est que je vais
aller de l'avant et sélectionner le flux, sélectionner cet
outil rectangle, puis le faire glisser vers le bas pour qu'il couvre toute la moitié
inférieure de l'écran
, a l'air un peu
mieux à mon avis. La dernière chose que nous allons
faire est d'ajouter des pièces de monnaie. Nous allons donc utiliser
cette méthode plus rapide que nous avons découverte en glissant directement. Je vais juste le
réduire à l'aide de l'outil Rectangle. Et je vais mettre
ça là-bas. Je pense que les couleurs de ma pièce
devraient être dorées. C'est orange.
Ça va marcher. C'est bizarre. L'or, l'orange
va être ma couleur. Je vais faire exactement la
même chose que j'ai faite avec les triangles et je vais juste le
copier et
faire trois pièces. Ensuite, je vais
sélectionner ces trois cercles en maintenant
la
touche Maj enfoncée et en le remettant à nouveau dans
l'environnement. Nous pouvons maintenant voir que notre
environnement est stocké dans cet objet. Ainsi, lorsque nous déplacons l'objet, tout
l'environnement
et bouge avec nous. Cela pourrait être utile
si nous voulions créer un jeu bizarre où l'environnement se déplace
, mais pas le joueur. Mais pour notre cas, ce sera un objet
assez statique, il est juste utilisé pour stocker tous ces différents objets d'
environnement. La dernière chose que
je pense que nous devrions ajouter, c'est peut-être un
peu de détails. La première chose que je
vais faire, c'est de rendre ça un peu plus léger parce que je n'aime pas vraiment ce que ça ressemble maintenant. Je vais évidemment vouloir les
ajuster simplement en maintenant la touche Maj enfoncée et en les déplaçant lentement comme ça. Faites la même chose avec les pièces pour qu'elles soient un
peu mieux. C'est le cas, et je vais mettre
le joueur par terre, donc ça
ressemble à un jeu. Maintenant, notre environnement s'
annonce beaucoup mieux maintenant, mais je voulais
tout déplacer, y compris le joueur un
peu vers la droite. Mais au lieu de le faire, je pense que je vais simplement déplacer
mon appareil photo vers la gauche. La caméra
va capturer chaque objet de
la scène. Nous pouvons voir que si je le déplace, nous pouvons voir que l'aperçu en
bas à droite change. Donc, si je voulais faire suivre un
script, déplacez
évidemment cela
et l'appareil photo capturerait différentes
parties de l'écran. Je vais le déplacer légèrement
vers la gauche, peut-être là. Et tout
se passe un peu mieux. À mon avis. L'environnement est essentiellement fait. De toute évidence, il
va falloir ajouter un peu de logique à tous ces
composants. Mais nous allons y arriver plus
tard dans le cours. Les pièces et les choses
ne font vraiment rien. Maintenant, on pourrait jouer tout ce qui vient
juste s'empiler. Mais nous avons fait
les premiers pas pour
construire notre environnement à l'
aide de Unity. Bon travail, et je
vous verrai dans la vidéo suivante.
6. Introduction à la physique: Salut et bienvenue à
l'unité dans la défaite en fait, comme vous vous en
souvenez sûrement, nous avons créé cet environnement très douteux pour un jeu mobile. Ce que nous allons faire
dans cet épisode, nous allons réellement supprimer certaines parties de
l'environnement que nous
compliquons un peu
trop pour l'endroit où nous en sommes à ce cours. Et nous allons attribuer la
logique à ceux qui sont partis. On dirait peut-être que nous reculons, mais ce n'est pas parce que le
but du dernier épisode n'était pas de vous apprendre comment
créer cet environnement exact. C'était pour vous apprendre à
créer de nouveaux sprites, à les ajouter, jouer
au jeu et à les commander
à l'aide de ces objets parents. Nous y sommes allés, allez
de l'
avant et supprimez toutes les pièces et les
pointes de vos scènes. Vous n'avez que le plancher de l'arrière-plan et
le joueur reste. Vous pouvez alors
prendre votre plan. Vous allez les déplacer vers haut pour qu'ils soient
suspendus en l'air. Maintenant, cette
étape est un peu préemptive, mais croyez-moi, j'ai pris plusieurs prises
de cette vidéo maintenant et chaque fois
que je ne le fais pas,
cela signifie que vous ne pouvez pas DC une des choses
que je démontre, allez-y et prenez l'
arrière-plan et vous allez vouloir rendre
cela beaucoup plus sombre. Même chose avec le sol et
même avec le plan. Maintenant, ça n'a pas l'air
génial. Oui, je suis d'accord. Mais c'est très
important car je veux démontrer quelque chose
avec un nouveau composant. Et ce composant, comme vous
le voyez, a un contour vert
autour de l'objet. Et nous ne pourrons pas voir qu'
à moins d'avoir couleurs plus
foncées, il y a
plus de contraste. Parce que
nous avons évidemment la bibliothèque et la bibliothèque et le jaune clair, ce qui est probablement les
trois pires couleurs à avoir contre le vert clair
en termes de contraste. Je vais donc aller de l'avant
et aller voir mon joueur. Maintenant que j'ai rendu mon
truc un peu plus sombre, et je veux y
ajouter un composant. Et je vais ajouter avec
Cold Box Collider 2D. Je suis sûr que, comme vous l'avez vu, il y avait deux
encombrements ici que nous pouvons sélectionner parmi le boss
planeur et le box cloud 2D. Pratiquement chaque fois que c'est le cas lorsque nous
recherchons des composants, s'il existe une option 2D, nous allons vouloir l'utiliser
car nous créons un jeu 2D. L'option 3D ne
fonctionnera plus comme ultérieurement. Nous allons ajouter un corps rigide à
quart d'objet. Il y a également un corps
2D rigide et nous allons utiliser le corps rigide 2D
car il est conçu pour les jeux 2D,
comme nous le faisons. Je veux aller de l'avant et
choisir la boîte collider 2D et cliquer dessus. Et cela va l'
ajouter à notre objet. Et ici, vous pouvez voir le contour vert dont je
parlais. Vous ne pourrez peut-être pas
le voir dans cette vidéo, mais vous devriez pouvoir le
voir sur votre écran. Il devrait y avoir un
contour vert autour de votre plante. Maintenant, ce contour est en fait
le collisionneur que nous venons d'ajouter. Voici donc le Box Glider 2D. Nous pouvons voir que nous avons un
matériau de collisionneur qui sera utilisé par le fait qu'ils sont utilisés par taille de décalage
composite. Toutes ces propriétés,
cela modifie fondamentalement la
façon dont le collisionneur fonctionne
et regarde notre objet. L'alcali ici est
parfait pour notre joueur. C'est exactement autour du joueur. La raison pour laquelle cela
se produit est que le joueur a exactement la
même taille que le sprite. Ce n'est pas toujours le cas. De toute évidence, dans d'autres actifs de
cours, nous pouvons voir que
ce carré remplit exactement la taille de son conteneur. Mais si nous utilisions un
cercle, par exemple, et que nous avons ajouté un collisionneur de boîtes, nous pouvons voir qu'il va
à l'extérieur. Cette ligne verte du
jour est maintenant l'extérieur de la chose,
car c' est la
taille de la propagation. Parce que nous utilisons un carré, nous ne devrions pas avoir ce problème. Mais c'est juste quelque chose
à noter plus tard. Si nous voulons ajouter un
collisionneur de boîtes et que nous voulions modifier les contraintes, allons passer à cette chose
qui indique Edit Collider. Ensuite, nous pouvons changer et
mettre à l'échelle le collisionneur comme nous le jugeons bon pour nous assurer qu'
il correspond à la façon dont nous le voulons. Maintenant, notre nuage de boss ici va dire
à l'unité que lorsque nous entrons en collision avec un objet et que je fais glisser ça
vers le bas et que je passe par-dessus le sol, ça va déclencher
l'événement de collision et l'unité va
réagir en conséquence. Maintenant, parce qu'il s'agit d'un collisionneur de boîtes
normal, ce qui devrait se passer
lorsque nous tomberons va
s'arrêter parce que
c'est va
s'arrêter parce que
c' un phosphite connu qui va
subir un autre type de perte, Claire plus tard, ce qui
est Déclencheur quart. Nous pouvons réellement le changer pour qu'il se
déclenche en prenant simplement cela. Ensuite, ça ne va pas s'arrêter, mais ça va
déclencher les mêmes événements. Nous allons donc l'utiliser de toute évidence. Si, par exemple, vous fabriquez
quelque chose comme une balle, comme un projectile qui
passe par l'anatomie. Vous voudriez en faire
un déclencheur parce qu' il ne s'arrêtera pas
quand il frappera l'ennemi. Ça va passer,
mais l'ennemi va toujours déclencher un événement, on peut dire, d'accord,
subit autant de dégâts. C'est un peu un peu
élevé maintenant, mais nous y reviendrons plus tard. Cependant, si nous gérons le jeu, nous pouvons voir que
nous allons
rester suspendus dans les airs,
sans entrer en collision avec quoi que ce soit. Nous ne verrons donc pas l'
effet de leur collisionneur. Et si on
déplace vraiment ça, on peut me voir tout
traverser. Maintenant, c'est pour
deux raisons principales. première est que le sol n'est pas attaché à un
collisionneur. Deux. Nous ne complotons pas vraiment
avec quoi que ce soit. Nous sommes en quelque sorte en collision avec rien parce que c'est juste un
sprite, ce n'est pas un fournisseur. Mais la deuxième
raison est en fait que, parce que nous utilisons les collisions s2 ne se produiront pas
, même si cela
a été construit pour qu'une
collision puisse avoir lieu, nous ne le verrions pas maintenant,
ce qui n'est pas génial, mais c'est très bien car
nous allons ajouter un autre composant plus tard qui nous
permettra de voir la collision. Alors, ne vous inquiétez pas à
ce sujet pour l'instant. J'essayais juste de
démontrer comment cela
ne va pas entrer en collision parce qu'
on ne connaît jamais collider. Cependant, pour y remédier, nous allons
revenir sur notre scène. On va cliquer sur plancher. Nous allons cliquer, ajouter
un autre box collider 2D. Laissez-moi voir encore une fois, cela va exactement à l'extérieur,
là où nous en avions besoin, parce que c'est la
même pratique sur les carrés. Très cool. Nous avons maintenant deux collisionneurs. Et si, par exemple, nous jouons à un jeu
et que celui-ci entre en collision ici, il s'arrêterait. Mais comme nous n'avons
aucun mouvement dans notre jeu, nous devons simplement stationner
des objets avec des surligneurs. Il ne
va pas vraiment faire quoi que ce soit comme je l'ai dit plus tôt,
si nous le déplacons ici, cela ignore les lois de la physique parce que je le
déplace en utilisant la même chose, même si je suis en mode jeu. Pour démontrer réellement
ces colites, nous allons ajouter un autre
composant et nous allons
introduire ce composant qui sera appelé
2D du corps rigide. corps rigide 2D
est fondamentalement un corps entièrement intégré. Ajoutez de la physique à ce composant
d'objet et voyez si nous survolons
différents aspects d'une physique. Il a le type de corps, le matériau, l'
automatique, la masse normale, la traînée linéaire,
l'échelle de gravité, à
peu près tout ce qui concerne physique ou du moins la
première partie de la physique, Newton's Laws est dans
ce corps rigide 2D, nous n'avons pas d'accélération,
nous avons la gravité, nous avons tout, à
peu près tout ce dont nous avons besoin en termes de physique sera couvert
par ce corps rigide. Maintenant, cela peut évidemment aussi nous
aider si nous voulions
lier quelque chose, alors faites entrer quelqu'un en collision et
faire autre chose. Nous n'allons pas encore
entrer dans ce sens
parce que nous n'allons pas
entrer dans le match d'automne. Tout d'abord, nous ne
voulons pas de sprites rebondissants. Et Second Bull, c'est
un peu plus complexe que nous pourrions aborder plus tard
lorsque nous aurons des collisions. Mais pour l'instant, tout ce que
nous allons utiliser ce corps rigide,
c'est tester
si ce personnage va tomber et arrêter parce que nous avons ajouté
les deux collisionneurs. Si je vais de l'avant et que je frappe le jeu, nous pouvons voir qu'il
fait exactement ce que nous voulions. Nous avons maintenant ajouté de la physique
à cet objet. Nous pouvons réellement déplacer cela. Et nous pouvons voir que la physique est évidemment un
peu bizarre quand je monte
parce que ce
n'est pas vraiment comme ça que tu devrais tester des choses comme si je devrais tester des choses comme si je
pouvais le déplacer et le remettre
en place et ensuite on peut Voyez ce que je veux dire. J'ai donc passé en revue la lecture parce que
je la déplace si vite. C'est une façon bizarre pour l'unité de voir ces
polices de caractères. De toute évidence, ce n'est pas comme ça que quelqu'un
va jouer au jeu. Je m'installe dans le rédacteur en chef. Mais oui, si c'était le cas,
ce serait cool de
démontrer comment la physique a
réellement fonctionné. Ce corps rigide que
nous avons ajouté au jeu est essentiellement tous les paramètres
par défaut ici sont à peu près
tout ce dont nous aurons besoin. Nous n'avons pas vraiment besoin de
changer trop d'entre eux, mais je vais en changer
quelques-uns pour rendre les choses légèrement plus agréables. La première chose que
je vais faire, c'est de
rendre la détection des collisions continue. Et cela n'est pas nécessaire. Cela fait en sorte
que vous puissiez vous assurer que vous avez vu quand je le
déplaçais de haut en bas 1, il est passé par le joueur. Et si je l'ai, si j'ai une détection continue de
collision, cette probabilité de cela
est réduite car elle vérifie continuellement
s'il est entré en collision. Je pense que les gagnants qui
sont passés par là, c' parce que je me
déplaçais à nouveau dans la scène. Mais je pense que dans un jeu réel, chaque fois qu'il se déplace, cela
entraînerait la collision. C'est juste une bonne pratique. Je l'ai généralement posé
sur mes corps rigides, mais ce n'est pas nécessaire. Drag angulaire. Je vais
aussi faire 0 et je vais aussi faire
l'échelle de gravité. Je trouve toujours que
probablement les échelles d'un ou un peu flottant que vous
écoulez des jeux devraient être un
bon endroit comme ça. Vous pouvez voir que la gravité est un
peu plus normale comme une fois que nous avons
fait tout cela, il n'y a qu'une seule chose que nous devons faire pour nous assurer que notre jeu pour notre personnage a été introduit
physique correctement. Et ça va être
gelé cette rotation. Maintenant, vous ne
savez peut-être pas ce que cela fait. Je vais démontrer
ici si je bouge ça
pour qu'il atterrisse sur ce coin, sur ce sommet, vous pouvez voir que le joueur
va tomber. Alors, tout comme la vraie vie
, adoucit le rôle dans l'atténuation. C'est très réaliste
et c'est très cool. Mais pour notre jeu, si nous laissons cette case cochée, cela pose simplement des problèmes plus tard lorsque vous
pensez à si nous bougeons et que nous frappons
quelque chose que nous n'affichons
pas pour tourner au milieu, si vous prenez un tiret de géométrie
par exemple , vous pouvez voir que, pendant que le cube tourne quand
il saute sur le carré, il n'a jamais réellement changé la rotation lorsqu'
il rebondit. Les choses sont fausses ou les choses. C'est plutôt une bonne pratique
pour les jeux mobiles, car
imaginez que nous essayons de jouer à notre jeu, puis
nous tombons comme ça. Et nous devons continuer à jouer
notre jeu comme une sorte de carrés
latéraux.
Ce n'est pas idéal. Nous allons aller de l'avant et
cliquer sur geler la rotation z. Ensuite, si nous revenons
à cet exemple, déplacez-le
là-bas et nous tombons. Nous pouvons voir que nous
ne tombons plus. Nous restons sur le bord et nous
pouvons réellement rester sur le bord jusqu'à ce que plus rien ne
soit
en collision, auquel cas nous tomberons. C'est la beauté de
ces colites et c'est
ce que fait le gel de notre rotation. Après cela, nous
avons fait à peu
près tout ce dont nous avons besoin dans cette leçon pour couvrir les bases d'une
introduction à la physique, nous pourrions également ajouter un
corps rigide à cet étage, mais comme je suis sûr que vous l'avez deviné
, le flux
tombera tout simplement comme le joueur l'a
fait et ce ne serait pas idéal. Et il est vraiment inutile ajouter notre échelle de gravité de 0 à cet objet au sol car c'est juste
un peu fastidieux. Nous n'en avons pas besoin pour notre jeu. Pour l'instant, nous avons
fait tout ce que nous
pouvions et nous avons introduit
la physique tout le jeu. Nous pouvons voir maintenant
que nous avons un Q qui tombe, ce qui est très cool. Cela va nous permettre d'
arrêter la prochaine leçon, qui
va en fait ajouter notre tout premier script C-sharp. Et nous allons faire en sorte que notre joueur puisse se déplacer.
7. Notre premier script: Salut, et bienvenue à
nouveau dans l'unité. Le dernier épisode, comme
vous vous en souvenez sûrement, nous avons ajouté un corps rigide
et un collisionneur de boîte à, je vais jouer notre objet pour les
faire agir par gravité et entrer en collision
avec le sol, auquel nous avons également ajouté
une boîte Collider 2D. Maintenant, c'est cool et tout, mais cela vient un certain point dans notre parcours de
développement de jeux mobiles. Eh bien, nous devons commencer à écrire notre propre code si nous voulons que les objets soient à peu près
bien ce que nous voulons. Dans ce cas, je veux
créer un script de mouvement pour mon joueur cesse de refaire
ce jeu,
car actuellement
il ne s'agit d'un carré qui tombe au
sol, pas super excitant. Maintenant, faites-le, je vais devoir
commencer à écrire mon propre code. Cela peut être un peu
intimidant à
faire lorsque vous commencez. Mais heureusement, j'ai créé un fichier de code de feuille de triche dans
le dossier des ressources de cours, que vous l'espérez
installer plus tôt. Si ce n'est pas le cas, vous
n'en avez pas besoin, mais je vous recommande installer car il
peut être très utile. Si nous allons de l'avant et ouvrons cela. J'ai ici une liste de toutes les bases du
codage, avec des exemples. Et même si la plupart de ces
choses ne
font pas encore vraiment quoi que ce soit,
cela peut être utile, surtout plus tard
dans le cours, lorsque nous en
apprenons à ce
que vous reveniez et vérifiez si quelque chose
n'est peut-être pas le cas. en travaillant que vous avez la bonne syntaxe,
en haut, nous avons des variables et je suis sûr que vous vous souvenez de
notre vidéo d'introduction, les
variables ne sont essentiellement
que des espaces de stockage pour différents types de données. Cette variable x stocke
un entier ou un nombre. Cette variable Y stocke
une chaîne ou du texte. Cette variable booléenne Z stocke ou booléenne ou true ou false. Et ce corps rigide RB stocke
un composant de corps rigide, qui est le composant exact que nous avons ajouté à notre joueur plus tôt. création de variables
comme celle-ci
nous permettra de
les référencer dans nos codes afin
que nous puissions aller de l'avant et affecter ce corps rigide spécifique à cette variable que
nous avons créée appelée RB, puis modifier la variable RB, qui modifiera à son tour
ce volume rigide. Par exemple, si je voulais
changer l'échelle de gravité, je pourrais écrire un code indiquant que RBD ne change pas l'échelle de gravité. Et puis RB où
qu'il soit lié, qui serait un corps rigide, ce
qui, dans ce cas,
serait si rigide au joueur que l'échelle de
gravité serait modifiée. En dessous,
nous avons des tableaux et je n'ai jamais
revu la course auparavant. Mais nous allons en
parler plus tard dans le cours. Nous n'en aurons pas besoin maintenant, mais
c'est une bonne chose simplement
passer en revue le stock. Maintenant, quels tableaux sont fondamentalement comme des variables, mais dans une liste. Vous pouvez donc voir ici qu'il ressemble exactement à un int x public, sauf qu'il s'agit d'un entier public, puis il a deux
crochets par la suite. Ce que ces crochets signifient
essentiellement, c'est que je ne vais pas stocker
une variable ici. Je vais caler de nombreuses variables. Et donc ce
tableau public int x va essentiellement
stocker une liste de variables
appelées tableau x, différentes que vous
pouvez dire, Ok, la première variable et la radiographie, vous pouvez y attribuer une
valeur, puis vous pouvez attribuer une deuxième valeur, la troisième valeur de cette section, vraiment utile si,
par exemple, si vous y réfléchissez, nous voulons peut-être stocker tous
les scores du classement. Nous ne voulons pas qu'une variable
différente soit
meilleure pour chaque école si nous créons un tableau d'entiers
publics, j'appelle ça des scores, puis j'attribue chaque score d'un joueur à
une position dans ce tableau. La même chose ici avec une chaîne que vous pouvez peut-être utiliser pour stocker des dialogues ou du texte
ou quelque chose comme ça. Si cela n'a pas
vraiment
beaucoup de sens
pour vous en ce moment. Je ne vous blâme pas parce que cela aura beaucoup plus de
sens quand nous le ferons. Mais ne vous inquiétez pas, je voulais
juste couvrir les bases de
ce que sont les tableaux. En dessous, nous
avons des procédures
que nous avons passées
en revue dans notre vidéo précédente. Fondamentalement, les procédures ne sont que des
zones de notre code que nous
appelons à certains moments pour
accomplir certaines tâches. Ce démarrage vide, cette procédure est en fait
générée automatiquement par Unity, et c'est avec
la procédure avec appels
Unity chaque fois que ce
code s'exécute pour la première fois, cette procédure de mise à jour
est très similaire, sauf cette procédure Unity
appelle chaque trame. Nous en reviendrons un peu plus tard lorsque nous écrirons
notre script de mouvements. Mais sachez simplement que
ces procédures sont exactement comme nous avons parlé, sauf que les unités qui les appellent ne s'
appelaient pas les genoux. En dessous de cela, nous avons
un autre exemple de procédure. Cette procédure s'appelle
la poitrine ouverte , évidemment
pas cela, mais je voulais juste démontrer que vous
pouviez écrire vos
propres procédures. En dessous de cela, nous avons notre nouveau concept appelé variables
locales. Et les variables locales que
nous pouvons écrire dans la syntaxe. La syntaxe correspond à ce format de texte. Nous devons écrire des choses dans l'
encodage pour nous assurer que cela fonctionne. Nous pouvons écrire cela avec la
syntaxe int x égale à trois. Ce que cela va
faire , c'est que cela va faire une variable appelée
x
soit définie sur trois, mais cette variable ne sera
référencée qu'à l'intérieur de cette méthode. Une fois cette méthode épuisée, la variable est
effectivement détruite. Si j'appelle ça quelque chose
comme du Gar local. Et puis je vais essayer
de référencer le var local. Et ici, nous pouvons voir qu'
il n'y a rien de cool. Si je le saisis,
il est dit que le nom local var n'existe pas
dans le contexte actuel. , si je le place dans
cette procédure Toutefois, si je le place dans
cette procédure, nous pouvons voir qu'il
sait exactement quoi faire. Et il ne dit pas qu'il n'
existe pas parce qu'il est juste là. Nous avons bien décidé. En dessous de cela, nous avons nos déclarations
if et
ce sont des conditions. C'est pratiquement
l'un des aspects fondamentaux, l'
un des
aspects les plus fondamentaux des conditions de codage. Si les déclarations, sinon, déclarations, si autrement,
si, et cetera, encore une fois, à toutes ces déclarations maintenant, essentiellement toutes ces déclarations font
sont de vérifier la logique. Par exemple, si nous créons maintenant un script de saut et
que nous voulons savoir si les
joueurs ont atterri,
vérifiera que l'utilisation d'une instruction if ne
sera pas exactement
un dépassement parce que n'est pas génial pour performance. Mais si vous pouviez théoriquement
vérifier chaque image, si le joueur est mis à la terre et
s'il l'est, alors disons, peut sauter par exemple,
ici, nous disons que si x
est supérieur à cinq ou x, x est égal à trois. Un bon exemple de si
les déclarations sont si nous
essayions de calculer si le joueur a
obtenu un score au lycée. Donc, s'il l'a fait, vous pourriez dire, si l'école secondaire, si votre score est
supérieur à l'école secondaire, si votre score est égal
à un nouveau lycée,
ou si le score élevé est
inférieur à notre école actuelle, alors exécutez le code qui
En gros ,
il s'agit d'un nouveau lycée. Cette instruction else ne s'
exécutera que si cette instruction ne le fait pas. Ce que
dit ce code, c'est que si ma variable x se voit attribuer la valeur
trois, exécutez ce code. S'il est affecté à
autre chose, exécutez ce code. Nous pouvons en fait élargir un peu ces
instructions en allant si x est trois, faites-le. Sinon, si x est égal
à cinq pour quatre, faites-le. Ou si x est égal à cinq, désolé, je mets un signe égal
au lieu de deux, x est égal à cinq. Faites-le, sinon, faites-le. Ce code est un peu
plus compliqué. Ça va dire, d'accord,
s'il y a trois, faites ceci, si c'est plein, faites-le,
si c'est cinq, n'importe quoi d'autre. Et ce genre de
code n'est pas génial car vous pouvez voir que l' ordinateur doit
passer par là. Mais ensuite,
après notre premier jeu mobile, si nous pouvions faire des
choses comme ça pour si nous pouvions faire des
choses comme ça rendre un peu
plus facile à comprendre, c'est tout à fait très bien dans le
cadre du processus. En dessous, il y a
le concept final
que j'ai voulu enseigner. Des boucles froides. Et les boucles sont des
moyens efficaces d'exécuter le même
code encore et encore. Cette boucle for-loop, que vous avez
peut-être entendue auparavant, dure
essentiellement un
certain temps. Ce que
fait cette boucle pour, c'est qu'elle indique x
plein est égal à
0 au début, tandis que x est supérieur à trois, augmente x au début ou
à la fin de la boucle. Ce que cela
veut dire, c'est que nous en avons quatre, mais ici nous disons, d'accord, je veux utiliser la variable X. Et au début de cette boucle, je veux m'assurer que c'est 0. Ensuite, j'ai
une condition qui
doit être remplie pour que la
boucle continue de fonctionner. Donc, dans ce cas, tant que x est supérieur à trois,
maintenez la boucle en cours d'exécution. Enfin,
j'ai du code qui s'exécute à la fin de
chaque cycle de boucle. Donc, en gros, dire à chaque
fin de chaque cycle de boucle, X plus plus, qui est essentiellement le code pour
x augmenté d'un. Vous pouvez faire un x plus
trois x plus cinq. Dans ce cas, j'
ai x plus plus, ce qui signifie augmenter x d'un
à la fin de chaque boucle. que dit cette boucle,
c'est que x est réglé sur 0,
tandis que x est supérieur à trois, exécute la boucle et
augmente x à chaque fois. En fait, cette boucle
ne va pas fonctionner, il
va falloir changer
cela à moins de trois. Cela aura
beaucoup plus de sens. Cela
veut dire : OK, eh bien, réglez x sur 0 au début, tandis que x est inférieur à trois. Continuez à faire avec la boucle
et augmentez x à chaque fois. Si nous devions écrire
quelque chose ici que Newport exécute deux ou trois fois plutôt parce que
vous pouvez voir des exécutions la première fois à 0,
alors cela augmente. C'est un, c'est encore
moins de trois. Il va donc à nouveau en magasin,
écoutez-le parce que encore une fois, trois, pas moins de trois. Alors, la boucle se termine. En dessous, nous
avons des boucles de temps. Alors que la boucle fait essentiellement la
même chose que pour les boucles, à l'
exception de la condition
pendant un certain temps, la boucle doit
juste être vraie et la boucle while fonctionnera
continuellement pour toujours. Donc, si nous ne changeons jamais x, cette boucle va courir
de l'infini parce que si nous définissons x sur V2 va bien, X moins de trois, OK,
X moins de trois. Maintenant, cela va changer. La boucle for exécutera
un certain nombre de fois, mais une boucle while et
exécutera pour l'infini, ce qui les rend
un peu plus gênants parfois
lorsque nous commettons des erreurs. Parce que si nous avons un air
du parcours
luthérien pour l'infini, cela provoque presque
toujours un crash. Et ce n'est pas génial pour
notre ordinateur ou notre code. Ce n'est pas mal, cela
ne brise rien, mais juste pour ce qui est de
notre tranquillité d'esprit, il
arrive parfois que toute
l'unité soit fermée et nous
n'
aurions peut-être pas sauvé quelque chose. Je vous recommande de ne pas utiliser boucles
while tant que vous n'avez pas
une croix complète avec elles. Je ne prévois pas que nous ayons besoin boucles
tout au long de toute
sa force. Et de manière générale,
alors que les boucles sont débarrassées d' une chose de niche dont vous
n'avez pas toujours besoin d'encodage, mais vous avez parfois besoin vous assurer
que lorsque vous utilisez une boucle while, vous l'utilisez, non ? Et pour qu'il ait un état de fin,
car sinon
vous risquez de provoquer un accident
dans dix ans. Et maintenant, nous allons
essayer de réaliser
notre tout premier
script à partir de zéro. Nous allons le faire
dans le dossier des ressources. Allez dans Assets et nous
allons cliquer avec le bouton droit de la souris,
nous allons créer un dossier et l'appeler script. Ce n'est pas obligatoire, mais cela signifie
simplement que nous pouvons mettre tout
notre code ici, donc tout est bien organisé. Vous n'avez pas besoin de faire ça. C'est exactement comme ça que j'aime
organiser mes actifs. Et cliquez à nouveau avec le bouton droit de la souris
et nous
allons créer un script C-sharp. Je vais appeler
ça un mouvement. Maintenant, si je double-clique, le script de
mouvement va l'
ouvrir dans Visual Studio
comme je le voulais. Et nous pouvons voir ici dans notre script que nous avons
trois lignes en haut, qui utilisent toutes les
collections système et le moteur Unity. Ensuite, une classe appelée procédure stockée de
mouvement
et procédure de mise à jour. Maintenant, je ne sais pas
si j'ai abordé cela dans le script précédent, mais essentiellement quelles sont
ces lettres vertes, quelles
sont ces lettres vertes, nos commentaires. Et c'est essentiellement la
façon de dire, d'accord, je ne veux pas que ce code s'exécute, mais je veux l'avoir sous forme de texte. Si je voulais écrire
quelque chose en dessous. Ce programme est génial. Évidemment, si j'écris
ça sans commentaires, l'unité va être
très ordinateurs peut être comme quoi a-t-il
essayé de dire ici ? n'y a pas d'erreur de syntaxe de jeton. Le nom cool n'existe pas. Le nom qui n'a pas pu être
trouvé en disant qu'est-ce que c'est ? Quel est le programme que je pendant que vous utilisez le mot de code
IS ici, ce qui est cool, ça
a été très confus. Ce que ces deux
barres obliques font, c'est dire à l'unité, je ne veux pas que ça se produise. Je n'écris que des textes
simples pour pouvoir communiquer quelque chose à
quelqu'un qui lit mon code. Par exemple, lorsque
vous créez ce fichier, Unity génère automatiquement deux
commentaires ici. Ils vous indiquent à quelle fréquence les procédures du magasin sont
froides et à quelle fréquence pour
mettre à jour le code des procédures, ils disent que démarrage est appelé avant
la première mise à jour de trame, mise à jour est appelée une fois par image. C'est les
développeurs Unity qui vous disent ce que ces deux procédures
font pour que vous
sachiez, vous pouvez également les survoler et cela vous dira
exactement la même chose. En gros, c'est
dire que l'unité fait ces procédures et qu'elles les appellent seules. Nous n'avons pas à appeler
ces procédures. Nous pouvons utiliser ces
procédures
appelées par Unity pour créer le
reste de notre code. Nous pouvons supprimer ces
deux commentaires. Nous pouvons commencer à créer notre tout premier script de mouvement en utilisant ces deux procédures. La première chose que je vais
faire est de créer quelques variables. La première variable que je veux est
un corps rigide public 2D RB. Et cela va être de
créer une référence au corps rigide qui est stocké dans le joueur afin que je puisse les
faire bouger. Je vais créer
une autre variable, un entier public, et
je vais appeler ça la vitesse. Ce sera une vitesse à
laquelle le joueur progressera. Je vais créer
une autre variable de qualité, sauter faux. Ce sera la vitesse à laquelle le joueur
sautera du sol. Je vais créer
une autre variable et je vais l'appeler de fond. Et cela
va essentiellement nous dire si le joueur
est mis à la terre ou non ? De toute évidence, on ne peut que
sauter au sol. En guise d'avertissement, je vais écrire tout
ce code à l'aide des commandes du
clavier. Je vais dire que si l'espace est
pressé ou si c'est pressé, vous pensez peut-être
pourquoi nous créons un jeu mobile et c'est vrai. Mais si je veux tester mon
jeu dans l'éditeur Unity, je peux réellement écrire des commandes
clavier, même si je suis Bowden pour Android et Unity sera comme, ok, utilisez simplement la barre d'espace. Et quand je construis
le jeu pour Android, évidemment ces commandes
et ne fonctionneront jamais. Donc si j'écris sous la mise à jour ici, si je dis que si la personne
passe la barre d'espace, saute, alors quand je
construis mon Android donné, il n'y a aucun moyen que vous
puissiez sauter parce qu'il y a la barre d'espace. Mais lorsque je teste une rente, c'est ce que je vais utiliser pour m'
assurer que tout fonctionne. C'est en fait comme ça qu'on
va faire ce cours ? Nous allons construire
tout ce cours testé pour ordinateur
, puis écrire la fin. Je vais vous montrer
comment modifier toutes vos commandes d'entrée pour
qu'elles fonctionnent sur mobile, c'est vraiment facile
car nous n'
aurons pas autant de contrôles. On va
juste faire un saut. Ce saut que nous allons
déclencher en tapant. Mais pour l'instant, nous
allons le faire via la barre d'espace pour rendre les choses
beaucoup plus faciles à tester. Je vais taper une entrée, ai la clé fgetc enfoncée. Et je vais ouvrir le
support et garder espace de points de code
clé. Ensuite, en dessous, je vais ouvrir des
crochets bouclés, que nous, chaque fois que nous utilisons une
instruction ou une procédure if, nous avons tapé le crochet bouclé ouvert puis nous appuyons sur Entrée et
avant tout bien pour nous. Je vais aller ici,
laissez-moi les supprimer. Je vais dire un commentaire en saut. De toute évidence, ce
commentaire comme nous l'avons vu ne va pas s'
exécuter, c'est juste du texte. Mais en gros, ce que cela
va faire, c'est que je peux l'utiliser pour stocker du code
que je n'ai pas encore écrit. Je sais donc ce que je dois dire. Maintenant, chaque image, si je descends la touche Space,
je vais vouloir sauter. Maintenant. Je ne veux pas sauter à chaque fois pour nous atteindre la clé Space. Je ne veux sauter que lorsque je suis ancré à l'intérieur de
cette déclaration si. Je vais mettre une autre déclaration
si en bas. S'il est mis à la terre. Je vais ouvrir la peau de
ces supports. Maintenant, ce n'est pas ce qu'on appelle une if
imbriquée
dans une instruction if, à l'intérieur d'une instruction if,
je pourrais en fait écrire ceci comme une instruction if. Mais par souci de simplicité, c'est beaucoup plus facile à lire à mon avis, si ça vous plaît. Et nous pouvons en apprendre davantage
sur ces composés si les déclarations plus tard, nous ne couvrirons pas ça maintenant. Maintenant, si Grounded, nous
allons vouloir sauter, alors nous ne
voudrons pas sauter si
nous ne sommes pas ancrés. Maintenant, nous devons
écrire un peu de code pour nous assurer que
nous pouvons réellement sauter. Je vais aller ici et je
vais faire ma propre procédure. Je vais écrire le vide public et
je vais l'appeler saut, mettre des parenthèses,
puis ouvrir le
crochet bouclé et appuyer sur Entrée
et à l'intérieur en sautant, je vais écrire du
code pour faire le saut. J'ai donc cette référence
au corps rigide et aux corps
rigides, ce que nous allons
utiliser pour sauter, je vais taper RV, et ça récupère essentiellement
le corps rigide. Maintenant, je peux faire du point et
je peux changer ? Vélocité. Cela signifie essentiellement que
je vais
modifier la vitesse
du corps rigide. C'est la vitesse linéaire. Il est donc de haut en bas, de gauche
et de droite. Je peux faire cette vélocité
où je veux. Je peux aller égaux. Et puis parce que je mets
deux valeurs, une valeur x de la vélocité x
et la valeur y pour la vélocité y. Je vais taper le nouveau vecteur deux, puis ouvrir les parenthèses et fermer les parenthèses,
puis un point-virgule. Nous mettons toujours un point-virgule
à la fin de notre code. Ce que ça va faire en gros. Ça va dire, d'accord. Réglez la vitesse RB
où je veux. Si j'ai 55 ans, la vitesse RB quand je saute va se
passer comme ça. Et si je le mets à moins 55,
ce sera comme ça. Moins cinq et moins cinq
comme ça, ça ira. Et si je le mets à
05, par exemple , ça va se passer. Vous pensez peut-être,
Oh, c'est ce que nous voulons parce que nous
voulons qu'il saute. Mais si c'est le cas, je gagnerai
essentiellement comme ça. Vous sautez et l'eucarya et déplacez le saut, nous
ne voulons pas ça. Nous voulons sauter avec
le même élan que
vous portez depuis tout
le temps. En d'autres termes, nous
voulons maintenir la vitesse du corps
rigide dans sa direction X. Donc, si vous allez en arrière ou en
avant ou si vous êtes immobile, nous voulons garder cela et nous voulons
seulement changer le Y je vais faire cette force de saut de
la valeur Y. C'est la variable que
nous avons créée ici. Actuellement, l'entier est défini sur 0 car nous ne lui avons pas
attribué de valeur. Mais nous pouvons accéder à
l'éditeur Unity et nous pouvons changer la force de saut
où nous le voulons. Et c'est la vitesse
à laquelle vous sautez. Et puis, au lieu
de mettre 0 ici, je vais taper le
point de vélocité du point de VR x, ce qui est essentiellement dit : OK, faites la vélocité,
la vélocité x. Donc, ne modifiez pas la vélocité x, mais faites de la vitesse y
quelle que
soit la valeur stockée dans la force de saut, ce
qui sera un nombre que nous allons
attribuer ce que nous voulons. C'est à peu près tout ce que notre code de
saut doit être, nous allons sauter
et retomber. Cela devrait réellement fonctionner
si nous entrons dans Unity. Si nous supprimons simplement
le commentaire de cela et que nous mettons des parenthèses après, alors nous
appelons cette méthode parce que nous avons tapé des parenthèses de
saut, nous appelons cette méthode. Si j'avais une autre méthode
appelée sauter, je pourrais taper des parenthèses sautées et cela tirerait cette procédure
de saut vers le haut parce
que je ne le fais pas, ça ne trouve rien parce que j'ai cette
procédure de saut cependant. Je m'appelle la
procédure de saut
tant que j'appuie sur la
barre d'espace et que je suis mis à la terre. Maintenant, je vais
sauter et redescendre. Évidemment, nous n'avons pas encore
fini de code, mais si nous entrons dans Unity, cela devrait fonctionner
comme je le veux. La seule chose que je vais
devoir faire, cependant, tout d'
abord, c'est que je vais avoir besoin de signer quelques-unes
de ces valeurs. La première chose que je veux faire, si vous n'avez pas déjà fait
glisser un script de mouvement sur
le lecteur comme ça. Ensuite, une fois que vous avez fait cela, prenez votre corps rigide et
faites-le glisser sur cette variable RB. Nous avons donc un lien avec eux. Vous pouvez alors définir la vitesse
comme vous le souhaitez. Je vais mettre cinq, évidemment,
je suis encore codé ça, donc je ne vais
rien faire et je
ferai mon saut faux cinq aussi. Ensuite, je vais
cocher ce terrain de variable parce que nous
pouvons voir dans notre code, je ne peux sauter que
lorsque je suis mis à la terre. Et parce que je n'
ai pas encore codé la logique ancrée, je
ne serai jamais arrondi. Il
va automatiquement passer à faux et je ne vais pas sauter. Mais si je dis « terrain
vrai », ça devrait marcher. Maintenant, si je joue,
j'appuie sur saut. Vous pouvez voir que je saute,
ce qui est vraiment cool. Nous n'avons pas codé un petit saut très
pathétique. Et la raison pour laquelle nous utilisons des variables,
c'est parce que je suis sûr que
nous sommes tous d'accord pour dire que le saut
n'est pas assez haut. Je vais donc changer cette force de
saut et en faire dix. Vous voyez, c'est
un peu mieux. Je pense que c'est
presque suffisant. Je vais faire mon saut
pour quelque chose comme 12. Nous avons un bon saut
pour notre jeu mobile. Maintenant que nous l'avons abordé dans
le premier épisode, si nous effectuons des changements
en mode de lecture et que nous cliquons dessus, ils ne sont pas sauvegardés. Mais je peux simplement me souvenir de la valeur
que j'avais, la remettre et je n'
aurai pas à
entrer dans mon code et à changer
cette variable cinq ou 1270. Je peux simplement changer la
variable et ensuite je peux changer tout ce qui
est stocké là-dedans, ce qui est vraiment cool. Maintenant, notre saut fonctionne. Nous voulons nous assurer
que nous ne pouvons
sauter que chaque fois que
nous frappons le sol. Nous allons aller de l'avant et
créer deux nouvelles procédures, et les deux sont
automatiquement générées par l'unité. Le premier sera
en collision en 2D. Je vais dire que l'ancrage
est égal aux fruits. La seconde sera
nulle à la sortie 2D de collision, et nous allons mettre à la
terre la valeur False. En gros, ce que cela va
faire , c'est que cela va dire, chaque fois que nous entrons en collision avec
quelque chose, rendez la terre vraie. Chaque fois que nous entrons en collision
avec quelque chose
ou que nous n'y sommes plus en
contact, mettez le terrain à faux. Et si cela fonctionne correctement, nous devrions passer à faux. Et au début, nous pouvons
aller ici et nous pouvons voir que le
fondement est faux. Et dès que j'ai décroché
des subventions supplémentaires fixées à vrai. Et si je saute à nouveau, les granites sont
faux puis vrais à nouveau. Et c'est essentiellement
tout le script dont
nous avons besoin pour créer notre code de saut. Nous pouvons appuyer sur Space
autant de temps que nous le voulons. Nous ne pouvons sauter que
chaque fois que nous ne sommes pas, ce qui est vraiment cool. Maintenant, cela fonctionnerait. Mais le problème est que c'
est un peu difficile parce que si je laisse le code
exactement comme il est, je peux vivre avec une pièce de monnaie. Je suis techniquement allumé
avec quelque chose. L'union va être comme,
oh, il est en collision. Il peut sauter à nouveau, mais je
ne veux être ancré que tant que je touche à
ce matériau de sol. Je dois donc trouver un
moyen de
différencier cette faille sur
tous les autres collisionneurs. Je vais le faire avec des étiquettes. Je vais aller ici jusqu'
au sol, cliquer sur le sol. Je vais cliquer sur tag,
puis ajouter une balise. Et je vais
ajouter une étiquette au sol. Ensuite, nous pourrons
revenir ici au sol et nous
pouvons attribuer cette étiquette de
sol ici. Vous pouvez ajouter une attache quelque chose comme j'
ai ajouté une balise, puis
taper le nom. Ensuite, nous avons une taxe foncière. Et maintenant, nous avons un moyen de
différencier entre fait que ce que nous frappons est
un terrain ou autre chose. En revenant à ce code, je vais aller
ici et je
vais taper collision collision, balise de comparaison de
points, crochets ouverts,
guillemets autour. Ensuite, je vais ouvrir les crochets
bouclés. Disons que le fondement est vrai. Évidemment, je pourrais
taper des valeurs vraies à la fin ici, mais ça
va vraiment le faire
automatiquement pour
moi parce que je l'ai fait. C'est vrai ici. Mais comme je le fais
automatiquement pour moi, parce que je ne
mets rien dedans, ça envoie automatiquement
à vrai de la même manière. Je peux réellement taper
ça si je suis mis à la terre, c'est dire si
la mise à la terre est vraie. Mais au lieu d'écrire
si la chronique est vraie, je n'écris que si elle est ancrée, c'est une façon plus simple de le faire. Par ici. Je vais dire que je suis
mis à la terre tant que je suis en
collision avec le sol, je vais copier
ce code exact et le mettre sous mon truc de sortie, sauf le changer en
faux. Maintenant, ce que cela va faire n'a rien
changé. Mais si nous devions avoir une autre
couleur avec laquelle nous vivons, je ne serai pas ancré à
moins que ce soit le sol. Mon équipe, comme un peu
bizarre à faire maintenant parce que notre
code fonctionne bien. Mais croyez-moi, cela
sauvera un mal de tête, nous
épargnera un mal de tête
à long terme. La dernière chose que nous devons
faire est de nous assurer que nous allons
continuellement vers la droite car nous devons
passer à notre jeu
comme Azure Dash, afin que nous puissions interagir avec les obstacles et
sautez par-dessus les choses. Nous allons le faire en utilisant
la variable de vitesse. Maintenant, la mise à jour s'appelle chaque image comme
nous l'avons déjà couverte, mais nous ne voulons pas que
cette mise à jour soit appelée chaque image. Nous voulons qu'il soit froid à chaque intervalle fixe afin qu'
il ne change pas si nous
exécutons la même pente
fossile que vous pouvez utiliser le tableau de mise à jour fixe vide. Maintenant, la mise à jour fixe est
exactement comme la mise à jour sauf au lieu de chaque
image, c'est tous les intervalles. Je pense donc que c'est 0,01
seconde ou 0,15. Vous pouvez le définir dans votre code. Mais oui, c'est essentiellement
ce que ça va faire. Je vais y aller et taper RB. Ne faites pas de vélocité
comme je l'ai fait auparavant, elle équivaut au nouveau vecteur deux. Sauf que cette fois-ci, je ne
veux pas modifier la vitesse y, je veux seulement modifier
la vélocité x. Nous pouvons en fait copier ce code exact d'un ici
et les échanger. Donc, au lieu de dire la
vélocité du point RB ou x par ici, je vais taper la vélocité des points RB
point y dans le truc y. Et puis pour le x,
je vais le régler sur ce que cela va
faire est chaque trame fixe. Donc, chaque intégrale,
je veux
m'assurer que ma vitesse est
égale à la vitesse que
je veux parcourir et
conserver la vitesse de y. Et chaque fois que je saute, je veux garder cette vitesse
x et sauter. Si nous revenons dans
notre code et que nous réglons notre vitesse à quelque chose de
lent. Nous gérons notre jeu. Nous pouvons réellement le voir
en action et le voir ici. Nous avançons
lentement et si nous sautons,
nous sautons en gardant l'élan. Et ce
sera essentiellement
notre script de mouvements pour le
début de notre jeu mobile. C'est la première
étape que nous avons franchie pour créer un jeu mobile vraiment excitant. Si vous avez suivi, bon travail. Si quelques choses ont semblé
un peu écrasantes, je comprends complètement
et j'ai relié mon code d'origine dans la section ressources
de cette vidéo pour que si le vôtre ne fonctionne pas, vous pouvez le réparer et vous
assurer que tout est parfait. Vous participez
au cours parce que je veux que vous soyez coincé
sur cette vidéo. J'espère cependant que cette vidéo a bien
expliqué ces concepts. Et si vous avez copié mon code
exactement comme je l'aime, vous devriez
travailler exactement dans le programme de sodium. Faites défiler la vidéo pour pouvoir mettre en pause la vidéo et voir s'il y a
quelque chose de différent. Mais tout devrait bien fonctionner. Vérifiez simplement que vous
n'avez pas mal orthographié comme
une collision ou un collisionneur. Et il y a ici quelques
concepts tels que comparaison des étiquettes et de la vélocité, que nous avons abordés assez rapidement. Mais c'est juste
parce qu'ils ne sont pas très importants pour le moment. Ils sont simplement utilisés pour
déplacer le mouvement, pour faire le mouvement
de notre personnage. Nous allons toujours
les répéter. Ça va devenir
beaucoup plus familier. Mais si vous arrivez
à un point où votre personnage peut bouger
et sauter, c'est un excellent travail. Vous avez fait une avancée massive et vous allez avancer dans le
développement de jeux. Je vous verrai dans la prochaine vidéo.
8. Suivez la caméra: Salut, et bienvenue à
nouveau dans l'unité. Dans notre dernier épisode assez long, nous avons créé notre tout
premier script C-sharp et intégré
à Unity Editor, ce qui a permis à notre joueur se déplacer le long de la scène et de sauter. C'est génial. C'est vraiment un grand pas vers la réalisation de notre
jeu mobile. Et nous pouvons le voir en action ici, comme
nous l'avons fait la dernière fois. Nous pouvons donc avancer et sauter. Et de toute évidence, nous ne
pouvons sauter que lorsque nous sommes au sol,
ce qui est vraiment cool. Le problème, c'est
qu'une fois que nous avons atteint la fin, nous avons remarqué ce qui arrive au joueur
parce que nous
voyons cela signifie pour
nous, comme les développeurs le savent, joueurs qui complotent actuellement sa disparition et le
rédacteur en chef dans l'abîme. Mais les joueurs auront
remarqué que cela se produisait. Donc, pour minimiser ce problème, ce que nous allons faire,
c'est que nous allons créer une caméra qui suit le script. Et nous allons nous
assurer que la caméra suit
toujours le joueur pour nous assurer que nous savons toujours où nous en
sommes en tant que joueurs. Maintenant, nous sommes actuellement
un peu perdus d'un éditeur. Je vais donc vous apprendre
une autre astuce rapide de Unity. Vous pouvez double-cliquer sur la caméra principale et elle vous ramènera là où vous le souhaitez. Vous pouvez faire la même chose avec le joueur ou l'environnement. Essentiellement, effectue un zoom avant. Si on a perdu quelqu'un d'autre, ils étaient comme, Oh, où suis-je ? Double-cliquez sur la
caméra principale et vous êtes de retour. Maintenant. Allons dans les scripts et faisons en sorte que
notre caméra suit le script. Cliquez avec le bouton droit de la souris, créez un script
C-Sharp, et nous allons appeler
ce suivi de caméra. Assurez-vous de ne pas
nommer votre caméra de script car il s'agit d'un mot réservé. Et je l'ai fait il y a
quelque temps et j'ai rencontré des problèmes
Sony et je ne
sais pas ce qui en était la cause, mais heureusement, vous n'avez pas à faire la même erreur que j'
ai faite à l'époque. Alors, allez maintenant à la caméra
principale et
assurez-vous que le script
suivant est signé sur votre caméra. De plus, en général,
lorsque vous nommez des scripts, veillez à ne pas inclure d'
espaces, car cela rendra Unity incapable de lire le script car
ce nom ici, la classe doit être corrélée
avec le nom. du fichier. Et évidemment, cette
classe nommée a
un peu d'espace parce que
le code ne saura pas quelles classes et si le comportement du modèle
commence et c'est un gâchis. Donc, assurez-vous que ce n'est qu'un mot. Maintenant, ouvrez votre caméra en
suivant le script et nous allons commencer par créer une variable
comme nous l'avons fait la dernière fois, sauf cette fois,
au lieu de
faire référence à un corps rigide ou à une chaîne, nous allons faire référence
à un objet de jeu. Et c'est
simplement une façon chic de dire que nous allons créer une variable qui stocke un objet tel que nous l'avons couvert au
début du cours. Objets ou tout autre élément notre jeu auquel nous
pouvons attribuer la logique. Le joueur est un
objet, une caméra et objet cet environnement
même un objet, le sol et l'
arrière-plan des deux objets. Et oui, presque
tout ce qui peut
être assigné
à la logique est un objet. Nous allons donc créer un lecteur d'objets de jeu
public. Et cela va en fait nous
permettre de choisir l'un de ces objets et de l'
attribuer à notre script. Donc, si nous allons à notre caméra principale, nous pouvons nous assurer que votre
script de suivi de caméra est attribué. Le mien l'est. Mais si ce n'est pas le cas, retirez-le et faites-le glisser. Et nous pouvons faire glisser le joueur dans ce jeu de joueur et créer
un lien vers nos objets. La variable joueur
est donc maintenant liée à
l'objet joueur, qui est vraiment sympa
car cela nous permet
d'accéder à toutes sortes d'
informations sur cet objet, y compris sa
position actuelle, qui est vraiment, vraiment cool parce
que lorsque nous jouons à un jeu, je suis sûr que vous pouvez voir la
position du joueur. Il est constamment en
mouvement et c'est pourquoi notre caméra n'est pas
en mesure de le suivre. Si nous pouvons déplacer notre caméra en fonction de la
position du joueur, ce sera
vraiment génial pour nos joueurs de le faire. Nous allons aller de l'avant et
supprimer la méthode de démarrage. Nous n'en aurons
pas besoin pour ce scénario. Et nous allons passer à la mise à jour qui, comme nous l'avons abordée la dernière fois est la procédure que Unity
appelle chaque trame. Évidemment, puisque nous construisons
une caméra suivant le script, nous voulons nous assurer
que la caméra et l'endroit se positionnent ou
coulent chaque image. Pour ce faire, nous allons
aller ici et nous allons taper transformation avec
un t minuscule. C'est essentiellement une façon d'
unités de dire quel objet est actuellement attaché à ce script, accès à cette transformation, la transformation attachée
à cet objet de jeu et voir si nous survolons
cet objet de jeu, dans ce cas, c'est la caméra car c'est ce que les
scripts y sont attachés. Maintenant, déplacez un point, nous pouvons voir toutes les différentes parties d'
une greffe qu'ils peuvent faire, la
transformer, la transformer,
l' échelle
locale, transformer la rotation des
points. Si nous pouvons penser à quoi que ce soit, nous allons avoir besoin d'une
opposition à la greffe. Nous allons donc
transformer la position des points. Nous irions égaux. Ensuite. C'est là
que vient le Koopa. Parce que nous avons créé un
lien avec notre joueur. Nous pouvons taper la position du point de
transformation du point du joueur. Ensuite, si nous appuyons sur Entrée comme
ça, c'est essentiellement
tout le code
dont nous avons besoin pour nous assurer
que
notre transformation, notre position est toujours réglée
sur la position du joueur. Si nous exécutons notre jeu, cela ressemble
vraiment à ceci. Maintenant, vous êtes peut-être un
peu confus. Je vois juste un écran bleu. Oui, vous avez demandé à introduire l'écran et la raison en est que le composant z de la caméra doit
toujours être inférieur
au reste de la scène. Sinon, exactement le même plan et il ne
capte rien. Cela peut être un peu déroutant car il s'agit d'un
jeu 2D après tout, pourquoi le composant z
de quoi que ce soit est-il important ? Et en général, ce n'est pas le cas. Mais pour vous assurer
qu'en règle générale, tous vos composants z de
tout le reste sont toujours réglés sur 0 et que la caméra
est toujours inférieure à 0. Si c'est moins un, c'est très bien. Si c'est moins
100, c'est très bien. Mais moins dix est un
bon endroit. Maintenant, nous ne
voulons pas exactement que la caméra soit toujours
exactement la même position que le joueur pour des raisons
évidentes. Au lieu de cela, ce que nous allons faire, c'
est que nous allons attribuer spécifiquement la position x
de la caméra au joueur. Et vous penseriez qu'il a
généralement transformé l'opposition de x égal au joueur, ce concept session point x. Mais pour une raison quelconque, Unity
ne le rend pas aussi simple, ce qui est un peu
agaçant, mais c' bien parce que c'est
très simple à faire. Il suffit d'utiliser vecteurs 3 ou
les outils vectoriels dont nous avons
parlé le dernier épisode. Pour une
opposition transformée, il est égal à mu. Nous allons saisir le vecteur deux. Nous pouvons voir que ce n'est pas le
remplissage automatique parce que j'ai position de transfert
thêta sur le chemin. Je vais donc supprimer ça
et appuyer à nouveau dessus. Voir le vecteur 2D,
vecteur trois, désolé. Ensuite, nous ouvrirons des crochets
et nous allons taper transformation des points du joueur, position du point x. Et cela signifie essentiellement que
chaque image, assurez-vous que mon exposition
est la même que celle des joueurs. . C'est en fait la seule position que
nous voulons modifier. Nous ne voulons pas changer le
y, nous ne changeons pas le z. Au lieu de changer la plaque ou la
transposition des y et z, nous allons simplement le
régler sur l'opposition transformée, point y et le
l'opposition transformée fait Z. Ce que cela va
faire , c'est que cela va
faire en sorte que notre position soit toujours
réglée sur la PlayStation x, l'opposition en y et
l'opposition dans le z. Il existe maintenant un
moyen plus simple de le faire car, puisque nous utilisons uniquement la qualité de transformation de
notre objet de jeu de joueur, nous pouvons réellement utiliser une Transform. En gros, je veux la position, la rotation et l'échelle de cet objet. Je ne veux rien d'autre, qui est génial parce
que c'est tout ce dont nous avons besoin. Nous pouvons ensuite supprimer tous
ces mots-clés de transformation. En fait, c'est juste celui-là parce qu'ils font
référence à nous. Et maintenant,
jouons simplement l'opposition et non x. Cela peut sembler un
peu inutile, mais stocker un
transformateur est évidemment un peu moins que de stocker
un objet de jeu entier. Ce sera donc une bonne pratique
de codage. Nous pouvons le voir ici. Il est dit incompatibilité de
type et c'est parce qu'il était stocké
dans GameObject. Et maintenant, il stocke une transformation et il ne sait pas
quoi faire de lui-même. Il suffit donc de redessiner ce joueur
et il se débrouillera. Maintenant, si nous
continuons à cliquer sur Lecture, nous pouvons voir que notre caméra va en fait suivre notre lecteur comme nous
voulions le rejouer, comme toujours
au centre de l'écran. Et lorsque nous sautons et que nous
retombons dans l'abîme, nous pouvons voir exactement
pourquoi cela se produit. Maintenant, cela peut paraître cool
et cela pourrait bien fonctionner, mais nous ne voulons pas que le joueur soit toujours
au centre de l'écran. Nous voulons qu'il s'agisse
d'un léger décalage. J'ai entendu dire que jouer mes jeux
sont les joueurs comme s'ils partageaient la plupart des jeux,
vous trouverez que c'est le cas. Nous allons aller de l'avant et
créer une variable de décalage. Nous appellerons cela un flotteur public. C'est la première fois que
nous utilisons des flotteurs, ils peuvent sembler
compliqués et ce
ne sont que des décimales. C'est
tout ce qu'ils sont là. 0,50,20,45. Tout ce qui n'est pas un entier est un float dans un nombre réel à
peu près flottant ? Nous allons aller de l'avant
et taper offset. Cela va essentiellement nous
permettre d'ajouter cette valeur de décalage
aux joueurs, l'opposition transformée de x, qui va essentiellement
compenser la transformation. Donc, si vous y réfléchissez, si le joueur est en
position 0, nous lançons ceci. Nous allons passer à la
position 0 plus cinq. Alors, le joueur
va être là-bas. Disons que les joueurs sont là, le point-virgule sera ici. Ou si nous disons que deux moins
cinq seront là. Nous pouvons modifier cela en mode de
jeu comme nous l'avons fait avec
tout le reste, n'est pas un type de fois
si nous commençons notre jeu, nous pouvons voir
devant le payeur, mais je veux bouger hors de
la pièce pour être là. Et nous pouvons
enregistrer cette valeur, 5,78, sortir du mode de jeu, saisir directement. Ensuite, lorsque nous commençons notre
jeu pour la deuxième fois, nous pouvons voir que le joueur est exactement là où il devrait être,
juste là. Je vais en faire six
car je pense que la pièce est encore
trop à droite. Oui, ça devrait faire l'affaire. C'est peut-être un peu
trop à gauche maintenant, mais nous tomberons sur ce
pont quand nous le rencontrerons, vous préférerez peut-être
avoir votre joueur l'autre côté, ce qui est très bien si vous faire. Nous pouvons modifier cette valeur au fur notre parcours de
développement de jeux. C'est ce qui est génial avec
les variables. Mais pour l'instant, nous avons créé
un script très
basique qui permet
à la caméra de suivre
le plan, le travail, et je
vous verrai dans la vidéo suivante.
9. États de caractère: Salut, et bienvenue à
nouveau dans l'unité. Au cours des derniers épisodes, nous avons créé notre tout
premier script C-sharp, permettant au joueur de
se déplacer le long de la scène. Et nous avons même ajouté un script de suivi de
caméra afin que nous gardions toujours une trace
de l'endroit où se trouve le joueur. Par conséquent, notre jeu ressemble
actuellement à ceci. C'est dans un état semi-fonctionnel
et nous pouvons sauter qu'un seul mal sur
le sol que nous pouvons sauter, ce qui est vraiment
cool, jusqu'à ce que nous atteignions la fin,
puis nous suivons. Semi fonctionnel peut être un
peu étiré. il en soit, dans cet épisode, nous allons commencer par
créer des états de joueurs. Ce sera la première étape que
nous allons faire pour
créer une grosse boucle. Maintenant, si vous ne
voulez pas de boucle de jeu c'
est essentiellement le
fait que vous pouvez jouer, mourir jouer à nouveau et
mourir quand, etc., vous pouvez continuer
à jouer ou en boucle. Et les états vont nous
permettre de déterminer dans quel
état ils jouent. S'il est mort, s'il est vivant, s'il attend de voir s'
il peut répondre après une annonce, s'il saute ou tombe. De toute évidence, beaucoup de ceux que
nous n'allons pas utiliser, nous n'allons pas coder, sauter et suivre les états. Mais si nous n'
utilisions pas de moteur de jeu, c'est peut-être quelque chose que
nous devrions faire. Heureusement, parce que Unity possède ce grand
composant Rigidbody qui prend soin de toute
la gravité pour nous. Les seuls états qui travaillent avec
attention dans cet épisode, je vais être de savoir si
le joueur joue ou est autorisé à bouger ou mort,
pas autorisé à bouger. Commencez par aller dans
le dossier des scripts, cliquez avec le bouton droit de la souris,
créez un script C-sharp. Je vais appeler le
directeur d'État. Ensuite, une fois que cela a été créé, Google vers le lecteur et faites glisser votre
script State Manager sur celui-ci, comme cela. Maintenant, nous allons chercher ça. Je vais définir la portée de la gestion et nous allons commencer
comme nous le faisons habituellement en
créant une variable. Et cette variable va s'
appeler état et elle
sera une variable de chaîne, publique. Nous pouvons donc le voir dans l'état de chaîne de
l'éditeur Unity. Cette variable d'état
va maintenant
nous permettre de vérifier dans quel état se trouve le
joueur. Nous allons le faire. Je vais faire référence à
l'état dans d'autres scripts comme
notre script de mouvement. De toute évidence, en ce moment, le script de
mouvement est ce qui dit
réellement
au joueur de déplacer chaque image. Cette ligne indique au
joueur de déplacer chaque image. Mais si la pièce est morte, on ne veut pas qu'il
bouge chaque cadre. Nous voulons qu'il arrête de bouger. Nous allons le faire en
référençant ce script. Maintenant, si vous ne
savez pas comment faire cela, je ne vous en veux pas
parce que cela
m'a pris beaucoup de temps à apprendre, mais c'est
très simple. Si vous l'avez déjà deviné, il
suffit de créer une variable
reliant le script, une variable
reliant le script, tout comme nous avons créé une variable
qui lie des corps rigides, des entiers et même d'autres transformations et GameObject, nous
pouvons faire la même chose ici. Nous allons donc taper public. Ensuite, nous allons taper le
nom Bosco State Manager. On va appeler cette déclaration. Une fois que nous aurons fait cela, nous retournerons
à Unity Editor. Nous allons sélectionner l'objet de
notre joueur. Nous allons faire glisser notre script State Manager dans
notre variable Stage Manager, qui nous
permettra ensuite d'accéder à ce script à partir de ce script, qui est vraiment, vraiment utile car
ce que nous pouvons faire, nous pouvons aller ici pour corriger la
mise à jour et nous pouvons taper. Si vous ne voulez le faire que
sous certaines conditions. Nous allons appeler le
gérant de l'État George State. Et nous pouvons accéder aux variables dans ce
script géré par l'état simplement en tapant point puis le nom
de la variable. Je vais taper
deux signes égaux. Et puis on va dire jouer avec un P. majuscule
en dessous de ça. Nous allons mettre
notre code ici, ce qui
signifie que chaque image, seulement si nous sommes en
état de lecture, nous allons définir la vitesse du point
RB sur cela. Sinon, nous ne le sommes pas. Cela peut être vraiment cool
parce que lorsque nous entrons dans Unity et que nous touchons Play, nous pouvons voir que nous
ne bougeons pas. Et si je devais entrer en
jeu dans l'État,
je commencerai à bouger. Mais dès que j'ai changé
quelque chose de stock, ce qui est
vraiment, vraiment cool, ça va nous permettre, comme
je suis sûr que vous pouvez le comprendre, créer des
états différents pour notre joueur. La façon dont je vais le faire, c'est que je vais passer à la
déclaration que je viens d'écrire. Et maintenant, la dernière chose que je
dois faire est de m'assurer que cet état est attribué fonction de ce que je veux que
l'état soit. Quand je commencerai, je
vais toujours vouloir que l'État soit égal au jeu.
Nous commençons à bouger. Mais quand j'entrerai en collision avec quelque chose, je
vais vouloir mourir. Lorsque j'entrerai en collision avec un obstacle, je vais vouloir
déclencher l'état de mort. Cet état de mort va être
exactement ce que ça ressemble. Il va mettre cet
état à jour et il est évident que nous ne
bougerons plus. Et ce qui est génial,
c'est que plus tard, lorsque nous
ajoutons des effets de mort et toutes
sortes de choses comme ça, nous pouvons utiliser la machine d'état
pour simplifier ce processus. Je vais supprimer
ma mise à jour car je
n'en ai pas besoin ici. Et je vais créer
un nouvel événement déclencheur. Maintenant, si vous vous souvenez du dernier
épisode ou de deux épisodes, nous avons eu nos propres événements de collision. Et c'est essentiellement
dire quand je entre en collision, faites ceci et ce code, évidemment au fur et à mesure que nous sommes allés, lorsque je suis entré en collision avec le sol, je veux mettre le terrain à la vérité. Nous allons créer quelque chose de
très similaire ici. Nous allons être annulés sur Trigger, Enter 2D sur l'entité déclenchée d est exactement la même que
sur collider en 2D. C'est juste que le collisionneur
est un déclencheur. Donc, parce que notre joueur va utiliser
un collisionneur normal, vous pouvez l'être, pourquoi
utilisons-nous un déclencheur ? Mais la raison est
en fait que les obstacles que nous
allons ajouter dans une seconde, nous allons utiliser des
déclencheurs pour que événement
déclencheur s'active lorsqu'
un collisionneur touche un déclencheur, mais il ne s'active pas. quand il est entré en collision de
tête pour collisionner. Nous allons entrer ici
et lors de notre événement déclencheur. Maintenant, ça va être une
longue ligne de code et il va utiliser un
certain nombre de concepts. Nous ne sommes pas encore vraiment passés en revue. Et la raison pour laquelle je ne les
ai pas dépassés,
c'est parce qu'ils
ne sont pas incroyablement pivots à
ce stade du cours. Mais l'unité, une fois que nous
les utilisons pour une raison quelconque. Nous pouvons aller ici. Si nous allons ici, nous pouvons voir que nous venons de
dire que le collisionneur de points de collision activant partout où il
vit dans l'obscurité comparativement à notre vérification que
l'étiquette est au sol. Mais lorsque nous utilisons trigger, nous devons taper une
ligne de code beaucoup plus longue qui
se passe comme ceci. En cas de chute de collision, oui ,
composant,
vis ouverte, supports ouverts. Et nous allons dire que le collisionneur de
polygones 2D est le type de
planeur que nous utiliserons
pour nos ennemis. Ensuite, nous allons mettre des
parenthèses, George, comparer l'étiquette, un autre
crochets ouverts, puis un obstacle. Maintenant, vous allez peut-être y aller, quoi dans le monde
et nous écrivons simplement, et je ne vous en veux pas parce que
cela utilise toutes sortes de concepts que je ne voulais pas enseigner
à ce
stade du cours. Je ne sais pas
pourquoi Unity nous oblige à utiliser tous ces concepts pour une ligne de code
aussi simple. À mon avis, je ne
comprends pas pourquoi inconscient est un point de
collision que le Colorado a eu juste parce que d'
habitude le déclencheur, mais pour quelque raison que ce soit
habituellement une fois que c'est comme ça et j'ai essayé dans un précédent
sujet de cette vidéo, faites-le dans l'autre sens et cela
cause toutes sortes de problèmes. Il suffit donc de copier le code
exactement comme je l'ai fait. Et ne vous inquiétez pas si
c'est un peu déroutant. Point de collision de Bouddha composant fgetc ouvert ou inférieur au signe, puis collisionneur de polygones 2D
supérieur au signe, crochet ouvert, crochet de
fermeture, balise de comparaison de points, crochet ouvert, guillemets, guillemets d'obstacle,
crochet de fermeture. Et puis nous allons écrire
dans notre déclaration if, l'état est vrai. Maintenant, la première chose que nous
allons faire pour vérifier si cela fonctionne,
c'est que nous allons
réellement faire en sorte que notre collision soit un nouveau
collisionneur, un nouvel objet. J'appelle ça un obstacle et vois si on a arrêté de
bouger quand on l'a frappé. Nous allons donc passer ici dans le dossier
des ressources du cours. Et nous allons
cliquer sur le triangle et le faire glisser dans notre scène. Comme ça. La première chose que nous
allons faire, c'est que nous allons
réduire ce triangle. Déplacez-le à peu près là. Et je vais rendre le mien rouge. C'est une couleur décente. Rouge plus foncé. Maîtrise comme scène. On y va. Ce que nous devons maintenant faire, c'est que
nous devons nous assurer que lorsque nous entrons en collision
avec cet obstacle, nous traitons l'état mort. Mais il est évident que cet obstacle n'a pas l'étiquette d'obstacle. Donc pour changer cela,
nous devons aller ici, vous devez ajouter une balise
comme nous l'avons fait la dernière fois et tapez un obstacle. Exactement comme je l'
ai écrit, Capital O. Ensuite, nous irons ici. Nous allons cliquer, désolé, pas le joueur, le triangle sur lequel
nous allons cliquer ici. Et lorsque vous cliquez sur
obstacle, il y a maintenant une étiquette d'obstacle, mais nous n'avons pas encore de collisionneur
attaché à ce triangle. Nous allons devoir effectuer
ce type add component, le collisionneur de polygones du collisionneur de polygones 2D
antérieur. Et assurez-vous que c'est un déclencheur. Nous pouvons voir que c'est parfaitement
autour de notre triangle. Si nous cliquons sur Play, devrions recharger nos assemblages de
script, puis nous devrions
bouger, bouger, bouger, bouger, récupérer notre joueur. Parfait. Dès que nous entrons en collision, l'état
mort se déclenche. Ce
sera en fait le début d' un autre gros bâton et je vais faire
du développement de jeux. Nous venons de créer une sorte
de mini machine à états. Cette
machine à mini-états nous permet de suivre quand le joueur
est mort ou vivant. Et je vais vous montrer à
quel point il est facile développer cela dans
le prochain épisode. Mais si votre code
fonctionne comme le mien, excellent travail comme toujours, dissociez mon
code
d'origine dans les ressources de la vidéo. Si le vôtre n'a pas
fonctionné, mais bon travail. Tout le monde devrait
travailler, apparemment très bien. Et je vous verrai
dans la prochaine vidéo.
10. Notre boucle de jeu: Salut, et bienvenue à
nouveau dans l'unité. Dernier épisode, nous avons créé notre
toute première machine d'état, ce qui nous a permis,
lorsque vous jouez au jeu, avoir le joueur dans
deux états différents, à savoir jouer quand
il ne touche pas l'obstacle et la dette dès que possible.
car il a frappé l'obstacle. Et cela pourrait ne pas
ressembler à une très grande chaîne. C'est vraiment, vraiment bien et c'est vraiment
une étape importante dans notre
parcours de développement de jeux, car cela va faire beaucoup de travail
pour
faire fonctionner une boucle de jeu. Et une boucle de jeu en termes simples, est fondamentalement tout ce qui nous
permet de jouer à un jeu ou de gagner et de perdre et de réessayer de l'
expliquer d'une autre manière, vous pouvez penser à
une boucle de jeu comme un processus à faire
Assurez-vous que le joueur n'a pas à redémarrer
l'application chaque fois qu' il
veut arrêter le jeu,
évidemment dans notre jeu. Maintenant, si vous jouez à notre
jeu et que vous perdez, et Emily, si vous
touchez l'obstacle, la première façon de
continuer à jouer est
évidemment de
relancer le jeu. Nous voulons changer cela. La première chose que nous allons
faire, c'est que nous allons entrer dans notre script State Manager. Et en fait, tout au long de
son absolu, nous allons seulement éditer
les manuscrits d'État. Je vais télécharger
une version mise à jour du
manuscrit d'état à la fin. Mais nous allons éditer
ce que nous avions de la dernière fois. Double-cliquez donc
sur State Manager. Quand ça se chargera,
vous allez commencer par créer une nouvelle procédure. Donc, vous allez aller ici
et vous allez taper public, vide mourir. Ce nom très horrible pour une procédure va
essentiellement être le code que nous exécutons une fois que le joueur est mort
ou qu'il a un état mort. Vous pouvez le voir ici
où les étudiants peuvent vivre un obstacle ou mourir. Nous venons de mettre notre État à l'endettement, mais nous voulons en fait appeler
cette procédure morte, puis faire tout ce qui
s'inscrit dans cette procédure pour
diverses raisons. Le principal est
que de cette façon, nous pouvons ajouter des effets de profondeur ou
ajouter un minuteur pour répondre, ce que nous allons
faire dans cet épisode. Des choses aussi. On va lui faire couper ce code et le
coller ici. Et je vais en fait
changer cela D majuscule parce que
je pense que c'est mieux si
c'est
un je pense que c'est mieux si P majuscule et un D. majuscule. Ensuite, ici,
sous l'état d'ID froid, parenthèses et le point-virgule,
a commencé à mourir la procédure. Maintenant, lorsque nous avons heurté un obstacle, nous allons appeler
cette procédure. Je vais mettre
mon état à mort. Et tout devrait fonctionner comme il a
disparu tout le temps. Vous devriez avoir un programme
de travail qui effectue les opérations suivantes. Ça devrait courir, courir, courir, aller comme la dernière fois. Dès que nous sommes
arrivés, nous devrions arrêter bouger comme
nous l'avions auparavant. Ce qui est vraiment
génial, c'est nous pouvons maintenant à partir de cette procédure, nous
inscrire ou répondre si nous allons ici
et que nous sommes publics, nuls et que nous allons appeler
celle-ci avec le téléphone. Placez les parenthèses ouvertes. Et je vais répondre. La procédure va nous
remettre à la position que nous
voulons être au début. Nous voulons nous
assurer de revenir à notre position de départ 0 générée. Je vais donc fixer
cette position forte pour être là où je veux
commencer l'endroit. Je vais le
jouer ici. Et je vais dire, d'accord, c'
est une bonne position forte. C'est moins 8,52 et moins 1,69. Allez ici et nous allons aller en France comme nous souvenir
du code du script de caméra, nous parlons de la transformation étant l'objet du jeu
attaché au script. Exactement la même
chose ici, nous parlons de la transformation d'un
joueur. La position des points est égale. Encore une fois, nous allons
utiliser un vecteur trois, nouveau vecteur trois, un crochet
ouvert,
désolé, des crochets normaux. Et nous allons taper moins 8.521.69. Et bien sûr 0. Maintenant, tout cela devrait fonctionner parfaitement, mais
nous pouvons le voir ici. Il est dit que l'on ne peut pas
se convertir à partir de fluides C'est essentiellement
parce que nous n'avons pas dit à Unity que ce que nous
stockons ici sont des décimales. Nous venons de le dire. Ce
ne sont que deux chiffres que nous avons mis. Dots in. Unity va automatiquement
devenir confus
quant à ce qu'ils sont. Ils vont penser que c'
était un double, c'est un flotteur. Donc, pour minimiser cela, nous allons simplement
mettre la lettre F, minuscule f après ces
deux années,
vous saurez alors
qu'il s'agit de vous saurez alors
qu'il s'agit deux flotteurs et que nous
sommes prêts à partir. Avant de retourner dans Unity, je dois m'
assurer d'appeler ce réponse à partir du code de teinture. Laissez-moi aller ici. Je vais répondre à froid, ce qui
signifie que dès ma mort, j'ai mis mon état à mort. Et puis je réponds, eh bien, c'est que ça va me
faire répondre, mais je vais toujours
être dans l'état mort. Et ça va ressembler
un peu à ça. Partez
en
voyage, voyagez avec des ennuis, mourrez, puis retournez ici et soyez toujours
dans l'état mort. Vous pouvez voir que je ne bouge pas
parce que je suis dans l'état mort, mais nous ne
voulons pas vraiment que cela se produise. Nous voulons continuer à bouger. Donc, nous allons aller se transformer
Sarah, et ensuite nous allons
remettre notre État
à la hauteur de la réclamation. C'est notre tout premier
exemple de ce qu' est
une boucle de jeu, car maintenant
nous pouvons voir si nous touchons le jeu, nous pouvons avancer, avancer. Si nous mourons, nous
réagissons là où nous étions et
nous pouvons jouer le jeu. En fait, si on saute par-dessus ça,
ce que je suis juste de le faire, je ne le ferai pas. Je ne sais même pas si c'est possible parce que je voyage à un demi-kilomètre à l'heure,
mais oui, ce n'est pas le cas. Mais si nous avons fait notre vitesse de
jeu ici, si nous avons fait mon discours
et ma vie avant, puis j'ai sauté
au bon moment. Je peux vraiment passer en revue ça
et je pourrais continuer à jouer. De toute évidence, je
vais maintenant avoir des
ennuis parce que nous n'avons pas
fini de construire la carte. C'est la base
d'une boucle de jeu. Et en fait, la dernière
chose que nous allons faire dans cet épisode, c'est que
nous allons changer la vitesse à trois
parce que deux sont juste un peu lents, même
à des fins de test. Si tout
fonctionne comme moi, vous avez créé votre
tout premier thème. Maintenant, la seule chose que nous devons
faire dans le prochain épisode, nous allons ajouter
un léger minuteur ne pas répondre
immédiatement, nous mourrons puis nous répondons. Et c'est en fait
là que notre machine
d'état va être encore plus utile, mais contre cela
dans la prochaine étape. Ce que vous devriez avoir maintenant,
c'est un script de réponse normal. Et si ça fonctionne
parfaitement bien.
11. Minuteurs: Salut, et bienvenue
à Unity. Dans notre dernier épisode,
nous avons créé notre groupe de jeux, ce qui représente un autre grand pas vers la réalisation de notre
jeu mobile. Et si nous cliquons sur Play,
nous pouvons le voir en action ici lors de
ce que nous avons fait la dernière fois. Nous allons avancer et dès
que nous mourrons, nous revenons au début, ce qui est vraiment, vraiment cool. Maintenant, il y a quelques
problèmes avec cela, mais tout d'abord, il n'y a pas de temps dans
la journée car nous
apparaissons pratiquement dès
notre mort, ce qui n'est pas idéal. Et deuxièmement, nous frayons un peu plus haut que prévu à
l'origine. Quand je regardais la
vidéo, j'ai réalisé que j'avais entré
la mauvaise valeur. J'ai entré 1,69 au lieu
de moins 1,69. La première chose que nous
allons faire dans ce cours est que nous allons aller de
l'avant dans cet épisode,
frère, c'est que nous allons
aller de l'avant et régler ça. Je vais donc revenir à mon scénario que j'ai fait la
dernière fois et ajouter un inconvénient. Maintenant, ça devrait paraître
un peu mieux. Mais notre problème
avant de frayer
dès notre mort est toujours un problème
qui doit être résolu. Si nous touchons Play ici, nous verrons que nous
voyageons et voyageons. Nous déversons maintenant plus
bas, mais nous faisons toujours cuillère dès notre
mort, ce qui n'est pas génial. Donc, pour résoudre ce problème, je vais introduire
un minuteur qui nous donne un peu de temps à partir
d'un T2 du
milieu des années 90 et je répondrai à nouveau. Nous pouvons donc voir notre machine
d'état en action. Laissez-moi aller de l'avant,
ouvrez toujours le script State Manager. Et je vais le faire est un processus
assez simple, mais il va utiliser un terme et une
procédure très peu familiers numérateur IEE plus froid. Maintenant, j'ai énuméré
ici, notez cela. Il fonctionne de la même
manière qu'une procédure. Je vais appeler ça du retard. Mettez des parenthèses,
puis mettez des crochets. Maintenant, pour être tout à fait
honnête, j'ai utilisé, j'énumère pendant très
longtemps sans savoir ce qu'ils faisaient juste comme
commandes de temporisation ou de commandes d'attente. Et c'est tout à fait correct. énumérateurs sont un peu plus
compliqués que cela. Ils doivent renvoyer une valeur. Comme vous pouvez le constater, c'est un peu inconnu pour nous à
ce stade du cours. Mais pour l'instant, tout ce que vous
devez savoir à leur sujet c'est qu'ils sont les deux que nous
allons utiliser pour retarder. Et nous allons écrire un code
qui dit rendement, retour, nouveau. Attendez, une seconde, ouvrez des
crochets, un point-virgule. Ensuite, nous allons appeler
la procédure de réponse. Maintenant, la dernière chose que
nous devons faire est au lieu d'appeler
répondre directement ici, nous allons appeler la coroutine de
démarrage, crochet
ouvert, le retard, les parenthèses,
puis un point-virgule. Vous pensez peut-être Quel est le **** que
nous venons de programmer ? Et je ne vous en veux pas
parce que nous venons
d'ajouter une chose complètement
inconnue
, puis complètement
inconnue. Mais je ne veux pas vraiment m'
intéresser à toutes les utilisations de cette chose parce que ce n'est pas vraiment important
dans notre cours. En fait, vous pouvez
créer des jeux
mobiles en utilisant ces derniers comme des mois
temporels. Et pour mes premiers jeux mobiles, c'est tout
ce que j'ai fait.
Tout ce que je fais ici. Vous pouvez y penser
comme si j'appelais simplement une procédure et que la procédure appelle
maintenant la procédure. La seule raison pour laquelle la procédure
semble différente est qu'elle doit être utilisée pour
attendre un certain temps. Et je ne veux pas
entrer dans toute la logistique maintenant
parce que ça va
devenir assez compliqué et
ce n'est pas très utile. Pensez-y
comme commencer la coroutine, qui est
essentiellement un mot fantaisiste pour une procédure de magasin
qui peut attendre, puis une demi-procédure
qui peut attendre, puis commencer ma nouvelle procédure. Ce code peut
sembler un peu inconnu comme je l'ai
déjà dit, ne vous inquiétez pas. Si vous l'écrivez
comme je l'ai
fait, cela devrait parfaitement fonctionner. Et nous n'allons pas
faire beaucoup plus de choses que j'ai énumérées
parce que c'est un peu plus compliqué que nous n'avons besoin de
revenir dans mon jeu maintenant. Et je clique sur Play. Nous pouvons voir que je devrais
avancer, avancer, mourir. Et puis, après une
deuxième réponse, ce qui est bien meilleur que ce que nous avions auparavant, ce qui est génial. Si vous avez obtenu ce bon
travail. Cela faisait partie d'un court épisode
parce que je voulais juste présenter le
sujet des horaires. Mais comme je l'ai dit, c'est
peut-être un peu inconnu. Ne vous inquiétez pas à ce sujet. Assurez-vous simplement que votre code
fonctionne comme le mien. Je vais évidemment télécharger mon code comme je l'ai
fait tout ce temps. Vous pouvez donc le télécharger
si vous rencontrez un problème. Mais si ça marche bien et je vous verrai
dans la vidéo suivante.
12. Générer notre carte: Salut, et bienvenue à
nouveau dans l'unité. Maintenant, au cours des dernières vidéos, nous avons créé un jeu mobile
semi-fonctionnel où vous pouvez vous déplacer. Si vous mourrez, vous
répondrez et vous pouvez sauter par-dessus tout
et continuer. Mais le problème qui se pose si vous sautez par-dessus le triangle, vous ne pouvez rien faire pour
vous empêcher de
tomber inévitablement dans l'abîme. Et c'est parce que les extrémités de
la carte sont là. Dans cet épisode.
Ce que nous voulons faire, nous voulons créer une carte
qui dure toujours. Il existe maintenant deux
façons de le faire. Premièrement, nous pourrions simplement faire bouger
cette partie de la carte avec le joueur. En
tant que famille, nous ne faisons pas
tous la même chose et que nous
ne manquons jamais de maths, mais c'est assez ennuyeux. Ce que nous allons plutôt
faire, c'est que nous allons créer un système qui engendre des
parties de notre carte pour nous. Lorsque nous atteindrons certains
points, si j'y arrive, je vais créer une nouvelle partie
de notre carte pour nous, ce qui est vraiment, vraiment cool. La raison pour laquelle c'est tellement cool, c'
est parce qu'elle nous permet d'
avoir une carte infinie variée afin que nous puissions modifier
la hauteur qu'elles vont, nous pouvons changer la
longueur si nous le voulons. Évidemment, nous ajouterons
tout cela plus
tard lorsque nous approuverons
tous les jeux mobiles. Mais pour l'instant, nous allons
juste y arriver. Ils ont donc tous parlé
devant nous afin que nous
puissions avoir une carte
qui fonctionne réellement. Maintenant, la première chose que
nous allons devoir faire, c'est nous allons
devoir réduire ces
segments de carte parce que je pense que les segments de
cartes devraient
être à peu près aussi gros. Faisons en sorte que le
triangle s'enfile. Ensuite, la deuxième chose que
nous devons faire
est transformer ce
segment de carte en préfabriqué. Dans notre préfabriqué, vous pouvez
le considérer comme un tampon. Je veux tout copier
dans cet objet, le
transformer en un fichier que je peux ensuite mettre dans mon jeu. C'est ce que je fais. En fait, il suffit de
prendre cette parole et je le fais glisser dans le
dossier des ressources et je le lâche. Il crée un fichier
préfabriqué pour moi. Ensuite, je peux faire glisser
ce fichier préfabriqué dans ma scène et le faire apparaître
comme je le voulais. Et nous allons le faire
avec du code. Mais c'est vraiment
cool parce que
si je vais de l'avant et que je change
quelque chose à ce sujet , par
exemple, rendre cette couleur olive
jaune clair et bizarre. Cela change tout le
préfabriqué pour que je puisse réellement le mettre à jour
comme je veux, et tout se mettra
à jour avec, ce qui est vraiment, vraiment cool. De toute évidence, nous devons créer le code qui
les engendre réellement. Mais avant de le faire,
nous allons d'abord ajouter
un autre collisionneur. Maintenant, cette partie est très importante. Nous allons entrer dans notre préfabriqué et nous avons déjà
un collisionneur de boîtes, mais nous voulons ajouter
un collisionneur à gâchette. On va y aller et ajouter
un collisionneur de bord cette fois, ce sera le collisionneur de
bord 2D. Et il va voir
une ligne verte. C'est comme ça que le curseur Edge. Ensuite, nous allons
cliquer sur
ce bouton qui indique Edit Collider. Et nous allons cliquer dessus et
nous allons faire glisser ça, ce côté là
où la boîte
apparaît à peu près là. Je dirais que tant que c'est environ les deux tiers de
la longueur, c'est très bien. Ensuite, nous allons
aller de l'avant et décocher ce menu de points et
nous allons copier, nous allons changer cela en
un pour qu'il soit plus facile à stocker. Ensuite, nous allons
copier l'élément un, la même position où ils sont
tous les deux stockés là-bas. Et puis la dernière chose
que je vais faire,
c'est de monter légèrement. Assurez-vous qu'il s'agit d'un acier. Ce que j'ai
fait, c'est que j'ai déplacé l'
exposition gouvernementale en un point de ce point en décochant
ce menu de points. Ensuite, il suffit de et de suivre le cours
cognitif, puis le suivre
et de suivre le cours
cognitif, puis de faire les valeurs Y pour qu'elles
ressemblent à un mur que vous ne
pouvez pas traverser, qui est exactement ce que nous voulons. Et évidemment, si
j'y jouais maintenant, j'irais là-bas et je m'
arrêterais , je ne pourrai pas y
passer. Donc, si j'en fais un
déclencheur, je serai en mesure de passer parfaitement. Mais cela crée en fait
quelques problèmes pour nous. Je me souviens plus tôt, lorsque j'
éditais l'un de nos
précédents scripts, je crois que c'était ce
responsable d'État ici. Nous pouvons voir que nous avons un événement déclencheur
inconnu. Et si vous vous rappelez que
j'ai dit, je me souviens
que c'était une façon
très compliquée d' atteindre l'
étiquette de l'objet. Et j'avais raison,
c'est très stupide. Et ce n'était pas vraiment
ce que nous devions faire. Unity ne
nous oblige pas à écrire
toute cette ligne de code. Nous pouvons en fait tout
retirer ici et remplacer par dot
GameObject, balise de comparaison de points. Et cela fera
exactement la même chose pour nous. Et la raison pour laquelle cela est
si utile, c'est parce que la façon précédente était d'obtenir le collisionneur puis d'
obtenir l'objet du jeu, ce qui était juste un
peu fastidieux. De cette façon, c'est beaucoup plus simple car nous pouvons simplement
obtenir le GameObject. Je veux que vous fassiez un manuscrit
d'état
et changiez cela en objets de jeu
sombres. Tout fonctionne donc parfaitement. Vous auriez pu le
laisser tel quel, mais croyez-moi, vous
rencontrerez des problèmes plus tard. Cela ne vaut pas la peine de changer
simplement l'objet
D2L et tout
devrait fonctionner correctement. Ensuite, nous allons
rencontrer un nouveau script. On va faire
quelque chose de très similaire. Mais commençons par
tester cela fonctionne. Si c'est le cas, nous devrions
pouvoir mourir comme nous l'avons été. Et répondez. Et vous pouvez voir qu'il
fonctionne parfaitement. Alors allez-y et assurez-vous de changer cela en
collision avec un objet de jeu. La raison pour laquelle je pensais que c'était
la méthode la plus compliquée provoquait une prise antérieure. Je l'avais écrit de la
même manière que cela et l'unité m'avait dit que c'
était déprécié et ancien. Je suppose donc que c'était
la seule façon de le faire, mais je suppose qu'il y avait
un autre moyen plus simple. Donc, mes excuses pour cela, mais assurez-vous de le réparer à collision avec la balise de comparaison de
points GameObject. C'est beaucoup plus simple. Ensuite, nous pouvons aller de l'avant
et créer nos nouveaux scripts. Nous allons cliquer ici avec le bouton droit de la souris. Je vais créer un script
C-sharp. Nous allons appeler
ce géniteur de carte. Nous allons réellement ajouter
ce script au lecteur. La raison pour laquelle nous pouvons
l'ajouter aux joueurs parce que nous voulons créer la carte par rapport
à la position du lieu. Donc, si je fais glisser
ça sur un joueur comme ça, on peut voir que j'ai mes
cartes, hacher le joueur. Maintenant, quand j'atteindrai des points dans mon
code où je veux créer une pièce de carte à jouer va
passer à travers
elle et ça va les diviser
en pièce devant la pièce, qu'il a fait exactement
ce que je veux. Donc, la façon dont nous allons vérifier où nous le faisons est avec
ce collisionneur que nous avons ajouté, nous avons
évidemment
un planeur à gâchette. Donc, nous allons dire que chaque fois que
la paire passe au-dessus gâchette Collider crée une nouvelle pièce la carte, ce qui est parfait. En fait, je vais
entrer dans mon code là où j'ai eu, je vais aller à l'
énoncé de code. Je vais copier ça sur la
grille d'aération exactement comme elle est. Copiez-le. Ensuite, je vais
ouvrir mon nouveau script, le script de création de carte. Je vais les supprimer
et quoi les mettre là. Vide sur l'entité trig. La seule chose que je vais faire
ici, c'est que je vais changer cette étiquette d'
obstacle en sol. Vous vous souviendrez que c'était l'étiquette nous avons faite pour le sol plus tôt. Et je vais supprimer
cette procédure et la remplacer par ma procédure d'
instanciation, que je vais
faire une seconde. Maintenant que je vais brièvement
éviter que les préfabriqués ne soient, je vais vous montrer comment les mettre à la
cuillère via des courbes. Ce que nous allons faire, nous
allons voir notre scénario ici, et nous allons
créer une nouvelle variable,
publique, et nous allons créer une référence à un objet de jeu. Maintenant, rappelez-vous que nous l'avons
fait plus tôt avec notre appareil photo suivant le
script où nous avons d'abord créé un objet de jeu,
puis nous avons changé pour une transformation parce que nous avons réalisé nous n'avions pas besoin d'un objet de jeu. génial avec les
objets de jeu, c'est que nous pouvons stocker toutes les entités
dans les scènes Unity, ainsi que d'autres fichiers de ressources qui sont des objets tels que des préfabriqués. Nous pouvons stocker des préfabriqués dans des objets de
jeu
, puis les gâter via le code deviendra un objet de
jeu public maintenant appelé plancher. Va par ici et je change
ce code et je
fais de l'
espace d'objet de jeu G capital, puis je le mets là où je veux appeler
ça un flux
de mine de charbon que je
mettrai un signe égal. Ensuite, j'écrirai le
mot « instancier ». Je vais ouvrir les parenthèses. je vais taper la
variable en flux. Ensuite, j'écrirai comme,
puis encore un objet de jeu
G majuscule. Maintenant, vous pouvez être
un peu confus
quant à ce que
nous faisons exactement ici. Mais en gros, ce que dit cette ligne
de code,
c'est que nous avons cette
variable ici, que nous allons
relier au flux. Allez ici, faites défiler vers le bas
et faites glisser le flux. Il y a maintenant un lien entre eux. Donc, c'est cet objet que
nous allons
mettre en place qui dit :
Ok, quand nous entrons en collision avec un déclencheur qui a l'étiquette
au sol, en d'autres termes, lorsque nous passons ce point, je veux instanciate, ce qui signifie créer
un flux en tant qu' objet de jeu et le stocker
dans cette variable locale. Je me souviens que nous sommes passés aux variables
locales il y a
très, très longtemps, dans notre introduction
à la vidéo C-sharp. Mais en gros, ce
ne sont
que des variables que vous pouvez référencer dans cette méthode,
car nous allons créer l'
objet entier dans cette méthode. C'est parfait pour nous. En gros, ce que cette
ligne de code
va faire va le
mettre quelque part, mais nous voulons
contrôler les classeurs. Donc, sous la scène, je vais
aller transformer la pièce de flux. N'oubliez pas que c'est sa position, sa
rotation et son échelle. La position des points est égale au
nouveau vecteur trois. Et puis je vais marcher dans les trois positions où je
veux que notre transformation soit. Évidemment, je sais
que je veux que mon z soit 0, presque 0 pour l'instant. Je veux que mon z soit 0 et je veux que mon y soit quelque chose en bas de l'
écran, mais mon x, je vais évidemment toujours
vouloir être différent parce que si je me
déplace, que je vais le long, Ensuite, je veux dépenser quelqu'un,
si je saisis toujours cette valeur moins
quatre et que je me déplace, il suivait
exactement le même endroit. Ou si, même si je mettais
fin à la valeur ici, moins trois en
arrivant à celui-là, ce préfabriqué qui
aurait ces déclencheurs. Je veux juste
avertir la troisième pièce. Cela le mettrait au même
endroit, ce qui n'est pas génial. Je veux vraiment le
frayer par rapport à la position du lieu. Je ne ferais pas ça. Nous allons trouver le
décalage comme nous le faisons avec notre caméra suit un
script avec des variables. Une fois encore. Je vais retourner
ici et je vais taper public int offset. Je vais en fait
aller de l'avant et taper une valeur Y similaire à celle-ci. Ils ont donc tous parlé à
la même valeur Y. Si je fais ça moins 4,6417, je vais mettre ça
dans ma valeur Y. Ensuite, ici, je vais dire, n'oubliez pas de mettre votre FM qu'il sache que c'est un flotteur. Ensuite, ici, je
vais dire transformation, t
minuscule, ce qui signifie la
transformation là-bas. Ceci est attaché, dans ce cas, au joueur
parfait, position x plus décalage. Cela va faire cela. Ces deux lignes de code vont
dire, d'accord, quand je suis en collision avec quelque chose, lorsque je déclenche mon événement, cela signifie
que je veux créer
un nouveau morceau de terre. Je vais créer une nouvelle
variable, une variable locale, et je vais l'
appeler flux. Et cette variable va
en fait
créer un nouvel objet pour moi
et le mettre dans la scène. Et puis cet objet, je vais mettre dans une position moins 4,6 pour y,
qui est autour de van. J'ai vu des zéros. Et là où que je sois
plus une certaine valeur, nous pouvons le
voir en action si je vais de l'avant
et simplement ici, et que j'ai mis la valeur
cinq pour la compensation. Je ne sais pas si ça
va marcher. Il est peut-être un peu trop
proche, peut-être un peu trop loin. C'est pourquoi nous utilisons des variables. Mais je vais l'essayer. Si je vais ici,
allez ici. Nous pouvons voir qu'il est
en fait beaucoup trop proche. Nous pouvons voir que ces
deux-là les
chevauchent un peu
ici, mais nous sommes en train de créer une carte
comme nous le voulions. Donc, je vais aller de l'avant
et
changer ça par quelque chose de plus dix. Voyons à quoi ça ressemble. Si je recharge mon jeu, nous pouvons voir que je crée presque
parfaitement
une carte juste après, ce qui est plutôt cool. Mais en fait, je veux rendre le joueur un peu plus rapide et je veux faire en sorte que
ces pièces mathématiques également un peu plus éloignées. Je vais changer ça
à 12 et je vais changer la vitesse de ma place à cinq. Ce qui devrait se passer maintenant, c'est que j'ai une carte sur laquelle je peux sauter. Beaucoup plus facile, je serai
beaucoup plus rapide maintenant vous pouvez voir que je dois
sauter et le frapper pour que j'
atterrisse sur chaque nouveau segment de carte, ce qui est vraiment cool
car la carte va être créée au fur et à mesure que nous avançons, ce qui est
vraiment, vraiment cool et nous pouvons commencer à le
rendre plus intéressant. Mais avant de faire tout cela, nous devons en fait créer
un peu plus de code pour nous assurer que
nous n'
encombrons pas notre inspecteur d'objets, si nous allons ici et que nous
allons ici, désolé, Je vais hiérarchier, nous pouvons voir les plans d'étage y
sont créés. Ces clones de flux
sont les préfabriqués en
statut dans le jeu de coquilles. Nous pouvons voir qu'ils sont en train de
se remplir et ils ne
sont pas détruits. Et je n'en ai plus besoin parce que je n'ai plus
utilisé. Ce que je vais faire, c'est que je
vais créer un nouveau scénario. Et je vais dire que
lorsque ma position, c'est-à-dire la position,
je vais attacher le script à
ce flux au préfabriqué. Je vais dire quelle est
ma position inférieure à celle du joueur
plus un certain montant. Alors, quand je suis aussi
loin de la caméra, détruis-moi. Et ce sera un scénario
très simple. Et je vais cliquer avec le bouton droit sur
créer un script C-sharp, et je vais appeler ce flux. Ensuite, je vais simplement
aller de l'avant et ouvrir le flux. Et je vais dire dans
les règles de mise à jour, première chose que je dois
faire avant de le faire,
c'est que je dois
créer de nouvelles variables. Je sais ce que sont les
transports publics avec les joueurs. Transformation publique, comme nous l'avons utilisé pour
la jupe à contre-courant, je vais appeler ça un joueur. Ensuite, je vais aller de l'avant
ici et je vais dire que point x de la position du point de
joueur transforme le point x,
et ce sera ma seule
chose sur cet outil ici. Je dis juste ma position de
transformation point x. Maintenant, je dirai si mon emplacement actuel dans le plan x est inférieur à la
conversation et à l'explication du lieu. Je veux aller de l'avant
et me détruire. Et la façon dont je vais
faire ça, c'est que je vais juste taper détruire comme ça. Ouvrez les crochets, puis l'objet de jeu
minuscules. Il s'agit essentiellement de me
détruire parce que l'
objet de jeu minuscules fait référence à n'importe quel objet de jeu auquel ce
script est attaché, auquel cas nous
parlons du sol. Ce préfabriqué, eh bien,
ça va faire quand ma position est inférieure à celle d'un
joueur, me détruire. Mais je suis sûr que vous pouvez comprendre que
l'exposition de ces morceaux de flux sera inférieure à celle du joueur quand
ils seront sur place. Mais nous ne voulons pas encore
dessiner car nous avons toujours besoin de cet étage. où nous allons vraiment faire, c'est dire quelle est ma position inférieure
à l'expédition au joueur moins, puis
une autre valeur de décalage. Et on va
faire ça moins dix parce que ce n'est
pas forcément exact. Il faut juste qu'il y ait un peu plus de marge de manœuvre pour que nous sachions que nous
ne le détruisons pas. Dès que nous le mettons en pause. Si cela fonctionne ou doit se produire, c'est que chaque image que
nous devrions vérifier si nous sommes trop loin et si nous le sommes, nous devrions nous
détruire nous-mêmes. Nous allons juste
économiser des performances à long
terme, c'est vraiment bon. Je vais aller de l'avant et aller à
mon préfabriqué ici. Je vais cliquer sur Ajouter un composant
et je vais écrire le nom du script
que je viens de créer. Et nous pouvons voir que c'est
vraiment ici. Nous pouvons additionner la dette
et ensuite j'ai juste besoin d' ajouter la transformation du joueur. Mais ce n'est pas si simple,
car ce n'est pas un préfabriqué. Et là encore, nous ne
pouvons pas simplement traîner et je jouerai une femme trans
comme nous l'avons fait auparavant. Nous devons également attribuer
cela par code. Nous y retournerons. Nous allons taper le stock vide
que nous avons supprimé plus tôt, mais nous pouvons simplement
revenir en faisant cela. Ensuite, nous dirons que le joueur est égal. Cela va s'exécuter
dès que nous serons instanciés. Dès que nous avons créé,
nous allons entrer en majuscule G GameObject dot phi, ce qui signifie recherche
éditeur, crochet ouvert. Ensuite, nous mettrons des
guillemets et froids en tant que joueur. Parce que nous pouvons voir que notre
joueur est appelé joueur. Nous allons maintenant faire des
recherches sur l'intégrité. Transformation de points. Cela va dire, d'
accord, quand je apparaîtrai, cherche un joueur,
GameObject Dot trouve, ce qui signifie rechercher
la position du joueur et ensuite il ne sera pas
exactement positionné, mais c'est une
façon simple de dire puis
placez-la dans cette variable. Maintenant, si cela a fonctionné,
que devrait-il se passer ? Nous devrions commencer notre jeu. Nous pouvons voir que dès que
nous créons un flux, nous pouvons mettre le jeu en pause et
nous pourrons regarder ici. Ce flux a en fait attribué la transformation du joueur
à ses codeurs R étaient parfaitement en plus de cela si nous créons un nouveau flux
parce que nous pouvons réellement voir l'ancienne pièce
complète est détruite exactement quand
nous avons terminé notre écran, ce qui est parfait car cela signifie que si vous
regardez l'écran, vous ne pouvez voir aucun problème avec celui-ci. Il fonctionne un peu parfaitement. Mais alors que nous faisons
un hors-écran, les pièces de sol
sont détruites, ce qui est vraiment, vraiment cool. La dernière chose que nous
allons ajouter, c'est parce que ces foyers sont créés
juste devant nous. Ça n'a l'air pas génial. Ce n'est pas le cas, il n'a pas
l'air trop cool. Et ce que nous voulons faire, c'est que
nous voulons faire en
sorte
qu'ils soient installés
deux devant nous. Nous voulons donc prendre ce
petit morceau et nous voulons dire que c'est ce qu'il faut faire. Comme je vais le faire,
je vais aller à l'usine. Je n'ai pas changé ce décalage
à quelque chose comme 30. Alors il sera plutôt 24 en fait, c'est
exactement doublé. Une fois que nous aurons défini cette valeur, nous allons
faire encore une chose. On va aller ici. Et au lieu d'en avoir un, nous allons en mettre deux
au début
du match, car je suis
sûr que vous pensez, si nous en mettons un là, il va à l'école
trop loin pour nous puissions sauter , ce qui
ne va pas marcher. Maintenant, si nous jouons au jeu, nous devrions être en mesure de
trouver un bon endroit où nous voulons que cela se mette à la cuillère sans avoir
à sauter pour tomber. Nous avons touché Play. Vous pouvez voir qu'il apparaît
parfaitement là où nous le voulions et il y a toujours des
cartes pour sauter. Il n'y a jamais d'écart légèrement
plus grand parfois, et parfois un
écart légèrement plus
petit, ce qui est notre propre vision novatrice créative de ce jeu. La raison pour laquelle ces écarts
se produisent est parce que nos deux éléments de départ ne sont pas
exactement séparés de 24 unités. Donc évidemment, si vous le souhaitez,
vous pouvez
déplacer cela jusqu'à ce que vous obteniez moins d'écarts ou plus d'écarts
où vous le souhaitez. Je vais laisser
mes phénomènes, mettre le mien là-dessus
parce que je pense que les lacunes ajoutent un peu de
caractère à notre jeu. Si nous continuons ici, nous pouvons voir un
écart un peu plus grand et un écart important. J'ai un peu réduit le
problème. Ils sont tous assez
similaires comme si vous
vouliez utiliser mes
coordonnées, vous le pouvez. Ils sont moins 4.89888.38, ce qui est plutôt bon pour ne pas avoir d'écart. Mais ce qui est vraiment génial,
c'est que nous avons franchi à
nouveau un grand pas vers la réalisation de notre jeu
mobile. Maintenant, nous avons une boucle de jeu
et une carte infinie, ce qui signifie qu'il ne
reste plus qu'à faire est de créer une
sorte d'
obstacle qui se produit sur tous ces éléments, évidemment avec un
peu de variété, ce que nous allons être
à l'étape suivante. Et nous avons un jeu mobile
qui est pratiquement fait, ce qui est vraiment, vraiment génial. Je comprends maintenant que c'était un épisode un
peu compliqué. Je suis sûr que beaucoup de
concepts que nous avons abordés ici étaient un peu déroutants, surtout avec ces activités préfabriquées
instanciantes. Si vous avez besoin de le regarder à nouveau,
je comprends parfaitement. Si vous ne voulez pas le regarder
à nouveau,
c' est aussi très bien parce que
nous allons évidemment couvrir ces concepts un
peu à l'avenir lorsque nous, surtout dans le prochain
épisode où nous serons vont instancier des triangles, les
faire peut-être aussi, et aussi les mettre sur ces blocs de plancher
comme nous le devons. Mais nous y
reviendrons un peu plus tard. Si vous avez
réussi l'épisode et vôtre fonctionne parfaitement bien. Excellent travail. Si vous avez besoin de télécharger
mon code, c'est très bien aussi. Assurez-vous simplement de le
copier exactement et que vous devriez bien
avoir un jeu de travail. Super travail, tout le monde. Et je vous verrai
dans la prochaine vidéo.
13. Améliorer notre carte: Salut, et bienvenue à
nouveau dans l'unité. Dans notre dernier épisode
assez long, nous avons créé notre système de
génération de cartes, ce qui est vraiment très cool. C'est une autre étape importante pour faire une réalité sur un
jeu mobile, car nous avons maintenant
une carte infinie que nous pouvons parcourir lorsque
nous jouons au jeu. Si nous allons de l'avant et le charger, nous pouvons le voir en action
comme nous l'avons fait le dernier épisode. La carte est générée
devant nous et je pense que nous pourrions tomber bien.
nous avons vraiment réussi à traverser. Nous pouvons voir cette
carte en action ici, créant nos nouveaux segments et en
détruisant les anciens, ce qui est vraiment, vraiment cool. Dans cet épisode, nous allons vouloir améliorer cela un peu parce que, eh bien, il s'agit d'un très, très beau système de génération de
cartes. La carte que nous
générons n'est pas la chose la plus intéressante
au monde car nous n'avons pas d'obstacles
triangles, nous avons simplement des morceaux de flux verts nous avons simplement des morceaux de flux verts
qui sont engendrés les uns
aux autres. Et ce n'est pas idéal parce qu'il ne nous donne pas de jeu à jouer, nous donne
juste des pièces de
ScreenFlow vers lesquelles sauter. Et comme nous le prouvons, nous
n'avons pas à sauter. Nous allons commencer cet
épisode en ajoutant points d'
apparition de chaque côté
des pièces d'écoulement vertes. Ensuite, nous allons créer
un système où nous mettons triangles sur l'
un ou l'autre ou les deux. Nous avons donc
une certaine variété sur notre carte. Ensuite, une fois que nous aurons créé notre système triangulaire sur ou l'autre avec des points nés aux États-Unis, nous allons
commencer avec quelques problèmes qui vont
survenir suite à l'
ajout de des triangles, parce que je suis sûr que vous pensez si nous ajoutons des triangles
et que nous
perdons, nous allons répondre, alors il n'y aura pas de
flux pour sauter, car nous avons détruit la règle. Nous allons créer
un système dans lequel nous
créons un plancher et
nous allons en fait apparaître
des pièces de sol sous un objet parent. Et une fois que nous
mourrons, nous serons sûrs d'effacer cet objet parent pour assurer que nous
n'avons pas de doublons. Floor a été
créé après un autre. En plus de cela, nous
allons enfin créer système similaire avec
les
triangles parce que nous voulons nos triangles soient également des objets
enfants au sol. Nous allons ajouter
cela de façon maladroite. Et à partir de ce moment, nous
pourrons avoir des triangles et des planchers afin de ne pas supprimer les pièces de sol
sans triangles. Et nous allons
pouvoir redémarrer le jeu tout en
effacant tout. Commencez d'abord avec les
triangles, si nous double-cliquons
ou coulons préfabriqué, rappelez-vous que c'est ce que
nous gâtons. C'est notre tampon. Et nous passons ici en haut, nous pouvons créer
un objet enfant comme nous l'
avons fait un objet enfant comme avec l'
environnement il y a très, très
longtemps, lorsque nous avons créé
cet objet d'environnement
et que nous ajoutons un groupe d'enfants
Armitage à ça. C'est ce que nous
allons faire ici. Si nous allons sur le bouton droit de la souris et que nous allons créer un vide et appeler cette
pause pour la première position. Nous pouvons créer un objet que
nous plaçons à cet étage. Et quel que soit l'
endroit où nous circulons, cet objet reste toujours le même par rapport
à cette position. qui est vraiment, vraiment cool,
car cela va nous
permettre de faire des
points de sperme pour le triangle. Je vais donc en mettre un ici environ un tiers du chemin, puis un autre, ici, peut-être aux trois quarts
du chemin. Nous pouvons donc voir qu'il
y a deux points d'apparition. Je devrai peut-être
les ajuster au fur et à mesure, mais ils vont bien pour l'instant. Ces points d'apparition
vont être là où je vais mettre mon triangle. Je vais donc créer un script qui dit que lorsque
je ferai cet étage, je vais créer,
générer un nombre aléatoire et ça dira soit en
mettre un là ou là, un là et un là. Ce qui est vraiment cool. Si je vais de l'avant dans les scripts en cliquant avec le bouton droit et
que je vais créer
un script
C-sharp et appeler cela
un angle droit généré. Et je vais aller de l'avant
et je vais aller à mon sol et faire glisser mon script de géniteur de triangle
sur mon plancher, comme ça. Maintenant, mon
script généré par le triangle est évidemment vide, donc
je vais l'ouvrir. Je vais aller de l'avant et
supprimer la méthode de mise à jour, mais conserver la méthode de démarrage car nous allons
réellement
faire car nous allons
réellement
faire tout notre codage
dans la méthode star. Maintenant, ce script va être assez simple parce que
nous avons déjà géré instanciation
et tout ce que nous avons
fait
dans ce groupe auparavant. Donc, si je pars, je vais
commencer par faire ma
position une transformation publique. Ensuite, je vais en
faire un autre. Je pourrais encore taper exactement la
même ligne, comme cette position de
transformation publique deux. Mais la façon de le
faire consiste simplement mettre une virgule, puis à
écrire la deuxième position. Et c'est essentiellement
l'extrait. N'importe quel mot dans la confiance du public à qui
je veux qu'
un concours de composition 11 revienne
dans mon éditeur Unity. Et j'ouvre mon
script de flux ou mon objet de flux. Je vois plutôt que la
position 1 à la
deuxième position est ici et ils n'
ont pas été affectés. Maintenant, vous vous souviendrez que nous ne
pouvions pas simplement faire glisser
le plan parce que le joueur est un objet et qu'il s'
agit d'un préfabriqué, ce
n'est donc pas si simple. Nous avons dû écrire du code pour obtenir le joueur dans notre dernier épisode. Mais avec le plancher parce que
nous assignons un support préfabriqué, nous pouvons le faire glisser comme non, en
fait, pour renommer
cela de la position 11 à la deuxième position, juste pour
que ce soit un peu plus agréable. Mais nous pouvons réellement faire glisser ces écrits que nous
n'avons pas pu faire la dernière fois. Ce qui est vraiment, vraiment cool. Parce que maintenant ce que nous pouvons faire, nous pouvons aller de l'avant et
créer un script de création de triangles. De toute évidence, nous allons
devoir utiliser un préfabriqué comme nous l'avons
fait tout ce temps. Je veux donc rendre public,
objet de jeu, appeler ça un triangle. Ensuite, nous allons écrire un code très similaire à ce que
nous avons fait ici. Il y a un objet de jeu, la pièce de
flux est objet de jeu de planchers
instancié et la position de transfert. Ce sera
en fait le code exact que
nous allons écrire ici. Mais ce code va être quelques conditions quant au
nombre et à l'endroit où nous les créons. Si nous y
réfléchissons logiquement, il existe quatre combinaisons
que nous pouvons diviser. Cela signifie pour un
triangle d'un côté, un de l'autre, l'un des
deux ou l'un ou l'autre. Et nous pourrions le faire en
écrivant pour des déclarations si et faisant
évidemment une
condition pour chacun d'eux. Mais nous
allons en fait simplifier cela en faisant deux déclarations
si. Pour ce
faire, nous allons créer une variable aléatoire qui
définit x sur un ou deux. Je vais aller int x donc c'est une variable locale
égale à une plage de chute aléatoire. Ouvrez le carré, ouvrez les crochets
normaux. Et je vais entrer
une valeur dans ce cas,
une, une autre valeur
dans ce cas trois. Cela
va en fait me donner un nombre aléatoire d'un ou
deux, sans compter les fluides. Donc, soit un ou deux. Si, par exemple, je mets un F ici, ça va
me donner un flotteur aléatoire. Donc, ce
sera soit 101.101.21.3. Mais évidemment, ça va
me poser quelques problèmes ici parce que je
stocke n'importe quel SIG. Je ne vais pas faire ça cette fois. Je vais stocker un entier
en cours d' un avec un maximum de trois. Ça va être un ou deux. Si je fais cette mise à jour vide, cela se produit à chaque
image, puis je vais imprimer x.
Je peux réellement démontrer
ce processus car cela va
imprimer ma variable x Je peux réellement démontrer à chaque fois cadre de un à trois. Nous pouvons réellement tester s'il s'agit en fait des
variables aléatoires que nous voulons, car elles seront exécutées chaque fois ce code est en personnel ou chaque fois qu'un flux
est instancié. Si nous allons ici,
nous verrons dès le début que nous avons un
tas de deux et deux
et trois parce que cela pourrait être un peu
déroutant au début, je ne sais pas pourquoi c'est
exactement comme ça, mais pour une raison quelconque
dans le New Jersey, quand on dit 123, cela signifie que c'est le minimum
et c'est le maximum, sans compter le maximum, donc un ou deux. Maintenant, cette ou deux variables, nous allons en fait
définir deux fois aléatoire. La première fois que nous allons faire haut où nous l'affectons,
nous disons que l'entier x
est une plage aléatoire. Et puis quelques lignes plus
bas avec et faites exactement
la même chose pour que nous
ayons une autre variable aléatoire. Et ensuite, ici, nous aurons notre
première déclaration if, si x est égal à un et faites ça. Et ce sera si x est
une cuillère par un préfabriqué, alors nous allons réaffecter
x et nous allons faire exactement
la même chose si x est
égal à un et recommencer. La façon dont cela
fonctionne essentiellement est qu'il choisit une
valeur valide de une à deux variable aléatoire pour x. Ensuite, si c'est un,
faites-le sur l'un, recommencez et si c'est encore l'
un, faites apparaître l'autre. Nous pouvons donc voir à partir de cela que
nous pouvons avoir
un triangle ou aucun triangle,
soit un triangle ou aucun triangle, deux triangles, soit un
triangle et l'autre position. Il y a quatre combinaisons
différentes qui peuvent résulter de cela, ce
qui est vraiment cool. La dernière chose que nous
devons faire est simplement créer le code de frai
dans ce triangle. Et comme je l'ai dit,
ce code va être très similaire à ce code. Nous pouvons en fait copier ce
code et le placer juste là. La confidentialité va
nous poser quelques problèmes de dénomination. C'est comme quoi les planchers
quand on change ce plancher ? Triangle. De toute évidence, nous n'avons
pas non plus de variable de décalage. Et ce vecteur trois
Transform n'
est pas du tout ce que nous voulons
transformer en E. Allez-y et supprimez
cette partie du code. Maintenant, nous avons une pièce de flux
d'objets de jeu, triangles
instanciés, un objet de
jeu. Cela n'a pas
beaucoup de sens, alors
changeons cela en triangle. Ensuite, il va falloir le taper ici aussi. Maintenant que nous avons le triangle
GameObject O, nous avons vu une erreur de nom. La raison pour laquelle cela
se produit est que nous nommons ce triangle
comme le nom de ce triangle, qui n'est pas une bonne logique de codage. Nous allons aller de
l'avant et en faire un T majuscule et un T majuscule et maintenant nous pouvons voir que l'
air disparaît réellement. C'est une bonne chose à
illustrer, et C-sharp. C-sharp est un langage
sensible à la casse et nous avons également montré
deux types de langage. Une chose que vous pouvez changer
de cas et c'est une
chose complètement différente comme nous l'avons vu avec jeu
majuscule comme objet de jeu en minuscules. Et aussi que vous pouvez rencontrer des zones de dénomination
en C-sharp. Maintenant, ici, mon
point triangle transforme la déposition, je vais vouloir positionner un
ou
positionner les troupes ici, je suis certain de la première position parce que c'est la première fois que je fraie. Mais la première position n'est pas
vraiment une position. C'est une transformation, donc
c'est une transformation de cette position, une échelle et une
rotation, toutes sortes de choses. Je suis heureux de taper
la position du point ici. Ça va
me donner une infirmière. Ensuite, sous copiez ce
code exact et placez-le ici, sauf cette fois, il suffit de changer ceci en position deux dépôts. Maintenant, c'est une
façon un peu fastidieuse d'écrire ce code, mais j'ai pensé qu'il
serait préférable d'
illustrer la logique
de ce que nous faisons. Il y a peut-être des façons simplifier cela si vous montrez cela à un C-sharp
professionnel, car ils pourraient être, oh, changés que vous pouvez le
faire en trois neuf, mais pour l'instant, cela
va fonctionner.
complètement bien. Nous pourrions maintenant revenir à
Unity et tester ce code, mais nous pourrions nous
rendre compte que nous avons oublié de le modifier
pour commencer. Nous essayions d'
illustrer quelque chose
plus tôt avec la mise à jour, mais si nous exécutons ce code maintenant, chaque image va
gâcher plus de triangles, qui ne sera pas du tout
ce que nous Je veux être sûr de
le modifier pour commencer. Je ne sais pas si vous avez
changé pour mettre à jour quand je l'ai fait, mais si vous ne l'avez pas fait, c'est génial car il est censé
être arrêté. Maintenant, revenez ici à Unity et nous allons
aller au préfabriqué de sortie, et nous voulons attribuer un
triangle à apparaître, mais nous n'avons
pas de préfabriqué de triangle ici. Heureusement, tout comme nous avons
fait le plancher préfabriqué, fabriquer un préfabriqué est très facile. Il suffit de revenir sur votre scène, aller dans le triangle et de le
faire glisser comme ça. Il fera un préfabriqué pour nous. Ensuite. Supprimez ce
triangle car je n'en veux
plus dans ma scène. Je pense que c'est un peu bizarre
d'en avoir un sur le premier et aucun
des autres. Évidemment, ils
vont gâcher ça au fur et à mesure, mais c'est très bien pour l'instant. Et puis je vais aller de l'avant
et ouvrir mon préfabriqué. Et je vais vouloir faire
glisser un triangle par ici. Maintenant. Ce que je veux
faire, c'est que je veux m'
assurer de pouvoir jouer mon jeu et créer des
triangles comme je le veux. Mais le seul problème
avec notre code d'apparition ne
va pas
que notre code gâche le système pour
le moment est que nous
devons grimper des objets. L'un d'entre eux va
exécuter le script triangle
ainsi que l'autre. En fait, tous les livres d'
étage vont être ce qui s'est passé
dans celui-ci. On va commencer
le code et il
pourrait y avoir un petit triangle juste ici, ce qui ne
sera pas génial pour nous. Mais si nous apportons des modifications à ce
sujet parce qu'il s'agit d'un préfabriqué, il y aura
des modifications sur ce
préfabriqué entier , ce que nous
ne voulons pas faire. Nous allons faire ce qu'on appelle le
déballage de la preuve. Et cela peut sembler un peu
déroutant, mais en gros, tout ce qui est en train de dire que
je ne veux pas faire référence à ce déballage d'
animaux préfabriqués. Fondamentalement, cela signifie que je
peux maintenant apporter des modifications à ce préfabriqué et ne pas affecter
le préfabriqué global. Eh bien, ce n'est pas vraiment
une taupe pré-fader. Nous en avons
refait un objet. Allez-y et supprimez le script d'apparition de triangle
de votre premier bloc. Et après cela, vous devriez être prêt
à partir parce que nous ne voulions
plus créer de
triangles sur le premier. Mais tout le reste devrait fonctionner parfaitement si notre code
fonctionne correctement. Allons de l'avant et
jouons et voyons si c'est le cas. Nous pouvons voir que nous avons un
triangle qui fraie
là-bas et un autre là
, qui est parfait
exactement ce que nous voulions. Ces triangles sont
un peu rigides. Je ne sais pas si vous pouvez le dire. Et nous pouvons teindre et recommencer. Vous
rencontrerez peut-être quelques problèmes ici parce que nous n'avons pas
terminé la boucle de jeu, mais nous y arriverons dans la prochaine moitié
de cet épisode. Avant d'en arriver là, je veux d'abord m'assurer que nos positions des triangles
sont un peu meilleures. Allons donc ici et faisons glisser un
triangle. Nous pouvons le tester. Passons à la position
1 et copions le triangle de position
et collons la position. Vous pouvez voir qu'il est téléchargé, donc nous allons passer à la hausse, trouver la nouvelle valeur Y. Nous voulons un 4.07 et nous
allons ajouter cela à ma position 1.074 et à ma
position de 4.5 à sept. Maintenant, vous n'avez pas besoin de
faire cette procédure avec une copie et je
faisais juste quelques tests, mais oui, si nous l'exécutons maintenant, cela devrait parfaitement fonctionner. Elle est née en triangle est exactement là où nous voulons qu'ils le fassent. Nous pouvons voir où il y en a quelques-uns au début,
mais
à partir de maintenant, le triangle pointé de
Rios exactement ce que nous
voulions et nous mourrons. C'est le même
problème qu'avant. Maintenant, la raison pour laquelle ce
problème se produit, c'est parce que
si vous y pensez tout le temps avec des liquides de
frai, mais lorsque nous revenons au début où ces
frayères coulent, mais il n'y a rien
sur lequel nous pourrions atterrir. Et c'est pourquoi je n'en avais pas fini avec
le premier scénario. Je dois également
supprimer ce script du sol
parce que je ne
veux jamais détruire le premier étage. Je veux le détruire en tombe
et
c'est pareil avec
le deuxième étage. Maintenant, au deuxième étage, je peux garder cette invite de
script de générateur de triangle car je voulais m'assurer que je peux créer des triangles à partir d'ici. Je vais supprimer
ce script complet. Mais avant de le faire,
je vais m'assurer déballer ce préfabriqué aussi. Sinon,
je vais avoir exactement
le même problème que celui que j'ai
fait avec le premier. Il a donc supprimé ce script
complet et passe ici et déplacez
le même script complet. Maintenant, si nous frappons le jeu, nous devrions travailler
très bien. Si nous mourons, nous
pourrons revenir à l'endroit où nous avons commencé et continuer à faire des
cuillères et des choses. De toute évidence, il y en a
quelques-uns ici qui sont déjà là de ce genre de
frai sur les autres, mais l'essentiel est là. La dernière chose que nous devons faire
est de nous assurer que ces anciennes sont
effacées pour que nous sachions que nous éliminons toutes les anciennes afin que nous
n'ayons pas de double spore et
au-dessus de chacune d'elles. autres. Et la façon dont nous allons le faire,
c'est en les ordonnant. Nous allons donc créer un nouvel
objet et nous allons
appeler ça des lueurs apparues. Donc je vais aller de l'avant et m'
assurer d'avoir l'objet de la
cuillère. Et puis je vais ajouter ceci comme
référence à mon script de création de
carte
dans mon lecteur pour que je puisse m'
assurer que je stocke
tous mes défauts dans ce script de flux osseux sur
le Hoegaarden 000 comme nous l'avons fait
avec l'environnement, avec notre sol et nos
antécédents sur notre sol. Je vais faire la même
chose avec une cuillerée. Qu'une fois que je meurs, je
peux effacer ce point et m'assurer que toutes
les anciennes règles soient supprimées. Je vais le faire en
ouvrant mon script de création de carte. Et ici, je suis en train de définir
le transfert et l'opposition, mais je veux aussi définir
l'objet parent, qui signifie que je
veux définir l'objet, cet objet que je divise
maintenant est aussi un enfant. Cela peut ne pas paraître important, mais comme je viens de le dire
précédemment, nous
l'utiliserons comme espace de stockage. n'est pas pour cela qu'il garde une
trace de l'emplacement
ou quoi que ce soit du genre. Alors, allez ici et
réglez le flux, la paix. Transformation de points, parents de points. Et on pourrait juste
dire la transformation des points, mais les parents équivaut à chose, mais elle semble penser que c'est
une vieille façon de le faire. C'est donc la meilleure façon de
ne pas connaître le support ouvert. Et maintenant, nous devons définir
quelque chose ici, mais nous n'avons pas de référence à ce que nous
voulons stocker ces actifs. Allons-y ici. Publique. Les électrons forment ce stockage. Ensuite, nous allons aller ici et
taper du stockage là-dedans. Et nous n'avons pas besoin de
dire le point parent ou cette position ou
quoi que ce soit de ce genre. Cela sait exactement
ce que nous voulons faire. Nous avons donc notre variable de
stockage de transformation et nous faisons le point set parent, ce qui est fondamentalement
une façon chic de dire tout mettre
à l'intérieur. La dernière chose que nous
devons faire maintenant est d'aller de l'avant et de le
faire glisser dans le stockage. Et si nous le faisons, nous devrions maintenant voir que
chaque fois que nous
instancions un flux, il est mis à l'intérieur de cette
cuillère. Ce qui est vraiment, vraiment cool
parce qu'alors, si nous mourons, je veux dire
qu'il
n'y a plus de choses qui se passent maintenant, qui n'est pas un
point supplémentaire à propos de si nous mourons, ce que nous pouvons faire si nous le
tirons dans le jeu maintenant, nous pouvons entrer dans
et nous pouvons supprimer tous ces vieux flux dont nous
n'avons pas besoin, ce qui
est vraiment cool. De toute évidence, nous n'avons pas encore tout à fait
organisé les triangles, donc nous nous assurerons de le faire
plus tard dans une seconde, d'utiliser exactement la même méthode. Mais maintenant, si vous allez comme ça, nous pouvons voir que les
planchers sont engendrés exactement de
la même manière qu'un flux normal en double est stocké, ce qui est super cool. Maintenant, je suis sûr que vous avez remarqué les triangles que nous
voyons seuls. Donc, résolvons rapidement ce
problème. Si nous entrons dans les actifs
et que nous allons à notre flux, nous pouvons voir que les triangles sont nés de ces scripts d'
apparition de triangle. Allons donc écrire des
triangles nés et ensuite faire exactement la même ligne de code que nous venons de faire ici. La transformation de démarrage de disquette définit Terran, sauf que cette fois, nous voulons le définir
à nous-mêmes. Allons ici et
nous allons taper triangle, annuaires téléphoniques
France sont parents. Et puis je vais simplement taper transformation avec une équipe minuscule, qui signifie la transformation
ou n'importe où où est exécuté ce script parce
que ce sera le plancher. Copiez ça et
posez-le ici. Parfait, ça devrait
parfaitement fonctionner si
je lance mon jeu maintenant, on peut voir que tous les
triangles
apparaissent à l'intérieur
des flux ici. Position 1, position deux. Et si nous allons ici, triangles
bas
sont à l'intérieur d'eux, qui est exactement ce que je veux. La dernière partie de ce code de
nettoyage que
je veux faire est que je veux m'
assurer que mes triangles et tout le reste sont
supprimés une fois que je meurs. Ça va être un peu
plus compliqué. Je vais donc consulter mon
script State Manager et nous pouvons
voir que nous avons
cette procédure de teinture, mais je voulais en
avoir besoin à partir d'ici parce que ça va
être un peu déroutant. Donc, au lieu de cela, je veux aller à mon script de création de carte
et le faire à partir de là. Est-ce que cela donne
un peu plus de
sens à l'enregistrement
de script que nous pourrions faire ? Cela ne fait aucune différence
car l'énoncé de script est sur le joueur
, tout comme les cartes Warner. Mais pour des raisons d'intérêt, je pense que ce sera plus facile
si je le faisais à partir d'ici, donc c'est moins déroutant
à l'avenir. La première chose que je
vais faire, c'est que je vais faire une nouvelle
procédure et ensuite nous
appellerons cela nul public. Et je vais appeler
ça un stockage clair. Ensuite, la sexualité
est plus facile parce que je peux aller entreposer ou ici j'ai mon
rangement senti comme aucun stockage. Je peux vider chaque
enfant de l'entreposage. Et comme je vais le
faire, je vais aller chercher un enfant. Ensuite, je vais vouloir
amener l'enfant à la première, deuxième, troisième,
quatrième ou cinquième. Si je tape 0, je reçois
le premier enfant, premier pour avoir un deuxième enfant, mais je veux avoir
tous les deux. Et nous allons le faire en
utilisant une boucle for. Je vais donc y aller alors je vais vouloir
appeler une nouvelle variable. Et je n'ai pas encore de variable, alors faisons une
variable locale int x , puis je vais dire plein. Et si vous vous souvenez de la syntaxe de la
boucle for , cela
devrait être logique. Je vais le revoir parce que je suis sûr que beaucoup
d'entre vous l'ont oublié parce que
c'était plus haut
en 15 épisodes. Je ne sais pas. Quatre x équivaut à 0. Cela signifie que je veux avoir le premier enfant et je
vais moins que maintenant. Je veux le faire pour
autant d'enfants que le stockage a le stockage alligators, le nombre d'enfants à
point. Ça va me donner des chiffres
si c'est un,
ce code va toujours s' exécuter une fois parce qu'il est 0,
c' est moins que le nombre d'enfants parce qu'il va s'
exécuter une fois et ensuite il va en être un.
car je vais l'augmenter à la fin. Je vais avoir X plus plus. Maintenant, rappelez-vous avec des boucles
for-et trompez beaucoup de gens c'est qu'ils séparent
les paramètres à l'aide de virgules. Ils disent donc x moins que
0 virgule x plus, mais nous utilisons en fait des points-virgules. Assurez-vous donc que x est égal 0 espace point-virgule
que x inférieur à l'espace point-virgule
Child Count X plus plus. Et rappelez-vous simplement
que c'est une erreur que
beaucoup de gens font. C'est en fait tout ce
dont nous aurions besoin pour détruire chacun de ces objets enfants
parce que nous pouvons opter pour x moins que le nombre
de stockage X augmente. Donc, si nous avons deux enfants, ce sera
0 augmentation de 11. Et puis parce que c'
est aussi bien
moins que des raccourcis. Donc essentiellement dans le travail
que j'ai mis x ici, point de
stockage a eu l'enfant x et on va aller de
l'avant et détruire ça. Nous allons taper
le point de stockage de
support ouvert de paille obtenir l'objet enfant. Et si tout fonctionne, chaque fois que nous appelons cet état, nous devrions effacer
chacun des objets. Nous allons vraiment
vouloir appeler cela
dès que nous répondrons. Parce que si nous réfléchissons au
moment où nous appelons si
nous mourrons, nous allons tomber
par terre. Par conséquent, dans le recadre, la dernière chose que nous devons
faire est créer un lien vers
les formulaires de correspondance. On va donc naître des
cartes de la République, appelle-ça des maths. Et nous allons
entrer ici pour
répondre et nous allons passer au point de
maths Clear Storage. Avant de
revenir dans Unity, nous devons d'abord nous assurer que nous détruisons l'objet du jeu, non la transformation, car
nous pouvons voir ce code ici. Il est dit que le point de stockage devient enfant, mais cela va nous
rendre une transformation. Pour résoudre ce problème, nous allons
simplement à l'enfant point GameObject. Et cela va faire
référence à l'objet du jeu, pas au composant Transform. Sachez simplement que si nous
disons
que le chien a un enfant, cela renvoie le
mauvais genre de chose, qui renvoie un enfant
transférant. Il ne retourne pas
l'enfant réel. Ici, nous obtenons
l'objet de jeu, qui est l'objet
enfant réel. Nous voulons détruire la communauté
backend. Je dois juste faire glisser
cette carte vers le haut sur la variable de carte stockée dans le lecteur pour
m'assurer qu'elle est liée. Et puis, si j'y vais
et que je frappe Play, je devrais voir que
cette cuillère coule est lentement
peuplée de différents étages. Voyez qu'il y en a deux et si je meurs, ils devraient tous être nettoyés, ce qui est vraiment génial
parce
que cela signifie que cela fonctionne
exactement comme nous le voulions. n'y a plus de flux
en double, ce qui est vraiment cool. Si vous avez remarqué
quelques petites zones, nouveau jeu, par exemple, j'ai remarqué que
parfois je ne peux pas sauter au troisième étage
ou par la suite. C'est tout à fait très bien. Nous allons aborder
ces questions dans le prochain épisode, tous les épisodes suivants. Par exemple, nous n'avons jamais vraiment contrôlé si
nous pouvions ou ne pouvons pas sauter alors que nous
ne voulions évidemment pas que ce soit vrai parce ce n'était pas une partie très importante
de notre jeu pour le moment. Nous allons évidemment régler
tous ces problèmes plus tard. Lorsque vous aurez
terminé ce cours, vous aurez un jeu sans bugs. Si votre nouveau jeu test maintenant et que peu de choses sont
un peu mal, ne vous inquiétez pas, elles seront
toutes réglées. Et si vous avez un
script d'apparition de flux, vous avez bien fait. Maintenant, si vous suivez et que votre code fonctionne
comme le mien, la dernière chose que nous devons faire est d'ajouter un peu de
variété à notre carte, et nous le
ferons plus tard dans le cours. De toute évidence, comme je l'ai dit, il y a
encore quelques domaines à régler. Quelques choses peuvent s'améliorer, mais notre boucle de jeu de base
a été créée. Il y a également quelques
changements d'équilibrage que je souhaite aborder. Je ne pense pas que ce soit
toujours possible de sauter des deux. Nous allons donc plus tard dans les épisodes augmenter la gravité
et augmenter le saut faux et des choses comme ça pour
ceux qui sont du jeu. Mais si tout
fonctionne et que vous avez un
jeu semi-fonctionnel que vous pouvez créer et réessayer plusieurs
fois, vous voulez un excellent travail. Vous l'avez fait de façon étonnante, et je vous verrai
dans la vidéo suivante. Je vais bouger notre jeu va
se
faire plus tôt que vous ne le
pensez. Bon yaourt autour.
14. Améliorations mineures: Salut, et bienvenue à
nouveau dans l'unité. Maintenant, au cours des dix
derniers épisodes nous avons créé ce jeu
assez nu,
mais en fait assez impressionnant avec ce jeu
mobile, le premier ou
l'un des premiers jeux mobiles vous avez créés. excellent travail. C'est vraiment fou de penser à quel point vous avez accompli. Vous avez créé un
jeu mobile à partir de zéro en utilisant votre propre code et vous
pouvez générer une carte. Vous pouvez sauter par-dessus les obstacles, vous pouvez répondre,
sauter, bouger. C'est vraiment génial,
bon travail, tout le monde,
vous avez fait de l'incroyable. Cela dit,
il y a quelques problèmes avec notre jeu mobile
dans son état actuel. Et vous les avez
peut-être remarqué lorsque vous jouez au test dans votre propre build. Et il n'y a que quelques bugs. Et la plupart de ces
bogues sont en fait des erreurs
logiques qui se
sont produites. Nous avons fait quelque chose d'un coup,
puis nous l'avons changé , puis cela a créé une
petite erreur logique. Et ce ne sont pas les bugs
les plus faciles à remarquer. Mais si vous comprenez ce que fais
constamment
une fois que je les ai expliqués, ils auront beaucoup de sens,
alors je m'y plonge directement. Le premier bug que vous avez
peut-être remarqué, si vous cliquez sur Play, si je glisse, vous n'avez pas besoin d'
appuyer sur saut pour glisser le long, mais si vous faites cela, vous ne pouvez pas sauter sur
espace présent. Je ne saute pas. Ce n'est pas un problème
avec ma barre d'espace. Ce n'est pas un problème
avec quoi que ce soit de mauvais. C'est en fait un problème avec
cette variable mise à la terre. Vous pouvez voir
ici, si je joue, je verrai que le terrain est vrai. Et quand je laisserai ça
faux et que je suis allé à nouveau, et cetera, vrai de jour à
jour, je vais prendre un risque large. Maintenant, si je vais comme ça, ça met le faux
et on ne peut pas sauter. Et la raison en
est que notre sol la variable est
basée sur le fait que nous entrons ou
sortons d'une collision. Donc, si vous
pensez à glisser, nous allons le long, nous allons, allons, nous entrons dans une
nouvelle collision ici, puis nous en sortons une. Mais parce que nous sortons par la suite, cela va
passer outre et dire, d'accord, nous sommes sur le
sol animal. C'est une chose très, très
simple à résoudre. Tout ce que nous devons faire, c'est que nous
devons modifier légèrement le nom de
nos procédures afin de ne
pas le faire chaque fois que
nous entrons dans une collision, nous voulons
nous assurer que nous sommes au sol. Quand on est toujours
en collision, on va le faire très facilement. Nous allons ouvrir le mouvement,
vous allez le script de mouvement. Et vous allez
vouloir changer cela en cas de collision, entrez deux en collision, restez allumé. L'état de collision est pratiquement la même chose.
Il fait tout aussi froid. Chaque cadre que
nous sommes sur le terrain, chaque cadre est un déjeuner
autour du sol veillera à
ce que nous disons au jeu que nous sommes
ancrés, c'est toujours AY. Et il suffit de remplacer
Entrée par séjour. Donc, en cas de collision, restez 2D. Parfait. Maintenant, si nous
continuons à cliquer à nouveau sur Lecture, nous devrions voir que tout
devrait bien fonctionner. Nous pouvons maintenant sauter,
ce qui est génial. Maintenant, la deuxième chose que
je veux aborder est l'UCI que je fais en ce moment, mais je trouve que parfois
quand il y a des pics, il est assez difficile de
sauter par-dessus les deux. Et c'est à cause de la balance
dégoûtante et
la vitesse sera payante. Ce n'est pas un bug, c'est
juste un problème d'équilibrage. Je vais donc y aller de l'avant
et régler ça maintenant. Je vais aller voir mon joueur. Je vais vraiment faire trois niveaux
de gravité, donc c'est un peu
plus facile à contrôler. Ensuite, pour compenser que je
vais augmenter ma force de saut, mais pas trop
automatiser mon saut 13. En fait, j'ai testé cela
et j'ai trouvé que c'était le
moyen le plus efficace de résoudre ce problème. Vous pouvez voir maintenant qu'il est
beaucoup plus facile de
contrôler quand je veux sauter parce que je le
fais plus fréquemment. Et cela ne rend pas le jeu un
peu plus difficile parfois, mais il est également beaucoup
plus facile à contrôler,
ce qui, dans mon esprit, est
une très bonne chose. Je vous recommande d'
y aller et de le faire parce que j'ai trouvé que c'était beaucoup
mieux pour le gameplay. Une fois que vous avez fait cela, vous pouvez voir que je saute avec ces
derniers avec une aisance absolue maintenant,
ce qui est vraiment génial. Maintenant, l'autre chose que je
voulais m'assurer que nous le faisons, c'est que je ne veux pas être capable sauter tout en continuant à bouger
tant que nous sommes morts. C'est vraiment
facile à lire, grâce à notre machine d'état. Si je vais de l'avant et que j'ai
ouvert mon directeur d'État, vous verrez que
tant que je mourrai, mon État est mort. La raison pour laquelle j'ai arrêté de
bouger est parce que j'
ai un script de mouvement ici qui dit si l'
état du point du gestionnaire d'état est égal à simple mouvement, mais sinon je n'ai rien
dit d'autre. Que se passe-t-il si
je frappe cette chose, je ne surpasse plus la vitesse de
mon corps rigide. Donc, j'ai juste une sorte de glissement. Je continue plutôt à cause de l'
élan ou de l'inertie, mais je continue tout simplement. Je suis en train d'écrire une
autre déclaration. Et aussi longtemps que
je ne joue pas, je veux m'assurer que ma
vitesse est toujours égale à 0. Rb. vélocité n'est pas égale, et je pourrais taper un nouveau
vecteur deux zéros, mais je vais juste
taper le vecteur deux points 0, et c'est exactement la même chose. C'est simplement une
façon plus simple de le dire. La théorie vacuolaire consiste
essentiellement à
s'assurer que tant que je ne joue pas, je suis mort en selles. Et c'est vraiment génial parce que cela signifie que nous allons
vraiment
remplacer notre code de mouvement pour remplacer notre code de mouvement que chaque image
que nous sommes morts, nous n'allons pas seulement aller
de l'avant, Nous allons arrêter les morts
en place sur l'axe X. Et nous allons régler
votre vélocité à 0. Nous pouvons donc voir ici que nous nous
arrêtons, ce qui est vraiment génial. Le problème, c'est parce que nous sommes
assis sur la vélocité 0, chaque image qui n'arrivera pas
vraiment tant que
nous ne bougerons pas tout. La gravité de l'unité glissera
lentement comme ça. Vous pouvez voir là-bas,
je suis toujours en train de descendre. C'est un peu un problème. Mais je peux résoudre ce problème
très facilement en
disant simplement que l'
échelle de gravité des points RB est égale à 0. Vous pourriez penser que c'est
tout ce qui est vendu. Mais n'oubliez pas de remettre cela
à ce que nous voulions
dès que vous jouez à nouveau. Nous allons le faire
en allant ici pour réclamer et en réglant notre échelle de
gravité à trois. Tant qu'ils
jouent des échelles, ou est-ce trois ? Et lorsque ce n'est pas le cas, notre
échelle de gravité est toujours réglée sur 0. J'y vais et j'ouvre encore une fois
mon jeu. Nous pouvons voir que je vais très bien. Et si je meurs, comme Monsieur, je me suis arrêté, puis je reviens à mon échelle de conduite,
ce qui est vraiment, vraiment cool car je vais illustrer à quoi
cela ressemble quand nous
mourrons beaucoup mieux à mon avis. Maintenant, la troisième et dernière chose ou commentaire si c'est le cas,
pour ce point. Mais une autre chose que je voulais aborder
dans cet absolu, je veux que vous
les
réduisiez légèrement parce que je pense qu'ils
sont un peu trop longs. Je vais donc faire ces 2,8. Je vais juste
changer les deux individuellement parce que je les
déballais du préfabriqué, afin qu'ils ne soient plus
liés à ce préfabriqué. Il suffit d'entrer dans le préfabriqué
et de taper 2.8 ici. Et cela devrait vraiment arranger
tout le reste pour vous, ce qui est vraiment cool. Maintenant, nous avons un peu plus de saut et nous devons les traverser,
ce qui est beaucoup mieux. C'est comme si c'était de
petites îles. Maintenant, cela nous amène à
la deuxième chose que
je veux changer
dans cet épisode, et c'est la friction. Vous verrez si je vais
comme ça et que je tombe, je ne sais pas si je serai trop
lourd, mais oui, parfait. Je vais rester ici. Et ce n'est pas génial. Et la raison pour laquelle cela se produit c'est à cause de mes frictions. Maintenant, je vais placer le frottement est réglé sur le réglage de
frottement par défaut. Comme il est réglé sur le paramètre de frottement
par défaut, je continue essentiellement
à me déplacer vers la droite. J'essaie de savoir,
mais je suis en peluche. Par conséquent, je suis juste en
train de rester en place. Donc, pour y remédier, je vais
créer un nouveau matériel physique. Je vais le faire en
cliquant avec le bouton droit de la souris sur créer en 2D puis sur le matériel
physique aujourd'hui. Et je vais appeler cette couche. Et tout ce que je vais
faire, c'est que je vais
régler deux zéros à cette friction. Ensuite, j'irai voir mon
joueur et je le
traînerai dans mon corps rigide. Vous pouvez voir ce qui se passe
maintenant, c'est que
je ne devrais plus rester là. Je devrais faire glisser l'écriture
vers le bas, ce qui est parfait. C'est exactement ce que
je voulais arriver. Maintenant, nous changeons pas mal
de choses, mais il y a une dernière
chose que je veux m' assurer que nous
abordons dans cet épisode, c'est un moyen plus optimisé de
corriger une chose. Plus tôt. Plus tôt, ici, nous avons changé
notre échelle de gravité RV TO, mais nous l'avons fait à
chaque trame. Ce n'est vraiment pas
génial, car
cela signifie que nous surmontons
quelqu'un qui se passe déjà. Ce n'est pas bon pour
la performance. Au lieu de cela, ce que je veux
faire, c'est que je veux faire une procédure qui
va le faire pour moi. Et je vais le faire avec un nouveau concept appelé paramètres. Je vais entrer ici
et je vais créer un vide public, appeler ça réinitialiser la gravité. Je vais aller ici. Je vais mettre une balance de
gravité pour chien RB ici. Supprimez celui-ci là-bas. Maintenant, je vais
vouloir appeler ça chaque fois que je change d'état. Donc, si je vais voir mon directeur d'État, je savais exactement quand mon état est mort et où joue
mon État. La première chose que je vais faire est de faire un lien à partir de la déclaration
I GO TO mouvement. J'ai déjà un
lien dans l'autre sens, mais je veux faire
un lien de cette façon c'est Algoma Public Movement, et je l'appellerai bouger. Ensuite, ce que je vais
vouloir faire, je vais
appeler cette procédure à la fois
lorsque je meurs et que je déplace la gravité
réinitialisée. Et ici, déplacez la gravité de réinitialisation des
points. Mais je vais
vouloir le régler deux choses différentes, je veux le définir à 0, et ici je veux le
définir à trois. Et de la façon dont nous allons le faire, vous pourriez écrire deux procédures, mais une meilleure façon de le faire consiste simplement à utiliser des paramètres. Je vais donc passer ici jusqu'à ma récente gravité
et je vais
entrer dans ces deux crochets
et je vais taper int x. Eh bien,
en fait ça va dire, d'accord, quand
Je suis allé appeler
cette procédure, j'ai entré une valeur pour
ce paramètre. C'est un peu comme
une valeur d'entrée. Vous pouvez voir ici, il est
dit qu'il n'y a aucun argument donnant les correspondances à la fière formelle
requise de x. Si je double-clique dessus, je
peux voir où se trouve l'air. C'est par ici. Je ne dis pas ce que je
voulais mettre x ici, entrez la valeur 0 ici et la valeur trois là. Tout va bien. J'ai maintenant appelé cette procédure ici et donné à différentes
valeurs ici,
j'ai réglé sur 0 et ici
j'ai dit les trois. Il ne me reste plus
qu'à revenir en mouvement. Et dans ma
gravité réinitialisée, j'avais besoin de dire échelle de gravité
albédo est égale à x. Maintenant, nous avons réalisé deux choses
complètement différentes avec la même procédure
en utilisant des paramètres. Maintenant, c'est un sujet
complètement nouveau, mais je voulais le couvrir à un moment donné de cet épisode
parce que j'ai pensé que ce serait utile plus tard au cas où nous besoin que ce soit
comme une valeur d'entrée. On me donne donc le droit de
vous dire quoi faire et de vous donner un peu
d'informations pour le faire. Et cela nous permet de créer une meilleure façon de
réinitialiser la gravité. Maintenant, tous ces attributs
j'ai besoin de rouvrir Unity. Bien, mon joueur s'assure que j'ai traîné mon mouvement ici. Et si je vais de l'avant et que je frappe Play, nous pouvons voir maintenant que nous avons atteint exactement
le même résultat avec une
meilleure façon de le faire. Nous pouvons voir que nous nous arrêtons
comme nous l'avions fait, et nous recommençons,
ce qui est génial. Cela aurait donc pu sembler
un épisode un peu bizarre, mais je voulais juste l'utiliser
pour enseigner les paramètres constants et
résoudre tous les petits problèmes. Et je pense que vous
découvrirez cet épisode, vous allez jouer est beaucoup
plus agréable à jouer. Félicitations, vous avez terminé le module de base de ce cours, créant un jeu mobile. Nous avons créé un jeu mobile
où vous pouvez y jouer. Ayez une boucle de jeu. Vous pouvez, quand vous pouvez perdre. Mais il y a beaucoup d'autres choses à venir et maintenant on se lance dans
les choses amusantes. Je suis sûr que vous avez remarqué que
nous n'avons même pas encore bougé nos antécédents
avec notre joueur. C'est un changement très simple. De toute évidence, je ne
vais pas le faire maintenant. Professeur fort, à la
fin de cet épisode. Mais dans le prochain épisode
et les prochains épisodes à venir, nous allons
commencer à nous préparer avec toutes les choses vraiment amusantes que nous allons
ajouter dans notre système scolaire. Nous allons ajouter
des améliorations visuelles, audio, musique, tout ce qui fait vraiment pop
un jeu mobile arrive dans la seconde
moitié de ce cours. Mais à la fin de cet épisode, vous
auriez dû finir la partie de base de votre jeu, ce qui est vraiment, vraiment
cool. Super travail, tout le monde. Incroyable. Et si
vous êtes des jeux mobiles qui fonctionnent comme le mien est un travail
incroyable comme toujours, je vais bien sûr
lier tous mes scripts dans la description ou ressources plutôt pour
que vous puissiez les lier. Et bon travail. Une fois que vous avez terminé cet épisode, vous êtes à peu près à
mi-chemin. La partie difficile de ce
cours est en fait maintenant la posture et nous sommes en train de se
lancer dans les choses amusantes. Super travail, tout le monde. Je vous verrai dans
la vidéo suivante.
15. Scoring: Salut, et
bienvenue à Unity. Notre dernier épisode, nous avons
dit que notre jeu ou les concepts fondamentaux sont
presque terminés et c'est vrai. Mais il existe plusieurs façons
d' améliorer notre jeu pour le
rendre encore meilleur. De toute évidence, ce n'est
même pas
encore un jeu mobile parce que nous ne
l'avons pas fait pour avancer. Mais nous allons changer
toutes ces parties sympas amusantes du développement de jeux
mobiles. De toute évidence, les
parties précédentes ont été amusantes, mais ce sont mes idées, toutes les meilleures parties du développement de jeux
mobiles. C'est le truc vraiment créatif que vous pouvez ajouter dans la conception sonore, améliorer votre jeu, comme vous le souhaitez, tous les trucs vraiment amusants. Tout cela va donc se situer dans la seconde moitié de ce cours. Et cela va commencer
aujourd'hui avec notre système scolaire. Avant d'ajouter à
notre système scolaire, je veux d'abord m'
assurer que notre jeu, nous pouvons apporter quelques améliorations
mineures. À partir de là, je vais faire
glisser l'arrière-plan sous la caméra principale afin de l'
avoir comme objet enfant. Et ce que cela peut faire,
c'est de s'assurer que notre caméra principale est toujours
suivie d'un objet enfant. Si nous allons à notre jeu
ici et que nous cliquons sur Jouer, nous pouvons le voir en action. Nous sommes maintenant
suivis de l'arrière-plan, ce qui est vraiment cool, vraiment
simple pour y remédier. Maintenant, le deuxième changement
que je veux faire, c'est que je veux
aller dans mes antécédents. Et je veux aller de l'avant
et je vais ajouter Component Edge collider 2D. Et puis je peux voir
mon nuage Edge ici. En fait, c'est presque Salut, je
voulais juste le faire glisser vers le bas. Donc je vais aller décaler, le
faire glisser vers le bas moins 1,9 ou
moins deux, si vous voulez. Il s'agit essentiellement d'un mur de la mort, de sorte que si un joueur traverse
ces lacunes, il meurt. Ils ne tombent pas seulement
dans l'abîme. Je vais marquer ça comme un obstacle et je
vais m'assurer de se
déclencher et je resterai la machine qui va vraiment
s'
occuper de tous les restaurants. Si on touche Play. Nous pouvons voir maintenant, si je tombe par ici et que j'ai
un téléphone pour le Gap, je meurs en fait et je reviens au début,
ce qui est vraiment cool. Ce sont là quelques
choses mineures que je voulais faire. Mais évidemment, le principal
point de cet épisode sera l'ajout
d'un système de notation. Allons donc directement là-dessus. Avant cela, nous devons
créer des composants Unity UI. Donc, vous n'aurez évidemment
jamais fait cela auparavant. Nous allons donc accéder au Gestionnaire de
paquets Windows. Nous avons besoin de bien ici à
ce menu Unity Registry si vous pouvez
y être par défaut. Cliquez ici, puis accédez au texte Mesh Pro et cliquez sur Installer. Maintenant, il s'agit essentiellement de
la solution Unity deux objets texte. C'est un outil
très puissant et facile à utiliser ici. Et c'est à peu près la valeur par défaut qu'ils
veulent que vous utilisiez. Si vous ne l'utilisez pas, c'est ce qui est considéré comme un héritage ou une version plus ancienne. Nous allons donc
vouloir utiliser cela. Ensuite, nous allons
cliquer avec le bouton droit ici, nous pouvons accéder au texte de l'
interface utilisateur, au texte Mesh Pro. Cela va créer ça et ça va
apparaître dans cette fenêtre. Cliquez sur Importer, TMP Essentials. Vous n'avez pas besoin d'
ajouter les extras. Et ensuite, si nous défilons vers le haut, nous pouvons voir notre texte là-bas. Je n'ai pas aimé cette toile. Ce canevas sert essentiellement d'espace de stockage pour
tous nos composants d'interface utilisateur. Et c'est le texte. Si nous le déplaçons hors de la toile,
nous ne pouvons plus le voir. Alors assurez-vous de le
garder là-dedans. Renommez votre canevas en UI ceci, ce que je vous aime,
vous n'êtes pas obligé de le faire. Et nous allons renommer
nos textes en marquant. Ensuite, nous allons passer
à notre interface utilisateur et nous
allons changer ce mode
aléatoire de superposition
d'espace écran à caméra
spatiale, puis
faire glisser notre Cameron, c'est mon mode
aléatoire préféré. Vous pouvez le conserver si vous le souhaitez, mais je vous recommande de le changer. Et ensuite, nous allons
aller de l'avant et faire passer notre score à peu près là. Maintenant, cela a l'air bien, mais parfois l'unité
a quelques bugs où si vous
sortez et revenez, elle est en fait déplacée
pour vous assurer faire et ensuite la déplacer. C'est vraiment la
bonne position. Maintenant, je vais prouver que
ce couvercle sur un changement à la taille de police 75 est un
peu plus grand. Je veux le rendre audacieux, et je vais aller de
l'avant et le rendre beaucoup plus grand pour que nous
puissions stocker ça là-bas. Et je vais
le traîner jusqu'ici. Cela va
servir de score. Si je tape un magasin et que je rentre
dans une école imaginaire, nous pouvons voir ici à quoi
cela ressemble dans un jeu. Je pense que c'est assez joli. Nous pouvons le déplacer un
peu vers la droite, et c'est très bien. Nous devons maintenant commencer à coder la logique réelle quant à la façon dont
cela va fonctionner. Nous allons donc créer un nouvel objet et nous allons
appeler ce score profit. Ensuite, je vais entrer dans le scénario. Je vais faire un clic droit sur
créer un script C-sharp. Nanocoulomb n'est qu'une école. Maintenant, ce script va
essentiellement
dire à ce texte ce qu'il doit afficher. Et nous allons déterminer le
score du joueur fonction de la distance qu'il se trouve de la piste scolaire
que vous voyez là-bas. Bougez, mais ce n'
est pas ça. Mais si nous ajoutons de la beauté de la gouache, ce tracker de score nous voulons positionner au point de
départ. Je vais aller ici et
je vais mettre moins 8,52 ça dans la prochaine étape
et ensuite le faire baisser. La valeur Y n'a pas
vraiment d'importance. Il s'agit essentiellement d'un acte camion et de voir
jusqu'où le joueur
s' en est éloigné ou jusqu'où la phase a déplacé notre distance, c'
est-à-dire notre école. Alors allez-y et
assurez-vous que c'est moins 8,52 ou où que vous
soyez placé sur une plante,
veillez à copier cela. Ensuite, allez ici et faites glisser votre script de partition dessus,
puis ouvrez-le directement vers le haut. Maintenant, une fois que c'est ouvert, allez en haut et nous
allons importer certaines choses. Nous allons utiliser d'autres
choses que collections
système et la saisie de
moteurs
génériques et murales à l'aide de l'interface utilisateur de points du moteur
Unity , puis de
taper également en utilisant le produit TM, c'
est-à-dire le texte Mac Pro. Cela va
nous permettre d'annuler le script comme nous le voulons
sans être confus. Ensuite, nous allons créer
une transformation publique. Et nous allons
appeler ça un joueur. En dessous de cela,
nous allons créer un int public et extraire cette école et un texte
public Mesh proof. Nous allons appeler ce texte
ou plutôt le texte intégral
n'est pas un meilleur nom. Ensuite, nous allons passer à notre procédure de mise à jour
et nous allons taper le score égal. Et maintenant, nous allons
vouloir
soustraire la transformation et
la transformation de l'endroit, mais cela va nous
donner un flot. Donc, avant d'écrire,
nous allons écrire un point F
mathématique autour de int. Et cela va essentiellement nous
assurer que nous pouvons arrondir la valeur
flottante à un pouce. Et ensuite,
on va juste y aller. Le point du joueur a transformé
l'opposition de X moins notre
proposition de transformation que x. Et cela va arranger
notre score à chaque image, cadre pour nous, ce qui
est vraiment cool. Ensuite, je vais
descendre ici et je
vais faire défiler le texte. Maintenant, je veux stocker ce que
ce score est dans cette chose. Je vais donc aller à l'école
, le point txt est égal, et maintenant je vais mettre
ma valeur scolaire, mais je ne veux pas normalement parler de force,
ce qui signifie que je le convertis à ce qui signifie que je le convertis partir d'un
entier vers une chaîne. Cette petite quantité de code va
en fait nous donner une école, mais nous voulons en ajouter
un peu plus. Nous voulons nous assurer d'ajouter un
score entre guillemets. Assurez-vous de le mettre
entre guillemets, un deux-points, puis un espace, et c'est que nous
allons mettre un plus. Donc, les guillemets marquent l'espace avec un codon plus
et ensuite l'école. Et ça va faire en
sorte que ça soit beaucoup plus beau. Il ne va pas seulement nous
donner un chiffre, il va nous donner
un score et un deux-points, comme nous l'avons fait
ici et le modifier. Avant de revenir à Unity, j'ai réalisé que nous
utilisions la seule chose ici, les femmes pour utiliser un texte
Mesh Pro, votre interface graphique. Assurez-vous simplement de changer cela. C'est juste une
chose mineure que j'ai oublié d'ajouter et qui
va faire une note émise. Tout ce qui va
simplement
poser problème à votre code. Ensuite, ouvrez Unity et vous devriez voir la trace de votre
école ici. Assurez-vous de faire glisser votre jeu dans la transformation et votre partition
dans l'équipe Mesh de texte. Vous, bouée. Et là-bas, vous pouvez voir cette étape de glitch cliquez
à nouveau, elle se réinitialisera. Maintenant, si nous sommes en fuite, cela devrait vraiment tout
faire pour nous. Nous pouvons voir comment l'école
commence à 0 et elle augmente
exactement comme 12 si nous sommes morts. C'est donc le retour à 0. Et c'est vraiment, vraiment cool. La dernière chose que nous
devons faire est de nous
assurer d'avoir un lycée. La façon dont nous allons le
faire, c'est que nous
allons faire une variable de plus. On va aller au lycée
public. Ensuite, nous allons juste
avoir une nouvelle procédure. Nous appelons cela leur vide public. On va dire que si le score est
supérieur au lycée
, au lycée,
désolé pour ça. Ensuite, le lycée
est égal à score. Cela permettra essentiellement de s'
assurer que
dès que nous mourrons,
nous vérifions si nos
écoles sont meilleures que notre
école secondaire actuelle et si elle est à la recherche d'un
nouveau lycée, nous Il faut toujours appeler cela
depuis nos machines publiques. Nous allons aller voir State Manager
et créer une référence à ce directeur d'école publique pour ce que nous venons d'
attraper notre école, mais c'est un directeur d'école. Et puis, ici, sur le dé, on va dire qu'après
cette réinitialisation de la gravité, on va dire Score point n qui va essentiellement
exécuter cette procédure. Dès que nous mourrons,
nous vérifions nos scores
supérieurs à ceux d'un lycée. Évidemment, un
lycée sera réglé à 0 au début. Donc, si nous revenons à u et d, nous avons juste besoin d'attribuer une valeur à notre référence ici. Donc, si nous allons voir notre joueur, nous pouvons voir que notre machine d'État
n'est pas une science qui s'
assure de traîner dans votre camion
scolaire là-bas. Nous pouvons donc stocker notre truc. Et si vous cliquez sur Play,
nous devrions avoir un système de
lycée entièrement fonctionnel. Si vous allez ici pour suivre
l'école, voyez comment le lycée 0
et notre score est de 14. Si nous mourons, notre lycée,
et cetera, 18 ans. Et ensuite, si nous mourons
avant d'atteindre 18 ans, il ne se réinitialise pas,
ce qui est vraiment cool. La dernière chose que nous
allons faire est de faire une copie du
texte de la partition pour le faire glisser vers le bas. Et nous allons
appeler ce lycée. Cliquez ici. Assurez-vous de changer
ce score par un score élevé. Ensuite, nous allons juste
avoir ça juste en dessous. Je veux le rendre légèrement plus petit pour qu'il soit moins important. Je pense que ça me
paraît bien. Et puis peut-être un peu plus
bas. Et ensuite, ici,
si c'est plus grand, nous allons simplement nous
assurer de définir notre nouvelle sonde
Mesh textuelle publique. Vous mangez vraiment. On va faire un
lycée comme chaleur. Nous allons juste faire
un commentaire comme nous l'avons fait dernière fois, un texte du lycée. Ensuite, ici, nous allons dire que texte de points du
lycée est égal à point de l'école secondaire à
chaîne, puis entre parenthèses. Il s'agit essentiellement de nous
assurer que nous affichons ce qu'
est notre lycée chaque fois que nous devrions nous
assurer d'attribuer ce lycée. Donc une fois que ça se charge de nouveau, j'ai
mis ce lycée,
je vais renommer le mien trop au lycée, donc je sais exactement ce que c'est. Cela devrait parfaitement fonctionner. Nous avons
encore ce problème, mais c'est très bien. Retournez dans notre jeu. Et nous pouvons voir que notre
lycée est 453 pour le moment parce que
nous ne le surpassons pas. Si nous nous écrasons,
il est réglé à 18. Et si nous allons plus loin que cela, nous pouvons voir qu'il est maintenant 27 ans,
ce qui est vraiment cool. La dernière chose que nous devons faire est d'ajouter les mêmes textes que
nous avions ici. Assurez-vous de le copier. Nous avons donc un score
plus le lycée et ensuite nous allons changer
cela en lycée. Alors tout devrait
fonctionner parfaitement bien. Ce code court ici, nous allons faire tout
notre lycée pour nous. Et avec ce petit
appel de méthode du State Manager, que nous avons lié,
tout
fonctionnera parfaitement bien. Allez-y et ouvrez-le. Et si nous courons, nous pouvons
voir nos lycées Carney pour trois parce
que c'est l'entité
que si vous faites ce lycée 18, continuez. Essayons de
dépasser 18 ans cette fois. Seulement à 29 ans. Si je meurs, c'est 37 ans et ça sauve si je vais à 18 ans et que je
fume va écraser, ce qui est vraiment, vraiment cool. Un autre grand pas vers la bonne direction
pour un jeu mobile. Excellent travail, tout le monde,
et je vous verrai dans la prochaine vidéo où nous
allons couvrir les économies afin que notre
lycée soit sauvé même avec la fermeture et le rechargement du jeu. Je vous verrai dans la prochaine étape.
16. Enregistrer: Salut et bienvenue
à l'unité, ou dans ce cas Visual Studio. Maintenant, dans cet épisode assez
court, nous allons simplement passer un
système de sauvegarde rapide pour notre jeu pour commencer
à ouvrir
le script de l'école que vous avez créé,
comme je l'ai fait maintenant. Maintenant, ici, nous pouvons
voir le score est mathématique, F dot round end, transformation
du point du joueur
qui nous amène à l'école et nous pouvons nous faire attribuer notre
texte de partition ici. Nous avons également créé cette variable de
lycée, qui
va essentiellement vérifier si nous avons un score
élevé ou non, ce qui est vraiment, vraiment cool. Il est vraiment très
simple de
s'assurer que nous pouvons
économiser en tant que lycée lorsque nous cuisinons le jeu et nous pourrons le récupérer
une fois que nous l'avons chargé. Et c'est utiliser ce que l'on
appelle les préfs du joueur. Maintenant, une unité, il a ce
système intégré pour économiser et nous
pouvons l'utiliser pour les jeux mobiles parce que bien qu'il se stocke
localement sur l'appareil, personne ne
pourra encoder ça parce
que ça va être
allumé. un téléphone, donc c'est génial. Par conséquent, ici, nous avons un système pour voir si notre score est supérieur à
celui d'un lycée. dessous de cela, nous sommes essentiellement
un lycée de déconnexion. Et c'est essentiellement dire, d'accord, vous avez un
nouveau lycée. Et si nous avons un
nouveau lycée, nous allons
vouloir le sauver. Nous allons donc taper P majuscule, préfs
du joueur, point,
puis définir int. Maintenant, nous pouvons
mettre tout ce que nous voulons appeler un entier
entre ces crochets. Je vais donc nommer le mien. Le score va mettre une virgule ,
puis nous mettons la valeur que nous voulons mettre dans les écoles. Je vais taper au lycée. Si nous voyons que nous sauvons notre lycée dans le jeu de
l'école approximative. Ensuite, ici, au
sommet, nous allons dire une
étoile nulle sous le personnel quand
nous commencerons le match. En d'autres termes, lorsque
nous arrêterons de jouer à nouveau, nous allons
nous assurer d'obtenir cette variable entière et de définir le score le plus élevé afin que nous sachions ce qu'est
notre lycée. Par ici. On va dire que les préfs du joueur, points et les obtenir, les
crochets ouverts marquent. Cela va essentiellement renvoyer tout ce que nous avons
mis à l'intérieur du score. Et je vais aller de l'avant et mettre le
lycée à la hauteur. Ça va être vraiment cool. Mais il est maintenant
au début de chaque match que nous avons dit au lycée partout où nous l'avons sauvegardé comme chaque
fois que vous avez un lycée. En dessous de cela, je peux
simplement dire un texte de lycée. Nous pouvons simplement
copier cette ligne. En fait, faites-le glisser
ici, texte du lycée. Et nous sommes maintenant en train de mettre le
lycée au premier rang. Nous montrons ce que c'est
avec ces
trois lignes de code simples . Évidemment, nous pourrions
aussi ajouter de l'argile ou peut-être des points à la fin. il
ne fait pas grand-chose. D'après mon expérience, j'ai constaté que cela
le sauve sans cela, mais si vous le voulez, vous
pouvez le faire. Je ne sais pas. C'est peut-être quelque chose
que je n'ai pas rencontré que ça sauve. Donc, peut-être le mettre
là pour faire bonne mesure, mais ce n'est pas vraiment
essentiel dans mon expérience. Puis avec ces quatre
lignes de code, nous sommes partis, elle a créé notre
propre système d'épargne. Nous
économisons notre école secondaire chaque fois que nous en recevons un nouveau et
que nous le lisons chaque fois
que nous commençons le jeu, cela fonctionnera parfaitement. Dans le prochain
épisode, nous
allons faire toutes les améliorations visuelles. Et après cela, nous allons revenir toutes sortes d'autres
choses maintenant, mais c'est vraiment bien d'avoir
ce système d'épargne crucial installé dans un jeu de manière aussi
simpliste. J'espère que vous avez
apprécié cet épisode très court, et je vous verrai
dans le prochain.
17. Améliorer les visuels: Salut, et bienvenue à
nouveau dans l'unité. Dans cet épisode, ce sera l'une
des choses les plus cool que
nous allons ajouter
à notre jeu mobile. Nous allons
améliorer les visuels
décuplés encore
plus que cela. Je veux dire, si vous l'avez refait en
ce
moment , ça n'a pas l'air mal, mais ça n'a pas l'air très bien. Le problème avec notre jeu en
ce moment, c'est qu'il est jaune sur bleu et vert,
et nous avons du rouge. Ce n'est tout simplement pas une
excellente palette de couleurs. Je vais juste garder ça
jaune parce que je pense
que les plaquettes sont jolies, mais je veux changer
quelques choses. Je pourrais changer
le temps des choses. Donc, pour commencer, je vais rendre le fond noir parce que je pense que ça aura l'
air plutôt cool. Je vais donc aller de l'avant et
faire glisser ça de droite en bas. Maintenant, nous avons un fond
noir. Maintenant, la deuxième chose que
je vais faire, c'est que je
vais aller voir le joueur
et je vais les rendre un peu plus brillants comme ça. Je pense que ça a l'air bien. Ensuite, je vais aller voir
ces morceaux de flux et je vais en fait changer
cette couleur en bleu. Je vais donc aller
ici, laisser ouvrir les planchers et voir ces
changements prendre effet. Je vais le faire comme un
beau bleu clair là-bas. Je pense que c'est plutôt bien. Je vais copier cet hexadécimal. Je peux le mettre sur
l'autre pour aller les planchers de décollage de l'environnement et ensuite le faire entrer. Je pense que c'est beaucoup mieux. Maintenant, la dernière fois que quelqu'un va
au triangle et le
rend légèrement plus rouge. On y va, ça a l'air bien. Maintenant, déclarez le jeu,
je pense que c'est une très grande
amélioration visuelle que nous pouvons voir. Maintenant, c'est beaucoup mieux. Il ressemble plus à un
vrai jeu d'arcade, un vieux jeu d'arcade qu'à
ce que nous avions auparavant, le jeu de couleurs
bizarre. Mais en
fait, nous pouvons
améliorer la situation avec
le post-traitement. Si vous n'en avez
jamais entendu parler auparavant. post-traitement est essentiellement
ces effets que nous pouvons ajouter visuellement à notre jeu pour le
rendre meilleur. Je suis allé de l'avant et j'ai créé
cet objet vide, je
n'y ai encore
rien ajouté. Assurez-vous simplement que si vous ne l'
avez pas déjà fait, je peux
juste supprimer le
mien, vous montrer. Je vais créer un vide, et je vais appeler ça
un post-traitement. En fait, c'est beaucoup mieux. Alors,
centrons-le au milieu. Assurez-vous que
tout est réglé sur 0. Ensuite, je vais aller dans
mon gestionnaire de paquets Windows. Et je vais en fait ajouter ce paquet de post-traitement et cela va vous le
permettre. Tout ce que je veux faire, c'est
que je vais cliquer sur Installer. Et ça va
prendre un certain temps. Une fois que vous aurez terminé de compiler des
scripts dans tout, vous pourrez commencer à ajouter
un jeu CIO
post-traitement. Nous y allons donc, assez vite et je vais cliquer sur mon objet de post-traitement. Et je vais aller de
l'avant et je vais cliquer sur un volume de post-traitement. Saisissez donc le volume post-traitement. C'est ici que nous
allons réellement
créer nos effets de
post-traitement. Mais avant de le faire, nous devons
ajouter un
calque à la caméra, ce qui permet
essentiellement procéder au
post-traitement. Je vais donc passer en
post-traitement des gamètes ici, couche post-traitée. Et ça va
être génial. Nous allons aller ici
et nous avons notre gâchette. Maintenant, la liste ne peut
être définie sur rien. Donc, c'est essentiellement dire, d'accord, que nous avons un peu de
post-traitement. Si nous nous installons ici, nous définissons ce
que nous voulons pouvoir
ajouter du post-traitement. Je vais donc
régler la couche d'eau, sans autre raison que nous n'
utiliserons pas la couche d'eau. C'est un peu
comme une couche de rechange. Il faut
l'arroser et laisser
tout le reste pareil. Ensuite, je vais passer à
mon post-traitement. Je vais changer
cette couche ici en eau, ce qui est vraiment cool. Maintenant, je vais cocher
cette case globale. Et je vais aller au
profil et nous cliquerons sur nouveau. Cela va créer un profil de
post-traitement pour nous. Et si nous
voulons gagner,
nous pourrons voir cela en action. Je vais aller ici
sur l'immunité d'effet. Et je clique sur gluten. Et ce sera notre
premier effet post-traitement. Si j'augmente l'
intensité ici, vous pouvez
voir ce qu'il fait. De toute évidence, c'est un peu beaucoup, mais c'est un peu l'effet
général de la floraison. Il ajoute ce joli bleu. Vous pouvez voir que ça va
faire des merveilles pour nos jeux. Je vais faire mon épanouissement. Peut-être que quelque chose comme je lie
cinq est probablement une bonne chose, nous avons une bonne
chose de néon qui se passe donc ça va. Je vais laisser ma gorge à un seul
coup parce que je pense
que c'est très bien. Et toutes les autres choses que je
vais laisser comme le bœuf, je pense que ça a l'
air plutôt bien. J'aurais pu, je
veux changer la couleur en rouge évidemment. Et puis j'ai une fille rouge, jaune si l'une des barres jaunes et tout ce qui
semble assez cool, mais aussi ajouter peut-être un vert
ou un bleu si le bleu, mais je vais le laisser blanc. Et maintenant, je pourrais l'ajouter
aux données bleues parce que, mais je verrai, je pense que le blanc semble bon financement
pour décocher cette couleur. Maintenant, je vais ajouter mon deuxième de mes trois effets
et je vais
ajouter un effet net vague sur si
je prononce bien, je vais passer ici à l'intensité. Je vais augmenter
l'intensité à environ. Vous pouvez voir
ce qu'il fait, c' est l'effet net naturel. Je vais faire du mien
quelque chose comme 0,3. C'est donc un peu subtil, mais on peut le
voir sur les bords. Si je faisais 0,5, ce
sera un peu beaucoup, au moins 0,3. Je pense que c'est un
bon point médian. Ensuite, le dernier facteur
que je vais ajouter sera l'étalement des couleurs. Cela peut être assez
compliqué, mais ne vous inquiétez pas, nous n'
utiliserons pas tous ces éléments. Nous allons simplement
cliquer sur le mode ici
et passer à Plage
basse définition. Et ici, notre température ne
laisserait pas de teinte. Nous pouvons partir, mais nous allons
en fait nous assurer que la température
est réglée sur 0, c'
est-à-dire que nous
allons aller ici jusqu'à
ces trois plus bas et ce
sont ceux qui
changent assez . saturation,
luminosité et contraste. Je vais en fait
changer ça à dix, une luminosité de dix aussi. Et assurez-vous que mon
contraste est peut-être plein. J'en ai même dix ans,
mais je pense que
ça a l'air un peu moins beau. Faisons donc le plein même
et soyons meilleurs. Et nous pouvons voir maintenant que nous
avons ce que je pense être
un jeu qui est un million de fois
plus beau. Si j'y vais et que je frappe Play, je vois que ce
jeu, à mon avis, est dix fois meilleur
que ce qu'il a fait. On dirait maintenant
un jeu réel. Cela
ressemble beaucoup à l'un des premiers jeux que
j'ai jamais créés, appelé racine carrée. Oui, c'est un peu ce sur quoi je fonde ce cours, mais oui, vous pouvez voir à quel point le jeu
est bien meilleur maintenant nous avons les effets
lumineux et nous avons tous de
beaux visuels que nous avons ajoutés. Nous avons les meilleures couleurs. Je pense que c'est plutôt
joli. La dernière chose que je
voulais faire est
d'ajouter un effet de mort et
nous allons le
faire avec un système de particules. Maintenant, cela va
améliorer notre jeu un million de fois. Croyez-moi, il y
aura un bel effet quand nous me demanderons de l'explorer et ensuite nous
répondrons, ça va être vraiment génial. Mais avant de le faire, je vais vouloir aller de l'avant et m'assurer que nous avons désactivé et activé ma place
lorsque je mourrai car c'est en fait la
première étape de ce processus. Je vais aller ici à mon script de
State Manager. Je vais
ouvrir ça et je crée un rendu de sprite public
et je l'appelle « spread ». Ensuite, ici,
sous mon vide de die, je vais simplement souligner et dire que sprite dot activé est faux. Et cela signifie essentiellement aller à tous les sprites qui vous sont
attachés, ce
qui sera le moteur de rendu de sprite de ce
joueur. Allez ici et
désactivez-le comme ça. Il ne sera donc pas actif. Tout le reste est
toujours du travail C21. Mais ensuite, la deuxième chose que je
vais copier ce code
et sous réponse, je vais
définir ça comme vrai à la fin. En gros, comme nous le
faisons avec beaucoup
de choses comme notre gravité
et tout le reste. Nous sommes juste en train de
le régler pour
qu'il s'agisse d'autre chose que l'état désactivé a changé,
ce qui est vraiment cool. Maintenant, j'ai juste besoin d'
aller voir le joueur et m'
assurer d'avoir assigné
mon moteur de rendu de sprite ici. Je vais donc aller au sommet. Et si j'essaie de faire glisser ça vers le bas, ça ne me laissera pas vraiment le faire. Au lieu de cela, je
vais juste aller ici et je vais cliquer là-bas et sélectionner un joueur. Et ça va
me donner la bonne,
ce qui est exactement la même
chose que celle qui l'a traînée vers le bas. D'accord. Je ne pouvais pas parce qu'
il y avait tellement de choses dans le chemin. Maintenant, j'ai oublié et je joue mon jeu. En fait, je peux voir que si je vais
jouer et que je tourne à un pic, mon sprite disparaîtrait et ensuite je répondrai, mais ça
n'a pas l'air très bien. Nous voulons ajouter un
effet et nous
allons le faire avec
un système de particules. Je vais ajouter un composant. Je vais taper un système
de particules. Dès que vous avez ajouté
votre système de produit, cliquez sur le lecteur
et cliquez sur Maj H, ce qui le place
isolément, n'
utilise que ce que vous pouvez voir, ce qui est
vraiment très utile pour nous. Ensuite, nous allons aller de
l'avant et nous allons commencer
à ajouter un système de
particules. Un système de particules est, je suis sûr que vous pouvez deviner que
c'est un effet de particules. Actuellement, ce sont
tous les paramètres par défaut, mais nous ne les voulons pas. Nous allons donc changer
la première chose que nous allons faire, c'est d'aller à l'animation de feuille
Texture. Je vais passer par
chaque étape parce que
c' est un élément assez
compliqué. Il m'a fallu beaucoup de temps
pour m'accrocher, mais j'ai une partie plus grande mais maintenant assez pour créer un bel
effet de particules pour notre profondeur. Allons dans
Animation de feuille de texture,
cochez-la , cliquez dessus, puis
passez de la grille aux sprites. Ensuite, allez dans les ressources de cours et faites glisser votre carré là-bas. Et maintenant, nous
devrions presque utiliser R-square, qui doit aller dans le
rendu et sélectionner le matériau comme Sprites Default. Et ensuite, nous utilisons des carrés
normaux, n'est-ce pas ? Maintenant, revenez ici et nous pouvons
voir que c'est un effet de bouclage, mais nous ne voulons évidemment pas
qu'il soit en boucle parce que nous ne les aurons pas une seule fois
pour décocher la boucle. Et si nous cliquons sur Redémarrer, nous pouvons voir cet effet s'allumer pendant cinq secondes, puis s'arrête. Et nous pouvons le voir se dérouler,
mais nous ne le voulons pas de toute façon, et nous voulons que ce soit
environ 0,2 seconde. Ce sera l'exclusion de la loi
juive. Et nous voulons également qu'il y
ait beaucoup plus de rapidité. Donc nous ne le ferons pas, je commencerai ma vie à être quelque chose de moins de 0,8. Et nous pouvons voir tous nos
produits disparaître et disparaître. Ce serait donc parfait
et répondra ensuite. Maintenant, nous voulons également que la
vitesse soit beaucoup plus grande. Changeons donc ça
par dix et le produit sera
beaucoup plus rapide, ce qui est bien. Et nous voulons que la taille soit légèrement plus grande.
Je vais donc faire 1,5. Et nous avons ces belles
particules plus grosses, ce qui est cool. Ensuite, ici, sur l'émission, c'est ici que nous allons
changer un tas de choses. Nous allons faire ce
taux au fil du temps à 100. Nous pouvons voir maintenant que c'est un peu plus agréable, mais
en fait, ce n'est pas suffisant. Je vais donc en faire 250. On y va. C'est une
bonne quantité de particules. Nous pouvons même le lancer 300. Mais vous n'avez pas besoin de lui demander. Maintenant, je vais passer à Shape et en fait
ma forme de cône, qui est parfait pour cela. Laissez tout là-dedans. Maintenant, je vais
changer deux choses. Tout d'abord, je veux changer
ma vitesse tout au long de ma vie. Cochez cette case,
puis ouvrez-la. Cliquez sur la taille, vous allez
simplement cliquer sur ce
graphique généré automatiquement ici, puis nous pourrons voir la
vitesse de vie, ils seront
plus petits au fur et à mesure. Vous pouvez également choisir
celui-ci si vous le souhaitez. C'est assez similaire, mais je
trouve que pour les explosions, celle-ci fonctionne légèrement mieux. C'est cool. Ensuite, vous pouvez aller de l'avant et
passer à la couleur tout au long de la vie. Cochez-le, cliquez sur Couleur. Et ensuite, vous allez
vouloir aller de l'avant et cliquer à la fin ici, sur ce top et faire le 0. Et ça va fondamentalement vous
donner un bel effet de
décoloration comme ça. La dernière chose
à faire est de s'assurer que couleur est la même que celle
que nous utilisons. Cliquez donc sur la couleur,
cliquez sur cette fine pour aller de l'avant et choisir
quelque part dans votre carré. Vous pouvez voir maintenant
que ça va
ressembler , ce qui est sympa. Maintenant, il y a quelques changements
que nous devrions peut-être apporter, mais testons cela pour l'instant car cela pourrait fonctionner parfaitement. Pour ce faire. Il est évident que nous devons coder pour dire quand nous
voulons faire les particules. Appuyez de nouveau sur Maj H,
revenez dans notre jeu. Nous pouvons voir si nous le jouons maintenant c'est devant
l'arrière-plan, ce qui est agréable car notre
arrière-plan est moins dix. Si ce n'était pas le cas, nous pourrions
changer un facteur ici qui le ferait passer
devant , mais c'est vrai,
donc c'est très bien. Ensuite, nous allons
entrer dans notre scénario. Ici. C'est toujours
le directeur d'État. Nous allons créer un système de particules
publiques comme celui-ci sur notre mine de charbon PS. Ensuite, ici, sous mon régime, je vais juste dire juste en
dessous de mon araignée qu'ils disaient presque ps, dot, play. Ensuite, les parenthèses et le point-virgule. Eh bien,
ça va
me permettre de jouer cet effet
tant que je le signerai. Je vais donc aller ici mon script et faire glisser mon système
produit là-dedans. Je vais minimiser cela pour
que vous puissiez le voir. Maintenant, avant de le tester,
continuons et nous assurer que nous n'avons pas vérifié le plan éveillé,
sinon il jouera
dès que nous commencerons. Allons-y et cliquons dessus. Ensuite, nous commençons,
tout va bien. Si on meurt, ça devrait marcher. Nous voyons que je suis très gentil. Effet
de décoloration de l'explosion de particules,
ce qui, à mon avis, est plutôt
bon pour le moment. Il y a peu de
changements que nous pouvons apporter. Par exemple, je pense
qu'il faut avoir la couleur un peu
moins au début. Donc, réduisons cet
alpha à 150 sur la couleur au cours de la vie. Ensuite, la dernière chose que je veux faire, je veux en ajouter
la plupart, je suis comme si c'était 500. Et je vais également
rendre cette taille légèrement plus petite.
Je vais donc faire 1,2. Il s'agira de
nouveaux effets de particules. On peut aussi le rendre
un peu plus rapide, à mon avis, ils en
font 15, laissez-moi partir. Ça devrait être mieux. Si nous nous arrêtons maintenant. Nous devrions voir notre
effet de particules en action. minute où nous mourrons, nous pouvons même nous
arrêter ici et le voir. Et on y va. Je pense
que c'est plutôt sympa. Oh, elle a été coupée d'écran. Permettez-moi donc de vous montrer à
quoi ça ressemble sur un triangle normal. Par ici. Nous y sommes. Je pense
que c'est très joli. Il est évident que cela pourrait être amélioré. Essayez peut-être de
jouer avec ça. Voyez que vous pouvez obtenir le vôtre de mieux
paraître que la mienne. Mais pour l'instant, je pense que
c'est exactement ce dont j'ai besoin. La bonne nouvelle, c'est à cause
de tous nos travaux antérieurs et dans le présent que nous avons bougé
si nous tombons et mourons, comme j'essaie de l'
illustrer maintenant, faites
tout simplement du bien dans notre jeu. Ensuite, il ne bouge pas, ce qui
est vraiment, vraiment cool. Espérons que
vous ayez effectué des mises à niveau visuelles
drastiques après avoir fait cela . poutre en acier et la vôtre se
regarde beaucoup mieux. Jetez un coup d'œil à quoi ressemblait
notre jeu dès le début et regardez-le maintenant,
je pense qu'il semble un million de fois mieux. Donc, la grille que vous avez jamais fait, je pense que ces
améliorations de vision apportées dans notre jeu semblent beaucoup
plus professionnelles. Et une fois de plus, nous nous rapprochons de plus en plus de la fin de
notre jeu
si grand si tout le monde, je vous verrai dans la prochaine vidéo.
18. Conception du son: Salut, et bienvenue à
nouveau dans l'unité. Maintenant, comme vous vous
en souvenez sûrement dans notre dernier épisode, nous avons considérablement amélioré la composante visuelle de nos
jeux. Mais il y a eu un aspect du développement de jeux
que nous avons
négligé depuis tout ce temps, savoir la
conception sonore ou la composante audio de nos jeux. Il est évident que cela se divise en deux
catégories principales de jeux, musique et d'effets sonores. Dans ce cours, ou
plutôt cet épisode, nous allons ajouter ces
deux choses. Maintenant, je ne vais être qu'un effet sonore pour
le saut et pour l' animation de
la mort et une
seule piste musicale. Mais si vous voulez
oxyder cette vidéo, vous pouvez ajouter
autant de nouvelles structures que vous voulez ou des effets sonores
supplémentaires parce que
vous allez utiliser exactement
le même processus que celui que
je vais utiliser. Il sera donc facile de l'agrandir. Pour commencer, je vais abord créer
un gestionnaire de musique. Je vais donc cliquer avec le bouton droit
ici, Create Empty, et je vais nommer
ce gestionnaire de musique. Ensuite, je vais évidemment être centré comme je le fais toujours. Et ensuite, je vais
vouloir ajouter mon
script géré par la musique à ce sujet. Je vais donc créer un nouveau script C-sharp
et je vais appeler cette musique, la gérer. En fait, ça va
être un gestionnaire de son. Vous pouvez manger ce que vous voulez me
comprendre, mon directeur musical. Ensuite, je vais y
aller et l'ouvrir. La raison pour laquelle je le nomme gestionnaire de
musique, c'est parce
que c'est évidemment la première chose que nous
allons
ajouter, ajouter le son. Ensuite, je vais créer
une référence, et c'est ce que nous
appelons une source audio. Il s'agit essentiellement d'
une façon d'unité de dire un lecteur MP3 ou Web. Je vais donc passer à la source audio
publique, et je vais nommer la
mienne comme majuscule a. Sinon, c'est le mot qui est évidemment
restreint. Alors alors, je vais aller de l'avant
et créer un vide public. Et je vais appeler ça « Lay ». Assurez-vous de ne pas avoir le filtre automatique la connexion ou de la déconnexion du lecteur. Et je vais y aller en argile noire. Maintenant, cela
garantit la façon dont nous pouvons lier les sources audio. Je vais ici, mon garçon, j'ai arrêté. Ensuite, ici, je vais
appeler cette argile vide. Donc, en fait, je dis qu'en
tant que jeu au départ, c'est
évidemment une façon assez
fastidieuse d'y arriver, ce que vous avez peut-être
remarqué, mais j'essaie juste illustrer quelque chose,
alors supportez moi. Ensuite, ici, nous devons
créer une source audio. Passons donc au
gestionnaire de musique, car nous
allons évidemment ajouter la musique. Ils vont
suivre les ressources du cours et nous allons faire glisser
le fichier musical là-dedans. Maintenant, ce fichier musical est une chanson libre de droits
provenant d'Internet, mais vous pouvez utiliser
ce que vous voulez. Assurez-vous simplement que
vous n'utilisez pas musique
Cohen qui est violée
sur les droits d'auteur de quelqu'un. Si nous voyons que c'est libre de droits, cochez cette case. Et ensuite, vous
voudrez continuer à décocher
le jeu éveillé parce que nous le faisons manuellement ici. Évidemment, nous pourrions simplement
cliquer sur Play on wake, mais comme je l'ai dit, j'essaie d'
illustrer quelque chose. Ensuite, réglez le volume
quelque chose comme 0,5 et la hauteur aussi,
je pense à 0,9. C'est fondamentalement
ralentir la chanson. Je pense que ça ressemble
mieux à ça, mais tu n'es pas obligé de le faire. Vous pouvez changer la hauteur
où vous voulez, aller
vraiment jusqu'à trois
et deux moins trois vont changer cette 0,5. Je ne recommanderais pas de le
faire, désolé, 0,9, je ne recommanderais
rien de moins de 0,4, sinon ça devient
un peu trop lent. Et puis on va encore entrer dans
nos gestionnaires de musique, je vais ajouter notre script de gestionnaire de
son ou je l'appellerais gestionnaire de musique. Je vais faire glisser
notre source audio et nous pouvons voir si nous
décochons le plan éveillé, mais dès que nous cliquons sur Play, notre jeu va
cesser de jouer de la musique. Très, très cool. Maintenant, nous avons notre script musical et vous pouvez évidemment
jouer avec ça aussi
longtemps que vous le souhaitez. J'ai coupé cela spécifiquement, donc il devrait boucler, mais si vous voulez
faire en sorte que vous faisiez disparaître ou disparaître, nous
utilisons une piste différente. Vous pouvez évidemment
changer tout cela. Je viens de changer le
fichier audio que vous faites. Tout ce qui fait, c'est lire
un fichier pour le boucler. Si vous modifiez
la musique,
veillez à réajuster la hauteur. Sinon, ce
n'est peut-être qu'une sensation lente, un goût, mais en ce moment tout
fonctionne parfaitement bien. La deuxième chose que nous devons
ajouter, c'est les effets sonores, et nous allons faire
ceux qui utilisent des sources audio. Mais le problème lié à l'utilisation de sources
audio est que si vous avez plusieurs
sources audio sur un objet, il devient un peu difficile de les
différencier. Je vais donc stocker sources
audio pour le lecteur,
un lecteur et l'autre
sur un autre objet. Ce que j'utilise n'a pas vraiment d'
importance. Je pourrais utiliser le système
événementiel si je voulais contenir un objet de planchers d'
apparition, qui est évidemment
un espace de stockage, peu importe. Je vais mettre le mien dans l'
environnement car c' est l'un des objets les plus
inutiles. Mais même si
celui-ci ne bouge pas, il va toujours
lire l'audio. Ce n'
est pas comme si l'audio était affecté par la mesure dans laquelle nous allons aller de l'avant
et ajouter une source audio. Et nous verrons que nous l'avons traîné
la dernière fois. C'est juste une
façon rapide de le faire. Et je vais ajouter l'
effet de teinture de cette source audio. Ensuite, nous nous assurerons de
décocher le jeu en mode éveillé. Et je veux faire en sorte que le
volume soit également d'environ 0,5. Nous devrons peut-être les
ajuster plus tard. Nous verrons que je vais aller mon lecteur et je vais faire défiler
vers le bas et ajouter
une autre source audio
et ajouter l'effet de saut,
une fois de plus, en changeant
le volume à 0,5 et en changeant le
Paraguay à faux. Assurez-vous que les deux
jeux en mode éveillé et en boucle sont définis sur
false pour celui-ci. Ensuite, tout ce que je dois
faire, c'est entrer dans mon scénario et de créer un nouveau vide public pour
jouer à d'autres musées, je vais faire du vide public et
tirer celui-ci, jouer au saut. Sous notre vide public. Lei di. Ce seront essentiellement
les deux autres sources audio que je vais aller ici
et je vais
créer aussi saut que dy. Et je vais renommer cette musique pour pouvoir faire la
différence entre elle. Et bien sûr, je vais
réajuster cela là. Et puis je vais
copier ce code exact, changeant
évidemment quel audio. Donc, quelques choses ici, je vais
sauter le jeu de points. Ici. Je vais y aller aussi tard. Maintenant, si vous
remarquez quelque chose, ces procédures sont
assez similaires. Nous pourrions donc, en fait,
si nous voulions utiliser des paramètres et appeler une seule procédure. Mais j'ai souvent constaté
que l'utilisation de paramètres peut vous poser quelques problèmes
dans Unity Editor. Et donc, par souci de simplicité,
nous n'allons pas faire ça. Ce que je veux dire par h dans
l'éditeur Unity, c'est parce que ces scripts
sont refroidis par du code, il n'y aurait aucun problème du tout. Mais si nous voulons appeler le
script via un objet, vous voulez cliquer sur un bouton
et un vide spécifique à Coolidge. Et nous avions trop de paramètres. Parfois, il ne
nous permet pas de le référencer correctement. Ne vous
inquiétez pas pour l'instant. Ce ne sera pas un problème. Nous allons
aussi courir, mais nous pourrions réécrire cela
comme une seule procédure. Je choisis simplement de ne pas le faire parce que c'est un peu
plus facile à lire. Mais si vous remarquez
ce super travail, et maintenant nous avons juste besoin d'
entrer dans notre chef de scène. Nous devons nous assurer que
nous avons appelé la touche. Allez donc voir notre directeur de scène
et nous allons créer un gestionnaire de musique publique,
regarder de la musique de suivi. Ensuite, nous allons descendre sur cette planche de plongée et dénuée. Et nous allons nous
assurer appeler dès que nous mourrons. Donc, après le système de particules, je vais passer à la musique. Jouez à Die. Parfait. Et ensuite, ici, je
vais copier ce code exact. Et nous allons également
vouloir jouer à ce jeu
chaque fois que nous sautons. Mais cela n'
est évidemment pas lié
au directeur d'État qui
va bouger. Nous allons donc faire
exactement le même processus. Je vais passer au public, à
la musique ou à la musique. Ensuite, ici, sur le vide de saut, on va jouer des dés
de la musique. En ce moment. Nous allons vouloir
créer des sauts. Sautez tellement gris foncé. Un peu d'
affectation que nous devons faire avant que cela ne fonctionne. Mais une fois que nous avons fait
cela, tout devrait fonctionner parfaitement LC. Nous avons modifié le script de
mouvement, le script State Manager
et le gestionnaire de musique. Allons donc
vérifier que tous ceux ont tout ce qu'ils devraient
lui attribuer. Tout d'abord, nous commencerons
par le script de mouvement. Il n'y a pas de gestionnaire de musique s'assurent de
faire glisser ça. directeur d'État ne le fait pas non plus. Ensuite, sous le gestionnaire de musique, nous devons nous assurer que nous
avons réellement les bonnes sources audio. Alors faites glisser en tant que musique là-bas, car nous avons changé
le nom, il se
réinitialisera pour vous assurer que vous le faites. Faites glisser le joueur a le saut et l'environnement
a le vide de teinture. Et puis je
vais jouer
au jeu et tu
verras comment ça sonne. Très bien, c'était cool. Nous pouvons constater qu'en ce court laps de
temps, nous avons créé un système audio entièrement
fonctionnel avec de la musique et du son. Et
ce qui est génial de faire cela,
évidemment, nous pouvons voir ici que
nous avons un livre de code assez
inutile appelle le jeu à partir
d'une procédure de magasin qui le fait seul, ce qui est Ce n'est pas très idéal. Mais la raison pour laquelle je
voulais le faire, c'est parce que
nous avons maintenant un lien vers
notre audio et notre musique. Et plus tard, lorsque nous
créerons notre système de menus, nous allons créer des
fonctionnalités permettant couper le son de toutes ces sources audio. Et ça
va vraiment nous permettre de faire ça, ce qui est vraiment, vraiment cool. Restez à l'écoute pour ce
bon travail tout le monde. J'espère que tout
fonctionne et que je vais évidemment mon code et mes
ressources si vous le souhaitez, vous pouvez changer ces éléments
audio pour
qu'ils soient où vous voulez. Il suffit de glisser votre nouveau
fichier là-dedans et il mettra à jour tout.
Et un excellent travail. Je vous verrai dans la prochaine vidéo.
19. Système de menu: Salut, et bienvenue
à Unity. Et évidemment, dans
le dernier épisode, nous avons ajouté du son et de la musique, ciblant divers moments, ce qui le rend
beaucoup plus réactif. Nous pouvons le voir ici,
comme nous l'avons fait dans la dernière rangée. Super cool. Bien que cela soit
incroyablement cool, certaines personnes pourraient
ne pas vouloir audio et le son comme nous. J'espère que vous le faites au moins
parce que vous avez dû l'
écouter en deux pour le
dernier épisode. Nous allons ajouter
un système de menus qui nous
permet de choisir si voulez jouer du son ou non,
et également jouer au jeu. Et il nous
ramènera là quand nous mourrons. En fait, cela va
être assez simple. Ce sera
probablement l'une des choses les plus compliquées que
nous allons faire, probablement la chose la plus
compliquée à faire dans ce cours. Peut-être que vous trouverez l'ajout, ajoute un peu de confusion. Mais à part
ce système de menus, il suffit de s'y
habituer, mais après cela, vous
devriez aller bien. Pour commencer, nous
allons
commencer par créer un script de menu. Je vais appeler
notre menu de scripts. Ensuite, je vais continuer
et double-cliquer dessus. Maintenant, avant même de
commencer à faire mon menu, je suis sûr que vous pouvez penser que vous ne
voudriez pas d'états différents. Nous allons vouloir un état
où nous jouons au jeu. Nous montrons le texte de l'école
et du lycée. Et nous allons
indiquer où nous ne montrons pas les textes de l'école et
du secondaire, qui est exactement ce que
nous allons corriger. Ici. Nous allons avoir un vide
public et l'appeler menu. Juste en dessous,
nous allons avoir un autre vide public
et l'appeler menu haut. Ensuite, ce que nous
allons devoir faire, nous allons devoir créer
un système où nous pourrons masquer, garantir des boutons spécifiques et d'autres éléments d'interface utilisateur en
fonction de ce que nous voulons. Je vais donc y aller de l'avant
et faire ça maintenant. Tout d'abord, je dois
commencer à concevoir mon menu. Je vais aller ici à mon interface utilisateur, et je vais m'assurer décocher l'école et le lycée. Donc une fois que cela se charge,
puis cliquez dessus, comme ça, cliquez sur vérifier pour que
nous ne puissions plus le voir. Et puis je vais
arrêter d'incliner mon menu. Je vais donc
cliquer avec le bouton droit de la souris sur l'interface utilisateur. Et je vais créer un
bouton avec une sonde Mesh textuelle. Maintenant, cela va
aller de l'avant et le remplissage automatique. Nous ne pouvons pas non plus voir car
nos
couches de post-traitement sont un peu gênées . Mais si je vais de l'avant
et que je monte à l'échelle, nous devrions être en mesure de voir dehors, mais cela ajoute des accords éclatants
de notre post-traitement. Je
vois actuellement avec cette nouvelle façon et il y a une glacière
que vous pouvez cacher des gadgets. Si vous allez ici en haut à droite, vous pouvez enlever tous
les gadgets de la scène, ce qui est très
utile pour le moment. Je vais aller de l'avant
et renommer mon bouton. Ensuite, je vais aller
ici aux États-Unis, mais j'ai des
atouts de cours et vous
verrez ici que vous
avez un jeu. S'assure que tous ces éléments comme nous avons fixé
la première rue, nous atteignons 1000 pixels. Vous allez
vous assurer de faire la même chose ici. Sinon, ils
vont être très gros. Et puis allez ici pour
jouer une fois que vous avez fait
cela et faites-le glisser et alimentez, nous pouvons voir un bouton de lecture plutôt
défiguré. Ensuite, je vais passer au
texte et le supprimer. Ensuite, je vais aller ici
et définir la taille native. Et ici, nous avons notre
bouton de jeu, ce qui est plutôt cool. De toute évidence, il pourrait
être un peu
plus petit qu'une échelle qui augmente un peu. Et puis je vais
définir sa position sur le x et le Y sur 0. Vous constaterez peut-être que ces coordonnées de position
sont beaucoup plus grandes. Si nous passons cela à 60, il
ne déplace que les diapositives pour cela. Mais si nous avons déplacé notre
joueur en position 60, vous pouvez voir qu'il
finira votre projection. Et la raison en
est qu'il existe des coordonnées
différentes. Ce sont des coordonnées de l'interface utilisateur et l'autre coordonnées un
monde. Alors, ne vous
embrouillez pas là. Si je mets ça au 601960, ce ne
sera pas la même chose. Il y a du code que
vous pouvez les convertir, mais nous n'aurons pas besoin de le
faire dans cet épisode. Tellement chanceux pour nous. Ensuite, je vais y aller et le
raconter sur mes gadgets. Je peux les revoir. Et je vais m'
assurer de régler ça à 0 et de le faire baisser un peu. Je pense que je veux que mon bouton Lecture soit de la même couleur que le sol, donc je vais y aller de
l'avant. Je pense que c'est plutôt cool. Ensuite, je vais vouloir ajouter
mes options de lecture et de son. Je vais faire très semblable. Je vais cliquer avec le bouton droit
ici et accéder au message texte du bouton
UI Pro, et appeler ce son. Par ici, je vais
écrire u1 et de la musique de qualité, désolé ma musique et mes boutons
sonores. Et puis je vais
aller ici et supprimer les deux objets texte
attachés à ceux-ci. Déplacez les deux ici
dans le coin supérieur droit. Ne vous inquiétez pas pour ces flèches. C'est juste Unity qui travaille
sur le fonctionnement des boutons. Et je vais déplacer
la musique là-bas. Et puis je vais
aller ici et je vais faire glisser la musique dans la musique
comme je l'ai fait avec un son de lecture et le son et cliquez sur Définir la taille native pour
les deux, comme je l'ai fait. Ensuite, je vais toujours
réduire ces baisses. Je vais faire ça autour de 0.4.4. Ça m'a l'air bien. Et le même téléphone complet, qui est cool maintenant,
assure qu'il exactement de
la même exposition , donc ils sont juste
en dessous de l'autre. Je pense que ça a l'air plutôt bien. Nous avons maintenant notre jeu avec un système de
menus en haut à droite. On peut aller de l'avant
et changer ça en quoi je pense que je vais
changer ces couleurs. Je vais voir comment ça ressemble
au jaune. C'est pas génial. Je pense que je vais les
rendre tous bleus, mais vous pouvez en
faire ce que vous voulez si c'est énorme,
trouver la part. Oui, ça a l'air beau ou n'importe quelle autre couleur qui
fonctionnera parfaitement. La dernière chose que nous
devons faire, c'est que nous devons
évidemment créer un jeu de balle de titre. Je vais donc
cliquer avec le bouton droit sur une interface utilisateur, envoyer des textos sur Mac Pro et le
renommer en titre. Ensuite, je vais remonter ça. Je vais aussi vouloir faire évoluer ce **** beaucoup plus gros.
C'est ce que j'aimerais. Faites peut-être qu'elle n'est pas si grande, mais assez grande
pour faire baisser le Y. Je vais donc
changer un peu d'essence ici. Donc, tout d'abord, je vais
régler l'alignement sur le centre et le centre,
donc c'est juste au milieu. Ensuite, je vais renommer. Je vais m'assurer que
je l'ai fait avant de renommer l'action et m'assurer que ma taille de
police est assez grande. Je pense donc que peut-être
cent cinquante millions,
deux cents, c'est
probablement une bonne chose. Je ne dirais pas de nouveau
texte là-bas. Je vais aller de l'avant
et faire baisser
les deux
un peu à nouveau. Assurez-vous que le titre et
le son de lecture ont tous les deux
baissé et que nous
voyons que c' est un peu mieux
à mon avis, alors que nous devons toujours le rendre la même couleur pour qu'il corresponde. Nous pourrions également modifier
la police si nous le voulions. Ioc n'a pas installé de packs de polices. Je ne vais pas pouvoir le faire, mais
je vais laisser la mienne comme flèche pour l'instant. Je
vais nommer le mien. Qui ? Un carré ? Maintenant, si vous ne pouvez pas trouver un nom
aussi brillant que le
carré refroidi, je ne me suis pas joué. Vous pouvez nommer
Use où vous le souhaitez. Coolled Squared est
clairement le meilleur nom, mais si vous n'avez pas
pu venir avec quelque chose, ils
ne se sentent pas mal vous-même. ne sommes pas tous des
génies créatifs comme moi. Et après cela, notre système de menus est en fait assez complet,
ce qui est plutôt cool. Maintenant, il ne nous reste
plus qu'à programmer logiquement l'orthographe. Parce que si nous frappons Play comme vous devez
les réactiver, parce que c'est comme ça que je suis arrivé à mon avion
que nous avons touché le jeu. Nous ne voulons pas de ces
boutons en quelque sorte raisons évidentes. Ensuite, je vais y aller, nous voulons aller de l'avant et
programmer la logique à ces derniers. Je vais donc aller
dans mon système de menus ici. Je vais créer une
référence à chaque fois. Avant de commencer,
assurez-vous d'aller haut et
à droite en utilisant l' interface utilisateur de points du moteur
Unity et
en utilisant le protocole de message texte, comme nous l'avons fait la dernière fois. Ensuite, je vais vouloir
créer quelques ODS et passer en maillage de texte public. Tu te reproduis. Et nous allons appeler ça parce que ce
sera notre titre. Ensuite, nous allons vouloir
créer un bouton public. Et on va
appeler ça une pièce, appelée la musique suivante. On va appeler
le son suivant. Ensuite, nous devons
passer ici à l'interface utilisateur. En fait, je vais
mettre mon manuscrit directement sur les interfaces utilisateur pour y
conduire. Alors, assurez-vous que j'ai
signé mon truc. J'ai donc le bouton de lecture pour lire
mon bouton son en son, mon bouton de musique sur la musique
et mon titre là-bas. Et c'est presque fini. La dernière chose que nous devons
faire est de
créer une référence au
score, le score le plus élevé. Nous allons simplement
ajouter des virgules
, puis les placer
là quand elles se chargeront. Mais le score là-bas et
le lycée là-bas. Maintenant, ce que je dois
faire, c'est que je dois créer une logique pour savoir quand je
veux montrer lequel. Alors évidemment, lorsque je
montre le menu, je voulais m'assurer
que tout, sauf le titre et l'école est désolé, l'
école et le lycée. Et quand j'embauche le
menu pour
m'assurer exactement le contraire. Et je vais le faire avec des
paramètres car je sais que j'ai mentionné dans l'épisode
précédent que parfois Unity a des
choses bizarres avec des paramètres. Mais j'ai souvent constaté
que ce
n'est en fait que lorsque vous utilisez
plus d'un paramètre. Donc je vais appeler
ça à partir du code, donc ça va bien se passer
, mais je vais y aller. Et en fait, cela peut être une
meilleure façon de le faire. Je vais faire du
vide public, changer de banque. Et puis nous allons
avoir un booléen et je vais l'appeler x.
Maintenant, à partir de là, nous pouvons
définir chacun parce que nous
allons évidemment vouloir les
définir pour eux
parce que nous
allons évidemment vouloir les
définir pour qu'ils soient
complètement contrastant. Je veux dire
tous ces analogues ou les deux et les autres
non plus. Je vais donc aller ici,
titre Dot GameObject. Je suis référencé dans le jeu
d'objets de jeu actif, puis j'ouvre des crochets, et je peux évidemment
entrer X ici. Ensuite, en fonction de l'
endroit où nous entrons pour x, je mettrais le titre
actif à cela. Et je vais m'
assurer que j'ai décidé de faire ça
chacun d'entre eux. Donc, Tyler Rhodes Family, je vais vouloir
être le même pour le crâne, le même meilleur score. Et nous pouvons
appeler les lignes de code en appuyant sur Ctrl D. C'est très utile
puis sur
la même musique de lecture complète. Et pour le son. De toute évidence, cela peut les régler tous ou rien et nous
ne voulons pas le faire. Nous voulons que l'école et le lycée soient différents. Je vais juste mettre
un point d'
exclamation juste devant ça. Et cela
va dire que ce n'
est pas X. Le code
attend que je dis que je
saisis un x booléen soit
oui ou non, vrai ou faux. Et je vais appeler ce
point si nous voulions tout
cacher
sauf l'école, j'ai apporté le changement de menu faux
et ensuite ça va dire OK, donc au titre faux, l'
école n'est pas fausse ou vraie, le le lycée n' est ni faux ni vrai, et tout le reste faux. Et évidemment, si je
fais le contraire, cela mettra cela vrai, ce vrai, ce vrai et ces deux faux, qui est vraiment, vraiment cool, c'est vraiment une
façon simplifiée de faire cela. Ensuite, tout ce que je dois
faire, c'est de
créer une référence à ce
menu à partir de ma machine d'état. Je vais passer au menu public. Je ne veux pas l'appeler
menu, j'ai donc un lien. Et puis je vais
aller ici sur
mon tableau de bord où je
rafraîchis tout le reste. Et je vais en fait
dire menu, menu de changement de point. Et je le ferais bien sûr, je suis
entré ici pour
que tout soit centré sur la vérité sauf l'école
et le lycée. Et puis, sous le vide de réponse, je vais faire une chose
très similaire. Je vais monter ici sous mon truc et définir le menu sur Faux. Maintenant, ce que cela
va faire c'
est qu'il va
s'assurer que lorsque nous mourrons, le menu s'affiche,
puis il reviendra. Ce n'est pas entièrement
ce que nous voulons. Je vais vous montrer à quoi
ça ressemble maintenant. Si nous allons de l'avant et
que nous atteignons le jeu,
nous devons d'abord
attribuer des lectures avant de jouer. Allons donc sur notre machine d'état et assurez-vous de définir
notre menu , puis
de cliquer sur Lecture. Je vais
en fait couper le son parce que je peux parler
pour parler avec nous. Je vais aller voir mon
gestionnaire de musique et je vais
aller de l'avant et sourdine la musique et je suis déjà le
même avec le lecteur. Je vais juste aller
ici et cliquer sur Mute. Et il en va de même
pour l'environnement. Je n'en ai donc pas plus tôt. Si vous ne faites pas
cela, c'est très bien. Je suis juste pour pouvoir en parler
et ne pas être nouveau
brisé par la soustraction très
cool. Ensuite, si j'y vais et que je frappe Play, c'est plutôt
proche de ce que je veux. Nous pouvons voir que tout
se montre en même temps. Si je meurs, seul le menu s'
affiche et cela s'affiche. Mais évidemment, le
menu n'est pas très utile pour cet employé
clique ici. Il ne fait vraiment
rien qui n'est pas idéal. Je vais donc changer un peu cette logique de
code. Au lieu de dire, attendez un délai et répondez
automatiquement, je vais appeler cette
réponse nulle depuis le menu, et je vais vous montrer
comment cela fonctionne si je vais de l'avant et commenter ceci pour que tout ce qu'il fait, c'est attendre et que
rien ne se passe. Bien sûr, il s'agit
d'utiliser ce code, mais nous allons l'utiliser
plus tard, alors ne le supprimez pas. Ensuite, je vais aller
ici à mon jeu
et déboutonner , cliquer
et cliquer ici. Et je vais faire
glisser mon joueur. Laissez-moi y aller. Aucune fonction. Je vais aller jusqu'ici
jusqu'au responsable de
l'État et je
vais cliquer sur répondre. Et ce que ça va vraiment
faire, c'est plutôt cool. Nous allons voir clairement tout est juste
là quand nous commençons, c'est exactement ce que nous voulions. Mais si nous mourons, nous ne répondons pas. Et ensuite, si nous voulons
cliquer sur ce bouton, nous répondons. Et c'est en fait assez
proche de la façon dont nous voulons que notre système de
menus fonctionne, ce qui est encore, vraiment, vraiment cool. Il y a maintenant quelques problèmes. Tout d'abord, je voulais m'
assurer que ces deux-là soient désactivés lorsque je commence parce que ce n'est pas
comme ça que je voulais y aller. La deuxième chose que
je
veux m'assurer , c'est de m'assurer que le joueur n'est pas vraiment en mouvement au
début de la partie. Je vais rester dans le
directeur d'État et je vais
mettre mon état au ralenti. Je commence ça n'a pas
vraiment d'importance ce que tu as mis ici parce qu'on
vérifie juste s'il joue sur. Donc, vous pourriez même mettre mort,
ça n'a pas vraiment d'importance. Et puis, l'autre chose que je
vais faire, c'est que je vais régler ma gravité
dans mon déplacement à 0. Nous commençons par être
suspendus en plein air, ce qui
ressemble beaucoup à la
journée de bureau sans effets allèles. Revenons à Unity. Et nous pouvons voir à quoi
cela ressemble ici. Si je commence, je suis
suspendu et dès que je clique sur Play, je commence,
ce qui est vraiment cool. Si je meurs, je vais l'avoir encore et apparaître et
tout fonctionne parfaitement, qui est vraiment, vraiment cool. Maintenant, les quelques changements se déroulent. Tout d'abord, je veux
faire en sorte que vous reveniez au
début et que vous réagissiez avant même d'
avoir tous les autres effets. Nous devons donc
revenir à cette routine. Nous allons remettre cette
réponse nulle ici. Mais au lieu d'en
faire un Boyd, on
va se transformer en deux. Je vais donc devenir nul public. Je vais appeler ça un point. Une fois encore. Je vais gérer
toutes les autres logiques sauf en réglant la
position et en réglant peu près
ici, on va changer ça. Et maintenant, quand nous mourrons, nous allons revenir
au début, mais nous n'allons rien
fixer d'autre. Ensuite, nous allons
changer notre bouton pour appeler ce vide à la place. Allez ici à mon bouton, interface utilisateur, jusqu'au bouton de lecture. Et je vais aller de
l'avant et changer cela en jeu d'actions
State Manager. C'est plutôt cool. Maintenant, si je joue
à mon jeu, je peux cliquer, commencer le jeu. Je pourrais mourir. Et puis il y a un
retard et j'y retourne. Mais je n'ai pas encore besoin de
montrer. Revenons donc à notre code. Nous allons changer
cette logique de menu. Au lieu de changer le
menu dès que nous mourrons, je vais le
régler lorsque nous répondrons, ce qui est plutôt sympa. Vous allez maintenant voir comment
cela fonctionne dans le jeu. Revenons à mon jeu.
Cliquez ici. Nous pouvons voir que nous commençons par
le menu, cliquez sur Play. Nous pouvons jouer le long d'une grande vitesse, évidemment sauvée comme
nous l'avons fait il y a quelque temps. Et nous répondons
au retour que nous recevons, ce qui est vraiment, vraiment cool. La dernière chose que nous
devons changer, nous devons nous assurer que ces
boutons sont également Web. Cela va également
être assez simple. Nous allons juste revenir
dans notre manuscrit. Et on va faire une nouvelle
voix et on va appeler ça changer d'audience, nul public. Et nous allons appeler
ce changement audio. Celui qui
va changer son. L'autre
va être froid. Changez de musique. Cela va essentiellement dire si nous voulons
changer la musique. On ne va pas faire
ça en flotteurs, la musique brillante du public. Et 48. Ensuite, tout ce qui va
faire ici, c'est que
nous allons les régler, les changer pour apprendre que la
musique n'est pas synonyme de musique. Cela signifie simplement que si c'est vrai, ça le rend faux, c'est
faux, c'est vrai. Je veux évidemment
mettre ça là-bas. Je vais mettre la
même chose ici pour l' audio non pas auditeur. Enfin, nous devons avoir accès
à nos systèmes capables
de jouer la magie musicale. Je vais juste aller de
l'avant et créer un gestionnaire de musique publique. Appelez ce gestionnaire de musique. Ensuite, je vais gérer
la musique, puis nous allons trouver
la source audio que je veux. Donc, si nous allons ici, nous pouvons voir qu'elle
a été qualifiée aussi désastreuse que de sauter à la musique. Quand en fait pour l'
audio, je vais définir
Guy comme saut le mutant
pour être quel que soit l'audio. Algo, le Dr Newton est égal à l'audio. Et je vais copier
ce code exact et le mettre ici, sauf cette fois comme saut. Ensuite, je vais faire des choses très
similaires là-bas. Je vais descendre ici
et ensuite un
point musical défini comme la musique est égale ,
puis la changer
en musique là-bas. Ces cinq lignes de
code au moins vont en fait nous
faire bénéficier d'un système
très cool qui peut alterner
entre un son
silencieux et non silencieux. Nous
y retournerons. Vous devez d'abord vous attribuer un
peu. Alors, allons nous
assurer que je suis le
gestionnaire de musique y est lié. Et allez à notre truc sonore et assurez-vous qu'il y a
un événement onclick. En faisant glisser l'interface utilisateur, cliquez sur
le menu
sans fonction , puis sélectionnez celui qui
indique Modifier l'audio. Allez ici et faites
exactement la même chose avec la musique, faisant glisser votre menu d'interface utilisateur et
cette fois, changez de musique. Maintenant, avant de jouer, je
vais aller de l'avant et m'
assurer que j'ai
vraiment désactivé toutes les choses que j'ai mises en sourdine plus tôt pour
que je puisse vous le montrer parce que je n'ai pas à jouer
avec notre jeu. Un peu. Allons de l'avant et
dissolvons tout. Et je vais vous montrer
exactement comment cela fonctionne. Nous pouvons voir que nous pouvons
facilement
couper le son et continuer sans clic. Nous faisons simplement la même chose
avec nos sons. Si je vais ici, je peux
voir que mon son
a été éteint. Si je déclique, ce n'est pas le cas. Je peux donc jouer
uniquement avec du son et de la musique. Très, très cool. Maintenant, c'est évidemment la
base de notre système de menus. Je pense que nous avons fait
des sauts assez importants dans notre jeu, et
c'est la dernière grosse chose dont nous avons besoin pour
ajouter le prochain épisode, chose dont nous avons besoin pour
ajouter le prochain épisode nous pouvons faire de la monétisation et ensuite c'est juste corrigé
maintenant prêt à
le mettre sur mobile. Très bon travail,
tout le monde. J'espère que vous apprécierez l'absolu et je vous
verrai dans le prochain.
20. Monétiser notre jeu: Salut, et bienvenue à
nouveau dans l'unité. Maintenant, c'est la caractéristique principale
perdue. Nous allons en ajouter deux encore,
c'est la dernière étape. Donc ce que je vais parler de
la toute nouvelle fonctionnalité nous ajoutons, c'
est la monétisation. Après cela, je vais
jouer sur mobile à peu près terminé. Nous avons juste besoin de le
mettre sur mobile et de le construire. Et nous pouvons voir que tout
fonctionnera parfaitement bien, ce
qui est vraiment, vraiment génial mutants,
vous avez parcouru un long chemin dans votre parcours de développement de
jeux mobiles. Tellement excellent travail que vous avez
fait de façon incroyable. Désormais, les jeux mobiles
utilisent toujours les publicités pour monétiser. C'est un peu exagéré, mais pratiquement tous les jeux
mobiles utilisent des publicités d'une sorte quelconque, car c'est un excellent moyen de
monétiser vos jeux. Et les ajouter
n'est pas très facile, mais ce n'est pas aussi
difficile que vous pourriez le penser grâce au package d'ajout d'Unity. Maintenant, nous allons suivre
ce processus étape par étape. Assurez-vous de suivre tout ce que
je fais, car faire petits changements peut entraîner petites choses
bizarres
que vous devez faire. Assurez-vous donc de tout
suivre exactement. Arrêtez, passez aux scripts
et vous allez
vouloir importer ce script Ad
Manager. Maintenant, si vous accédez aux
ressources de cette vidéo, vous constaterez qu'il existe un script Ad Manager là-bas. Et vous pouvez aller de l'avant
et télécharger cela et cela
vous donnera le script du gestionnaire d'annonces. La raison pour laquelle je ne l'ai pas inclus
dans les ressources de cours, c'est parce qu'il va
vous donner des erreurs
dès que vous le téléchargez. Il va dire que la publicité
n'existe pas. C'est tout à fait très bien. C'est simplement parce que nous n'avons pas
encore
activé les publicités sur notre jeu une fois que vous l'avez installé et que vous y
avez probablement deux heures, allez dans Fenêtre, sélectionnez Général
et sélectionnez les services. Une fois que vous avez fait cela, vous
devriez voir cette chose. Le
chargement prendra un certain temps, puis vous
obtiendrez ces listes de services. Ils devraient tous
disparaître pour l'instant. Allez donc dans les publicités et vous ne serez peut-être pas immédiatement redirigé vers
cet écran. Maintenant, la raison pour laquelle j'ai
été prise est parce que je suis évidemment déjà en compte
est parce que je suis évidemment déjà
connecté à Unity parce que
j'ai déjà utilisé Unity. Mais si c'était la première UTI, au Portugal, vous avez créé
tout ce jeu mobile, vous ne serez peut-être pas signé, il vous demandera
donc de signer
votre compte unitaire. Maintenant, je suppose que vous avez un compte Unity parce que vous avez
installé Unity Hub et je pense que vous devez avoir un compte
Unity pour en créer un. Mais si ce n'est pas le cas, allez
simplement de l'avant et
créez-en un, il y
aura un processus très simple. Vous pouvez évidemment le faire sur unity.com et simplement
créer un compte. Ensuite, une fois que vous avez créé
votre compte Unity, votre Unity Hub ou votre
compte, quel que soit votre besoin, allez-y
et il
vous demandera de créer un jeu vidéo. Donc, vous allez juste
choisir une organisation. Vous vous demandez peut-être
ce que c'est. Si vous accédez au
tableau de bord, cliquez ici. Il va vous emmener
à votre tableau de bord Unity. Et c'
est là que vous pourrez contrôler toutes sortes
de choses comme ça. Évidemment, je ne me suis pas encore
connecté, mais si je l'attribue, cela m'
amènera à une
page où je pourrai
créer des organisations
et ce genre. Alors allez-y et créez une organisation si
vous ne l'avez pas déjà fait, puis vous allez
devoir recharger votre
devoir et l'organisation
sera là comme
l'une des listes déroulantes. si vous devez choisir cette
option pour sélectionner votre jeu. Si vous n'avez rencontré aucun de ces problèmes, ne vous inquiétez pas. Je dis juste au
cas où quelqu'un le ferait. Et enfin, vous
devez dire si vous
allez cibler des
personnes de moins de 13 ans ou plus,
et c'est pour cela que vous
êtes conforme à la Coppa ? Allez-y et cliquez sur Oui, juste pour faire bonne mesure. De toute évidence, nous n'en savons pas encore
assez sur le droit d'auteur pour en
faire pleinement cette hypothèse. Si vous envisagez de
sortir un jeu mobile, je vous recommande de faire quelques recherches à ce
sujet, car c'est
une loi très importante que vous devez
suivre lorsque vous créez des jeux mobiles. Il est donc évident que la
Children's Online Privacy Protection Act. Mais si ce n'est pas le
cas, si vous essayez simplement de
terminer ce cours et contre cela plus tard, hésitez pas à
cliquer sur oui ou non. Cela n'a pas vraiment d'importance,
ce n'est pas
une sortie ou un jeu pour le moment. Ensuite, vous serez
redirigé vers cet écran. Maintenant, tout d'abord, cliquez sur les publicités et
cela va prendre un certain temps à charger et
ça va geler. Peut-être que ça va charger vos
paquets résolus, compiler des
scripts C-sharp, et après certain temps, cela devrait tout
activer. Par conséquent, ADS est activé. Vous y êtes. Maintenant, nous pouvons voir que nous avons des publicités, il est dit la version 3.7.5 actuelle. Maintenant, cela est automatiquement
installé sur Unity. Je ne sais pas tout à fait pourquoi le
mien s'est installé automatiquement, mais une
fois auparavant, je le faisais. Ce n'est pas le cas, donc je ne sais
pas très bien comment cela fonctionne. Je vais vous montrer comment l'installer au cas où
le vôtre ne l'aurait pas fait. Mais s'il s'est toujours installé pour la conversion et qu'
une version ultérieure est disponible, assurez-vous de télécharger
la version recommandée, pas nécessairement la
dernière version car j'ai trouvé la dernière version version me pose
parfois des problèmes. Donc, si je veux préparer
mon jeu pour les publicités, je dois télécharger ce
package ici. Comme je l'ai dit, je l'ai
déjà eu. Mais allez ici dans
Windows Package Manager si vous ne le faites pas, c'est juste là. Et puis trouvez cette
annonce publicitaire. Et si vous ne l'avez
pas installé, cliquez sur Installer évidemment en haut, donc je ne vais pas le supprimer. Et vous verrez également que
mes flèches ont disparu, ce qui signifie que mes publicités
fonctionnent parfaitement. La dernière chose que je veux
faire est de cliquer ici sur publicités et je vais
activer le mode test parce que je veux m'
assurer que je n'
utilise pas de vraies annonces si vous
testez votre jeu ou votre, la seule chose que
vous n'êtes pas autorisé à utiliser de vraies annonces, vous devez utiliser des annonces de test, c'est exactement ce que je fais. Ensuite, je vais aller de l'avant et je vais ouvrir le gestionnaire de publicités. Et nous pouvons voir que toutes
ces zones devraient disparaître dès
qu'elles se rafraîchissent si elles ne le font pas, parfois Unity
a des problèmes avec elle, comme par exemple, pourrait
ne pas disparaître. Si je le ferme et que je redémarre,
ils pourraient disparaître. Ils n'utilisent peut-être pas
ces petits trucs bizarres. Et j'espère qu'
au moment où vous utiliserez Unity, ils
auront corrigé cela. Vous pouvez voir maintenant que mes flèches
semblent avoir disparu. Ok, maintenant c'est arrivé. Je vais aller ici et je vais
en fait
aller souvent avec un locataire AD. Maintenant, il est important de garder
à l'esprit que ces flèches ne sont pas le résultat de quelque chose que vous faites mal. C'est l'unité et ils ont
ce pépin vraiment ennuyeux. Alors, il suffit de m'accompagner ici. Si cela
vous arrive, faites simplement ce que je fais, soit
éteignez ou allumez. Nous verrons si cela
fonctionne. Nous pouvons voir de moi qu'il y a du travail. Maintenant, cela a fonctionné juste
parce que je l'ai éteint et allumé. Vous voyez évidemment que
je n'ai rien fait de mal. n'y a rien de mal
avec le script. Si cela
ne fonctionne pas pour vous,
vous pouvez également essayer de
désinstaller et réinstaller le paquet en
allant ici dans le Gestionnaire de paquets, puis en le
supprimant et en l'installant. Donc, oui. J'espère que maintenant vous devriez être
à un point où votre jeu a le script et ne contient plus erreurs si vous l'avez fait, super. La dernière chose que nous allons
faire, c'est que nous allons
montrer une annonce
chaque fois que nous mourrons. Et c'est
vraiment facile à faire. Avant de changer cela,
je me rends compte que nom de
ma classe n'est pas le
même que mon nom de fichier, qui est un domaine dont nous avons
parlé plus tôt. Allons de l'avant et résolvons ça. Sinon, ça va
nous donner des zones à l'avenir. Assurez-vous que c'est la même chose, tous les deux ont téléchargé ce cours, vous devriez être mis à jour, alors ne vous inquiétez pas, mais si ce n'est pas le cas, assurez-vous
simplement de l'avoir
et c'est ce que chaque script que je vais aller.
pour rester manager et nous allons créer n'importe quel
nouveau gestionnaire de publicité publique. Nous appellerons ça « Add ». Ensuite, ici, quand nous
mourrons en plus de tout ça, nous allons appeler
notre réponse nulle. Et dès que nous
répondrons en dessous cette réponse vide
à l'intérieur de la coroutine, vous allez ajouter des points,
montrer des parenthèses. Cela signifie essentiellement que
chaque fois que nous
mourrons, nous verrons une courte annonce. Voyons maintenant si c'était
notre vrai jeu mobile. Ce serait un peu ennuyeux
et je ne pense pas qu'il soit
juste de voir tous les utilisateurs en regarder
un à chaque fois. Au lieu de cela, nous allons
créer une variable entière. Nous allons rendre public
et appeler cela ajouter du poids. Au lieu de dire « show ad », nous allons dire que le poids
est égal à un poids plus un. Et c'est essentiellement une façon de dire, d'accord, augmenté d'un. Nous pourrions également écrire ceci comme
ajout de poids plus égal à un. Cela signifie exactement la même chose. Et puis on va dire que le poids est supérieur
ou égal à trois. Ensuite, je veux réinitialiser
adéquatement pour qu'il soit 0. Et je veux aller de
l'avant et montrer mon annonce. Ce n'est pas le cas,
cela signifierait que
chaque fois que nous mourrons, nous
allons augmenter en fonction des applications. Donc, tous les trois matchs nous allons montrer un peu plus gentil à un
Irlandais. Si nous allons de l'avant et
ouvrons Unity, nous allons lier
cela et nous allons tester si cela fonctionne. Google ici au joueur, y
trouvera notre State
Manager. Assurez-vous de cliquer sur le bouton
arrière pour l'inspecter, mais nous n'avons pas réellement
ajouté nos annonces dans notre jeu. Nous devons également
créer un nouvel objet. Nous allons créer un objet,
appeler le gestionnaire d'annonces. Gestionnaire de musique, juste centré faisant glisser votre
avantage là-bas puis accédez au
lecteur audio et assurez-vous de le faire glisser sur votre
manuscrit d'état comme ça. Si tout
fonctionne, nous devrions être en mesure de suivre le
poids supplémentaire ici. Si nous allons de l'avant et que nous
frappons Play, nous pouvons voir tout simplement
aller couper le son pour l'instant. Et puis, là-bas, si j'y vais
et que je joue, je meurs. Je pourrais ajouter que le poids
est bien maintenant un. Allez-y et mourrez encore. Mon agrégat est égal à deux. Et si je le fais pour une troisième fois, ce qui devrait arriver,
c'est que je montre que nous y sommes parfaits. Ce sont des unités qui
nous disent que nos publicités fonctionnent. Si nous devions maintenant construire
ce jeu et le lancer, nous aurions en fait des publicités
fonctionnelles, ce qui est vraiment, vraiment génial, excellent
travail autour de cela signifie
que l'ajout final à notre
jeu est réellement terminé. C'est notre jeu
mobile fini. C'est incroyablement impressionnant à
quel point nous avons pu
faire pendant si peu
de temps et c'est génial, excellent travail. C'est incroyable. Et vous l'avez fait de façon étonnante
dans ce cours, bien fait à tout le monde. Et après avoir terminé la vidéo
finale, vous aurez créé votre
tout premier jeu mobile dans Unity et C sharp. Un travail tellement incroyable.
21. Finition: Salut, et bienvenue
à nouveau dans l'unité pour la dernière fois. Vous méritez maintenant une salve
d'applaudissements car vous avez créé un jeu mobile
incroyable. Et s'il s'agit de votre
premier jeu mobile ou de l'un de
vos premiers jeux, vous avez fait un
travail incroyable, un excellent travail. Nous en avons presque fini
avec un jeu mobile. Et il y a
quelques choses qui doivent changer avant de les construire. Et puis je vais
vous montrer comment le construire
et le tester sur un émulateur. Ou si vous avez un
téléphone Android ou un téléphone Android, racine
cube de l'IRS, vous pouvez
tester sur l'un de leurs téléphones. J'ai un téléphone iOS, mais je vais montrer comment
construire avec un émulateur. Mais avant d'entrer là-dedans, j'ai besoin de
changer une chose que
nous avons
écrite dans le cours. Si vous ouvrez votre script de
mouvement, vous vous souvenez que nous
utilisions des claviers. Et la raison pour laquelle nous utilisions raccourcis
clavier
pour notre mouvement, ou les touches du clavier, c'est parce que nous voulions
tester et tous les ordinateurs. Maintenant, nous allons aller de l'avant et changer cela parce que
nous voulons le construire. Supprimez donc ceci et tapez le
nombre de points d'entrée supérieur à 0. Et cela va
vérifier chaque image que vous mainteniez enfoncée. Si je suis à la terre, si vous
avez des sauts, vous pouvez maintenir et continuer le
travail, ce qui est vraiment cool. Maintenant, évidemment, nous ne pourrons pas tester
ça parce que nous ne pouvons pas sauter. Nous ne pouvons pas toucher notre moniteur
car nous sommes sur un ordinateur. Et évidemment, nos éléments d'interface utilisateur fonctionnent
automatiquement avec l'unité. Ensuite, allez en haut ici, cliquez sur Build Settings et
assurez-vous que votre
plateforme est correcte. Je vais construire pour les APK. Je ne vais pas vérifier ça. Et il y a quelques
paramètres ici. Vous pouvez définir toutes sortes de choses. Vous pouvez définir votre résolution ce que vous voulez pour pouvoir disposer d'un paysage,
à droite ou à gauche, toutes
sortes de choses. Je vais les laisser maintenant. En fait, je vais m'
assurer que je ne peux aller au paysage que parce que je ne
veux pas que le jeu soit portrait. L'image de démarrage que vous
pouvez ajouter si vous le souhaitez. C'est comme une
image au début. D'autres paramètres que je
vais quitter maintenant, il y a quelques paramètres de
publication, mais nous pouvons en fait partir. Nous devons simplement aller
ici, nous devons cliquer sur Construire et nous devons aller de l'avant. C'est ici que mon projet
est stocké sur mon ordinateur. Je vais aller de l'avant et économiser et ça va cesser de construire. Il s'agit maintenant d'un processus assez
long. Alors, donnez-lui une minute. Une fois la construction terminée, votre jeu sera exporté. Si vous
avez rencontré des erreurs lors de la création
de votre jeu, Unity a
parfois
des erreurs qui ne sont peut-être pas de votre faute, peut-être avec le module que vous avez installé ou quoi que ce soit de ce genre, Il suffit de les taper
directement dans Google. Et je vous promets qu'il y aura
probablement quelqu'un là-bas qui a eu exactement
le même problème que vous avez et qui l'a corrigé à moins innombrables fois et la plupart
du temps cela a fonctionné. Il suffit donc d'essayer cela
qui devrait résoudre
tous les problèmes que vous avez rencontrés que
je n'ai pas rencontrés. Une fois la construction terminée, vous serez prêt à
tester votre jeu mobile. Je suis tous les deux Androïdes, je teste sur l'émulateur
Android non joueur. Vous pouvez bien sûr utiliser un téléphone Android ou iOS si ce n'est pas le cas, et si vous votez pour IRS, je pense que vous pouvez télécharger
une extension Mac sur un MacBook pour installer et tester des jeux
mobiles à partir de là. Avant de tester, il y a
quelques points à noter. Tout d'abord, en fonction de la plateforme
que vous utilisez, si vous voulez tester
votre jeu comme moi, vous devez
vous assurer d'avoir défini votre identifiant
de jeu sur le même que celui que vous
gagnerez et
que je suis Je vais
vous montrer comment faire maintenant, toutes les annonces ne fonctionnaient pas. Donc évidemment, une fois que vous avez mis votre jeu avant d'aller gagner, allez de
préférence
ici aux services, cliquez sur les publicités et assurez-vous que vous avez défini la plateforme, Android
ou iOS, cet ID, assurez-vous que vous l'avez
défini ici
sur l'
ID du jeu de chaînes dans Add Magic,
ouvrez le gestionnaire d'annonces et
assurez-vous de le définir manière à ce que votre chaîne
soit cette chaîne de chiffres. Une fois que vous avez fait cela, la publicité devrait parfaitement fonctionner
dans votre jeu. La deuxième chose à noter
avec les résolutions, c' que vous gagnerez peut fonctionner
parfaitement pour votre appareil, mais il peut y avoir quelques éléments légèrement
décalés sur votre résolution. Si c'est le
cas, il suffit de modifier résolution de
votre écran dans la résolution de
votre écran dans Unity Editor et de
déplacer certaines choses. Lorsque je teste
cet objet de jeu certaines choses
se déplacent vers la droite, mais dans l'ensemble, tout fonctionnait parfaitement et ma résolution
était plutôt bonne. Allez-y et faites-le
glisser dans le lecteur NOX. Vous pouvez voir qu'il va
installer mon jeu pour moi. apprenant. Et il est écrit Install Complete. Je peux ensuite charger mon jeu. Les volumes ont été là. Nous pouvons voir que ça fonctionne
bien, c'est génial. Si j'y vais et que je frappe Play, je peux sauter
comme je l'ai été. Et je peux rester enfoncé, sauter dedans, et je vais continuer à sauter,
ce qui est vraiment, vraiment cool effet mourir. Il a cette profondeur avec laquelle
j'ai commencé. Je peux compter la musique
si je voulais tous éteindre le son
et continuer à bouger. Je parle toujours et je continue. Et si je meurs trois fois, je montrerai dans une seconde, je
verrai un test d'unité Act, ce qui est vraiment, vraiment cool. Je peux aller de l'avant et
sauter ça une fois que c'est fait et le fermer et nous pouvons
voir que je suis de retour à mon jeu, ce qui est vraiment, vraiment cool. Cela nous amène à la
fin de ce cours. Vous avez créé votre
tout premier jeu mobile en utilisant Unity et C-sharp. Vous avez fait un
travail incroyable, vous vous êtes donné une tape dans le dos et vous avez réussi à la
fin du cours, vous avez acquis des
compétences inestimables d'unité et de C-sharp, et j'espère que vous avez acquis suffisamment de connaissances pour commencer à créer vos propres jeux mobiles maintenant ou même améliorer
celui que nous avons créé. Je suis connu pour un. Nous
pouvons l'utiliser sur une icône pour que vous puissiez simplement accéder à vos paramètres de
jeu ici, Paramètres création de
fichiers,
accéder aux paramètres du joueur. Et ici, vous pouvez sélectionner une nouvelle icône que vous n'étiez pas. Évidemment, il y en a
différentes, les icônes adaptatives
Legacy Round, vous pouvez en choisir une là-bas. Mais évidemment, l'éditeur
Unity semble
maintenant
beaucoup plus familier. Et le monde du
développement de jeux est désormais votre huître, en particulier le développement de
jeux mobiles. Super travail, tout le monde. Je tiens à vous remercier
beaucoup d'avoir suivi mon cours. Ce fut un plaisir de vous
enseigner le développement de
jeux mobiles. Et j'espère que vous vous êtes
amusé et que vous avez beaucoup appris. Bien sûr, vous
avez la permission d'
utiliser toutes les ressources de
ce cours et tout ce que nous avons construit pour transformer
votre propre jeu mobile. Si vous voulez améliorer cela et sortir comme votre
propre jeu mobile, vous pouvez le faire exactement. Très bon travail, tout le monde. Cela a été une expérience incroyable et j'espère que cela a
été pour vous aussi. Merci encore de vous être inscrit.