Construisez votre premier jeu Android de base en seulement 7 minutes (avec Unity)

Auteur: Lewis Jackson
Date De Création: 11 Peut 2021
Date De Mise À Jour: 1 Juillet 2024
Anonim
Créer un jeu en 2D facilement avec Unity (#1 : Création du premier niveau)
Vidéo: Créer un jeu en 2D facilement avec Unity (#1 : Création du premier niveau)

Contenu


Faire un jeu entièrement fonctionnel pour Android est beaucoup plus facile que vous ne le pensez. La clé du succès du développement Android - ou de tout type de développement - est de savoir ce que vous voulez réaliser et de trouver les outils et les compétences nécessaires pour le faire. Prenez le chemin de la moindre résistance et ayez un objectif clair en tête.

Pour ce qui est de la création de jeux, le meilleur outil à mon avis est Unity. Oui, vous pouvez créer un jeu dans Android Studio, mais si vous n’êtes pas familiarisé avec Java et le SDK Android, la tâche sera ardue. Vous aurez besoin de comprendre ce que font les classes. Vous devrez utiliser des vues personnalisées. Vous utiliserez des bibliothèques supplémentaires. La liste continue.

Unity est un outil hautement professionnel qui alimente la grande majorité des titres les plus vendus sur le Play Store.


L'unité, en revanche, fait l'essentiel du travail pour vous. Il s’agit d’un moteur de jeu, ce qui signifie que toute la physique et de nombreuses autres fonctionnalités que vous voudrez utiliser sont déjà prises en charge. Elle est multi-plateforme et conçue pour les débutants et les développeurs indépendants.

Dans le même temps, Unity est un outil hautement professionnel alimentant la grande majorité des titres les plus vendus sur le Play Store. Il n’ya pas de limite ici ni de bonne raison de vous rendre la vie plus dure. C’est gratuit aussi!

Pour vous montrer à quel point le développement de jeux avec Unity est facile, je vais vous montrer comment créer votre premier jeu Android en seulement 7 minutes.

Non, je ne vais pas Explique comment le faire en 7 minutes. Je vais fais le dans 7 minutes. Si vous suivez aussi, vous pourrez faire exactement la même chose!


Avertissement: avant de commencer, je veux juste signaler que je triche légèrement. Bien que le processus de création du jeu dure 7 minutes, cela suppose que vous avez déjà installé Unity et que tout est configuré. Mais je ne vous laisserai pas traîner: vous pouvez trouver un tutoriel complet sur la façon de le faire à.

Ajout de sprites et de physique

Commencez par double-cliquer sur Unity pour le lancer. Même le plus long voyage commence par un seul pas.

Créez maintenant un nouveau projet et assurez-vous de choisir ‘2D’. Une fois que vous êtes dedans, vous serez accueilli avec quelques fenêtres différentes. Ceux-ci font des trucs. Nous n’avons pas le temps de vous expliquer, suivez donc mes instructions et vous les prendrez au fur et à mesure.

La première chose à faire est de créer un sprite qui deviendra votre personnage. La meilleure façon de le faire est de dessiner un carré. Nous allons lui donner quelques yeux. Si vous voulez être encore plus rapide, vous pouvez simplement prendre un sprite que vous aimez quelque part.

Enregistrez cette image-objet, puis faites-la glisser dans votre "scène" en la plaçant dans la plus grande fenêtre. Vous remarquerez qu'il apparaît également à gauche dans la "hiérarchie".

Maintenant, nous voulons créer des plateformes. Encore une fois, nous allons nous débrouiller avec un simple carré et nous pourrons redimensionner ce fichier à main levée pour créer des murs, des plates-formes et tout ce que vous voudrez.

Nous y voilà, belle. Déposez-le comme vous venez de le faire.

Nous avons déjà quelque chose qui ressemble à un ‘jeu’. Cliquez sur Lecture et vous devriez voir une scène statique pour l'instant.

Nous pouvons changer cela en cliquant sur notre lecteur d'image-objet et en regardant à droite vers la fenêtre appelée "inspecteur". C'est ici que nous modifions les propriétés de nos GameObjects.

Choisissez "Ajouter un composant", puis "Physique 2D> RigidBody2D". Vous venez d'ajouter de la physique à votre lecteur! Ce serait extrêmement difficile pour nous de le faire par nous-mêmes et met vraiment en évidence l'utilité d'Unity.

Nous voulons également fixer notre orientation pour empêcher le personnage de tourner et de tourner en rond. Recherchez les ‘contraintes’ dans l’inspecteur avec le joueur sélectionné et cochez la case pour figer la rotation Z. Cliquez à nouveau sur Lecture et vous devriez maintenant trouver votre lecteur qui tombe du ciel dans son infini destin.

Prenez un moment pour réfléchir à la simplicité de cette opération: en appliquant simplement ce script appelé ‘RigidBody2D’, vous bénéficiez d’une physique entièrement fonctionnelle. Si nous appliquions le même script à une forme ronde, il roulerait et même rebondirait. Imaginez que vous codiez vous-même et à quel point cela serait impliqué!

Pour empêcher notre personnage de tomber à travers le sol, vous devez ajouter un collisionneur. C'est fondamentalement le contour solide d'une forme. Pour l’appliquer, choisissez votre lecteur, cliquez sur "Ajouter un composant" et sélectionnez cette fois-ci "Physique 2D> BoxCollider2D".

Prenez un moment pour réfléchir à la simplicité de cette opération: en appliquant simplement ce script appelé ‘RigidBody2D’, vous bénéficiez d’une physique entièrement fonctionnelle.

Faites exactement la même chose avec la plate-forme, cliquez sur Jouer, puis votre personnage devrait tomber sur le sol. Facile!

Une dernière chose: pour vous assurer que la caméra suit notre lecteur, qu’il tombe ou qu’il se déplace, nous voulons faire glisser l’objet de la caméra qui se trouve dans la scène (celui-ci a été créé lors du lancement du nouveau projet) sur le lecteur. Dans la hiérarchie (la liste de GameObjects à gauche), vous allez faire glisser la caméra afin qu’elle soit en retrait sous le lecteur. La caméra est maintenant un "enfant" de Player GameObject, ce qui signifie que lorsque le joueur se déplace, la caméra le fera aussi.

Votre premier script

Nous allons faire un coureur infini de base et cela signifie que notre personnage doit se déplacer à travers l’écran jusqu’à ce qu’il heurte un obstacle. Pour cela, nous avons besoin d'un script. Cliquez avec le bouton droit de la souris sur le dossier Assets en bas et créez un nouveau dossier appelé "Scripts". Cliquez à nouveau avec le bouton droit de la souris et choisissez "Créer> Script C #". Appelez-le "PlayerControls".

Dans la plupart des cas, les scripts que nous créons définiront des comportements spécifiques pour nos GameObjects.

Maintenant, double-cliquez sur votre nouveau script et celui-ci s'ouvrira dans Visual Studio si vous configurez tout correctement.

Il y a déjà du code ici, qui est le «code de la plaque de la chaudière». Cela signifie que c'est le code que vous devrez utiliser dans presque tous les scripts, il est donc prêt à être utilisé pour vous faire gagner du temps. Maintenant, nous allons ajouter un nouvel objet avec cette ligne au-dessus de void Start ():

public Rigidbody2D rb;

Placez ensuite la prochaine ligne de code dans la méthode Start () pour rechercher le corps rigide. Ceci dit à Unity de localiser la physique attachée à GameObject à laquelle ce script sera associé (notre joueur bien sûr). Start () est une méthode qui est exécutée dès qu'un nouvel objet ou script est créé. Localisez l'objet physique:

rb = GetComponent();

Ajouter ceci dans Update ():

rb.velocity = new Vector2 (3, rb.velocity.y);

Update () est actualisé à plusieurs reprises et tout code situé ici sera répété jusqu'à ce que l'objet soit détruit. Tout cela indique que nous voulons que notre corps rigide ait un nouveau vecteur avec la même vitesse sur l’axe des y (rb.velocity.y) mais avec la vitesse de «3» sur l’axe horizontal. Au fur et à mesure de votre progression, vous utiliserez probablement ‘FixedUpdate ()’ à l’avenir.

Enregistrez cela et retournez à Unity. Cliquez sur votre personnage, puis dans l'inspecteur, sélectionnez Ajouter un composant> Scripts, puis votre nouveau script. Cliquez sur play et boum! Votre personnage devrait maintenant se déplacer vers le bord du rebord comme un lemming.

Remarque: si cela semble déroutant, regardez la vidéo pour voir que tout est en train de se faire - ça va aider!

Entrée très basique du joueur

Si nous voulons ajouter une fonctionnalité de saut, nous pouvons le faire très simplement avec juste un peu de code supplémentaire:

if (Input.GetMouseButtonDown (0)) {rb.velocity = new Vector2 (rb.velocity.x, 5); }

Cela va à l’intérieur de la méthode Update et dit que ‘si le joueur clique’ ajoutez alors la vélocité sur l’axe des y (avec la valeur 5). Lorsque nous utilisons if, tout ce qui suit entre crochets est utilisé comme une sorte de test vrai ou faux. Si la logique entre ces crochets est vraie, le code entre les accolades suivantes sera exécuté. Dans ce cas, si le joueur clique sur la souris, la vélocité est ajoutée.

Android lit le clic gauche de la souris en tapant n'importe où sur l'écran! Alors maintenant, votre jeu dispose de commandes de base.

Trouver votre pied

C’est assez pour faire un clone Flappy Birds. Ajoutez quelques obstacles et apprenez à détruire le joueur quand il les touche. Ajouter un score en plus de cela.

Si vous obtenez ceci, aucun défi ne sera trop grand à l'avenir

Mais nous avons un peu plus de temps pour pouvoir devenir plus ambitieux et créer à la place un jeu de type coureur infini. La seule chose qui ne va pas avec ce que nous avons pour le moment, c’est que le tapotement saute même lorsque le joueur ne touche pas le sol, ce qui lui permet de voler.

Remédier à cela devient un peu plus complexe, mais c’est aussi dur que l’unique. Si vous obtenez cela, aucun défi ne sera trop grand à l'avenir.

Ajoutez le code suivant à votre script au-dessus de la méthode Update ():

public Transform GroundCheck; public Transform startPosition; public float groundCheckRadius; public LayerMask whatIsGround; privé bool onGround;

Ajoutez cette ligne à la méthode Update au-dessus de l'instruction if:

onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

Enfin, modifiez la ligne suivante pour qu'elle inclue && onGround:

if (Input.GetMouseButtonDown (0) && onGround) {

Le tout devrait ressembler à ceci:

public class PlayerControls: MonoBehaviour {public Rigidbody2D rb; public Transform GroundCheck; public Transform startPosition; public float groundCheckRadius; public LayerMask whatIsGround; privé bool onGround; void Start () {rb = GetComponent(); } void Update () {rb.velocity = new Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = new Vector2 (rb.velocity.x, 5); }}}

Ce que nous faisons ici est de créer une nouvelle transformation - une position dans l’espace - puis nous en définissons le rayon et nous nous demandons s’il recouvre un calque appelé sol. Nous modifions ensuite la valeur du booléen (qui peut être vrai ou faux) selon que cela soit ou non le cas.

Donc, onGround est vrai si la transformation appelée groundCheck chevauche le fond de la couche.

Si vous cliquez sur Enregistrer, puis revenez à Unity, vous devriez maintenant voir que vous avez plus d'options disponibles dans votre inspecteur lorsque vous sélectionnez le lecteur. Ces variables publiques peuvent être vues depuis Unity même, ce qui signifie que nous pouvons les définir comme bon nous semble.

Cliquez avec le bouton droit de la souris sur la gauche dans la hiérarchie pour créer un nouvel objet vide, puis faites-le glisser de manière à ce qu'il se trouve juste sous le lecteur, dans la fenêtre Scène où vous souhaitez détecter le sol. Renommez l’objet ‘Vérifier le sol’ puis faites-en un enfant du lecteur comme vous l’avez fait avec la caméra. Maintenant, il devrait suivre le joueur, vérifier le sol en dessous comme il le fait.

Sélectionnez à nouveau le lecteur et, dans l'inspecteur, faites glisser le nouvel objet Vérifier le sol dans l'espace où il est indiqué «Contrôle au sol». La «transformation» (position) va maintenant être égale à la position du nouvel objet. Pendant que vous êtes ici, entrez 0.1 où il est indiqué rayon.

Enfin, nous devons définir notre couche «terrestre». Pour ce faire, sélectionnez le terrain que vous avez créé précédemment, puis en haut à droite dans l'inspecteur, recherchez où il est indiqué "Calque: Par défaut". Cliquez sur cette liste déroulante et choisissez "Ajouter une couche".

Cliquez maintenant sur le bouton Précédent et cette fois-ci, sélectionnez «Terre» comme couche de votre plate-forme (à répéter pour toutes les autres plates-formes flottantes). Enfin, là où il est indiqué "Quel est le sol" sur votre lecteur, sélectionnez également la couche de sol.

Vous demandez maintenant à votre script de joueur de vérifier si le petit point à l’écran recouvre tout ce qui correspond à cette couche. Grâce à cette ligne que nous avons ajoutée précédemment, le personnage ne sautera plus que lorsque ce sera le cas.

Et avec cela, si vous appuyez sur play, vous pouvez profiter d'un jeu assez basique vous obligeant à cliquer pour sauter au bon moment.

Avec cela, si vous appuyez sur play, vous pouvez profiter d'un jeu assez basique vous obligeant à cliquer pour sauter au bon moment. Si vous configurez votre unité correctement avec le SDK Android, vous devriez être en mesure de la créer et de l'exécuter, puis de la lire sur votre smartphone en appuyant sur l'écran pour sauter.

La route devant

De toute évidence, il y a encore beaucoup à ajouter pour en faire un jeu complet. Le joueur devrait pouvoir mourir et réapparaître. Nous voudrions ajouter des niveaux supplémentaires et plus.

Mon but ici était de vous montrer à quelle vitesse vous pouvez obtenir quelque chose de basique et opérationnel. En suivant ces instructions, vous devriez avoir été en mesure de construire votre coureur infini en un rien de temps en laissant simplement Unity gérer les tâches difficiles, comme la physique.

Si vous savez ce que vous voulez construire et faites vos recherches, vous n'avez pas besoin d'être un assistant de codage pour créer un jeu décent!

elon Google DiplayMate, Google Pixel 4 et Pixel 4 XL peuvent atteindre une luminoité maximale de 444 nit. Bien que cela oit aez faible comparé aux produit phare tel que le Galaxy Note 10 (1 ...

Mie à jour du 12 eptembre 2019 (04h35 HE):Quand ça fuit, ça coule. Encore une autre vidéo montrant le Pixel 4 XL dan toute a plendeur a été montrée, grâce aux v...

Lire Aujourd’Hui