Menu
CoddyTech

Recapitulação: pool de projéteis

Parte da seção Arquitetura de Jogos no Unity do Journey de Unity da Coddy. Lição 49 de 64.

O pooling mantém objetos desativados prontos para uso, em vez de destruí-los. Aqui, as balas do tanque vêm de ObjectPool do Unity e voltam após cada disparo.

challenge icon

Desafio

Médio

Faça o tanque disparar projéteis reutilizados do pool.

  1. Em Awake de Tank, crie um ObjectPool<Bullet>: ative quando um projétil for obtido, desative quando for liberado, destrua quando for descartado, com maxSize: 4.
  2. Ao pressionar Espaço, obtenha um projétil, posicione-o 1 unidade à frente do tanque e passe o pool para ele.
  3. Bullet voa na direção +z com speed; ele se libera life segundos após cada disparo ou ao atingir um Target (chame Hit()).

Pressione “Jogar” e atire nos dois alvos. Em seguida, clique em “Verificar”.

Experimente você mesmo

using UnityEngine;
using UnityEngine.Pool;

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

    // Voe para a frente; volte para o pool ao atingir um Target ou após life segundos
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Arquitetura de Jogos no Unity

Pratique por conta própria: Playground de Unity