Menu
CoddyTech

Récapitulatif : pool de projectiles

Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 49 sur 64.

La mise en réserve garde les objets désactivés à disposition au lieu de les détruire. Ici, les projectiles du tank proviennent de ObjectPool de Unity et y retournent après chaque tir.

challenge icon

Défi

Moyen

Fais tirer au tank des balles mises en pool.

  1. Dans Awake de Tank, crée un ObjectPool<Bullet> : active les balles lorsqu’elles sont récupérées, désactive-les lorsqu’elles sont relâchées, détruis-les lorsqu’elles sont supprimées, et définis maxSize: 4.
  2. La barre d’espace récupère une balle située 1 unité devant le tank et lui transmet le pool.
  3. Bullet avance vers +z à la speed indiquée ; il se relâche life secondes après chaque tir, ou lorsqu’il touche un Target (appelle Hit()).

Appuie sur « Jouer » et tire sur les deux cibles. Puis appuie sur « Vérifier ».

Essayez vous-même

using UnityEngine;
using UnityEngine.Pool;

public class Bullet : MonoBehaviour
{
    public float speed = 15f;
    public float life = 1f;

    // Avance ; retourne dans le pool quand il touche une Target, ou après life secondes
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Architecture de jeu dans Unity

Entraînez-vous par vous-même : Playground Unity