Comment créer un jeu de canon dans Unity
Créer un jeu de canon dans Unity est un excellent moyen d'apprendre les bases du développement de jeux. Dans ce didacticiel, nous allons créer un jeu simple dans lequel le joueur peut viser et tirer avec un canon pour atteindre des cibles. Nous couvrirons la mise en place du projet, la création et le contrôle d'un canon et l'ajout de cibles.
Étape 1: Mise en place du projet
Tout d'abord, ouvrez Unity et créez un nouveau projet 2D. Nommez votre projet "CannonGame". Une fois le projet créé, vous serez dans la fenêtre principale de l'éditeur Unity.
Étape 2: Création du canon
Nous avons besoin d'une représentation visuelle du canon. Vous pouvez créer un simple sprite rectangulaire pour faire office de canon. Pour faire ça:
- Cliquez avec le bouton droit dans la fenêtre Hiérarchie et sélectionnez Créer un vide. Nommez-le "Cannon".
- Faites un clic droit sur l'objet "Cannon" et sélectionnez Objet 2D -> Sprite. Nommez-le "CannonSprite".
- Dans la fenêtre Inspector, cliquez sur le champ Sprite et sélectionnez un sprite pour votre canon.
Positionnez le canon en bas de l'écran en réglant sa position sur (0, -4, 0) dans le composant Transform.
Maintenant, créez un script pour contrôler le canon. Cliquez avec le bouton droit sur le dossier Assets, sélectionnez Create -> C# Script et nommez-le "CannonController". Double-cliquez sur le script pour l'ouvrir dans votre éditeur de code.
// CannonController.cs
using UnityEngine;
public class CannonController : MonoBehaviour
{
public GameObject cannonballPrefab;
public float shootForce = 700f;
void Update()
{
Aim();
if (Input.GetButtonDown("Fire1"))
{
Shoot();
}
}
void Aim()
{
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 direction = new Vector2(mousePosition.x - transform.position.x, mousePosition.y - transform.position.y);
transform.up = direction;
}
void Shoot()
{
GameObject cannonball = Instantiate(cannonballPrefab, transform.position, transform.rotation);
Rigidbody2D rb = cannonball.GetComponent();
rb.AddForce(transform.up * shootForce);
}
}
Étape 3: Création du boulet de canon
Nous devons créer un boulet de canon pour que le canon puisse tirer. Voici comment:
- Faites un clic droit dans la fenêtre Hierarchy et sélectionnez 2D Object -> Sprite. Nommez-le "Cannonball".
- Dans la fenêtre Inspector, cliquez sur le champ Sprite et sélectionnez un sprite pour votre boulet de canon.
- Ajoutez un composant Rigidbody2D au boulet de canon en cliquant sur Ajouter un composant et en sélectionnant Rigidbody2D.
- Ajoutez un composant CircleCollider2D au boulet de canon en cliquant sur Ajouter un composant et en sélectionnant CircleCollider2D.
Ensuite, faites glisser le boulet de canon du dossier Hierarchy vers le dossier Assets pour créer un préfabriqué. Ce préfabriqué servira au canon pour tirer des boulets de canon.
Dans la fenêtre Inspector du script CannonController (attaché à l'objet Cannon), définissez le champ CannonballPrefab sur le préfabriqué Cannonball.
Étape 4: Création de cibles
Ajoutons quelques cibles sur lesquelles le joueur pourra tirer:
- Faites un clic droit dans la fenêtre Hierarchy et sélectionnez 2D Object -> Sprite. Nommez-le "Target".
- Dans la fenêtre Inspector, cliquez sur le champ Sprite et sélectionnez un sprite pour votre cible.
- Ajoutez un composant BoxCollider2D à la cible en cliquant sur Ajouter un composant et en sélectionnant BoxCollider2D.
Dupliquez la cible en cliquant dessus avec le bouton droit et en sélectionnant Dupliquer. Positionnez les cibles autour de l'écran.
Étape 5: Gérer les collisions
Nous devons gérer ce qui se passe lorsqu’un boulet de canon atteint une cible. Créez un script appelé "Target" pour gérer ceci:
- Faites un clic droit dans le dossier Assets, sélectionnez Create -> C# Script et nommez-le "Target".
- Double-cliquez sur le script pour l'ouvrir dans votre éditeur de code.
// Target.cs
using UnityEngine;
public class Target : MonoBehaviour
{
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Cannonball"))
{
Destroy(gameObject);
}
}
}
Attachez le script Target à tous les objets cibles. Assurez-vous que votre préfabriqué boulet de canon porte la balise "Cannonball".
Conclusion
En suivant ces étapes, vous avez créé un simple jeu de canon en Unity. Vous avez appris à mettre en place un projet, à créer et contrôler un canon et à ajouter des cibles. Ce projet couvre les concepts de base du développement de jeux tels que la création d'objets, la saisie utilisateur, la physique et la détection de collisions. Vous pouvez encore améliorer ce jeu en ajoutant des fonctionnalités telles que le score, les niveaux et différents types de cibles. Amusez-vous à expérimenter et à en apprendre davantage sur Unity !