Menu
CoddyTech

Resumen: pool de balas

Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 49 de 64.

El agrupamiento mantiene los objetos desactivados listos en lugar de destruirlos. Aquí, las balas del tanque provienen de ObjectPool de Unity y vuelven después de cada disparo.

challenge icon

Desafío

Intermedio

Haz que el tanque dispare balas del grupo de objetos.

  1. En el Awake de Tank, crea un ObjectPool<Bullet>: actívalas al obtenerlas, desactívalas al liberarlas y destrúyelas al descartarlas; establece maxSize: 4.
  2. Al pulsar Espacio, obtén una bala, colócala 1 unidad por delante del tanque y pásale el grupo de objetos.
  3. Bullet vuela en dirección +z a speed; se libera a sí misma life segundos después de cada disparo o al golpear un Target (llama a Hit()).

Pulsa «Jugar» y dispara a ambos objetivos. Después, pulsa «Comprobar».

Pruébalo tú mismo

using UnityEngine;
using UnityEngine.Pool;

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

    // Vuela hacia adelante; vuelve al pool cuando impacte contra un Target o después de life segundos
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Arquitectura de juegos en Unity

Practica por tu cuenta: Playground de Unity