Création d'un jeu Canon dans Unity avec C#

Dans ce didacticiel, nous allons créer un jeu Canon simple en utilisant Unity et C#. Vous apprendrez les bases de la configuration d'un projet Unity, de la création d'objets de jeu, de la gestion des entrées utilisateur et de la mise en œuvre des mécanismes de jeu.

Conditions préalables

Pour suivre, assurez-vous d'avoir:

  • Unity installé sur votre ordinateur (version 20xx.x ou ultérieure)
  • Compréhension de base de l'interface d'Unity et de la configuration des scènes
  • Familiarité avec le langage de programmation C#

Mise en place du projet

Commençons par configurer un nouveau projet Unity:

  1. Ouvrez Unity Hub et cliquez sur Nouveau pour créer un nouveau projet.
  2. Choisissez un modèle (3D ou 2D) et nommez votre projet (par exemple, CanonGame).
  3. Cliquez sur Créer pour créer le projet.

Création du Canon GameObject

Ensuite, nous allons créer l’objet Canon dans notre scène:

  1. Dans le panneau Hiérarchie, cliquez avec le bouton droit et choisissez Créer vide pour créer un nouveau GameObject.
  2. Renommez le GameObject en "Canon".
  3. Faites un clic droit sur "Canon" dans la hiérarchie et choisissez Objet 3D -> Cylindre pour créer une forme de cylindre pour notre canon.
  4. Positionnez et redimensionnez le cylindre pour qu'il ressemble à un canon.

Écrire un script Canon en C#

Maintenant, écrivons un script pour contrôler le canon:

  1. Dans le panneau Projet, créez un nouveau dossier nommé "Scripts".
  2. Faites un clic droit sur le dossier "Scripts" et choisissez Créer -> Script C#.
  3. Nommez le script "CanonController".
  4. Double-cliquez sur le script pour l'ouvrir dans votre éditeur de code préféré.
using UnityEngine;

public class CanonController : MonoBehaviour
{
    // Variables for canon rotation and firing logic

    void Start()
    {
        // Initialization code
    }

    void Update()
    {
        // Update code (e.g., check for user input)
    }
}

Ajout de fonctionnalités au Canon

Ajoutons une fonctionnalité pour faire pivoter et déclencher le canon:

  1. Dans le script CanonController, déclarez des variables pour contrôler la rotation et le tir du canon.
  2. Dans la méthode Update, gérez la saisie utilisateur pour faire pivoter le canon vers la gauche et la droite.
  3. Ajoutez une méthode pour gérer le tir du canon (par exemple, instancier un boulet de canon).
using UnityEngine;

public class CanonController : MonoBehaviour
{
    // Define variables for canon rotation speed
    public float rotationSpeed = 5f;

    // Define variables for cannonball prefab and firing position
    public GameObject cannonballPrefab;  // Assign in Unity Editor
    public Transform firePoint;  // Assign fire point transform in Unity Editor

    void Update()
    {
        // Handle canon rotation based on user input
        float horizontalInput = Input.GetAxis("Horizontal");
        transform.Rotate(Vector3.up, horizontalInput * rotationSpeed * Time.deltaTime);

        // Handle canon firing when spacebar is pressed
        if (Input.GetKeyDown(KeyCode.Space))
        {
            FireCanon();
        }
    }

    void FireCanon()
    {
        // Check if cannonball prefab and fire point are assigned
        if (cannonballPrefab != null && firePoint != null)
        {
            // Instantiate a cannonball at the fire point position and rotation
            GameObject cannonball = Instantiate(cannonballPrefab, firePoint.position, firePoint.rotation);
            
            // Add force to the cannonball (example: forward direction with speed)
            float cannonballSpeed = 10f;
            cannonball.GetComponent<Rigidbody>().velocity = firePoint.forward * cannonballSpeed;
        }
        else
        {
            Debug.LogError("Cannonball prefab or fire point is not assigned.");
        }
    }
}

Tester et jouer au jeu

Maintenant, testons et jouons à notre jeu Canon:

  1. Enregistrez le script et revenez à Unity.
  2. Attachez le script CanonController au GameObject "Canon" en le faisant glisser sur le panneau Inspecteur du GameObject "Canon".
  3. Appuyez sur le bouton Jouer en Unity pour lancer le jeu.
  4. Utilisez les touches fléchées ou les touches A/D pour faire pivoter le canon.
  5. Appuyez sur la barre d'espace pour déclencher le canon (la mise en œuvre de cette fonctionnalité est facultative en fonction de votre script).

Conclusion

Félicitations ! Vous avez créé un jeu Canon simple dans Unity en utilisant C#. Vous avez appris à configurer un projet Unity, à créer des GameObjects, à écrire des scripts en C# et à implémenter des mécanismes de jeu de base. À partir de là, vous pouvez étendre et améliorer davantage votre jeu.