Menu
CoddyTech

Podsumowanie: pula pocisków

Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 40 z 50.

challenge icon

Wyzwanie

Średni

Ćwiczenie celności. Strzałki przesuwają czołg w lewo i w prawo (gotowe), a dwa czerwone cele mają skrypt Target z metodą Hit() (gotowe). Spraw, aby czołg strzelał pociskami z puli:

  • W pliku Tank.cs używaj puli ObjectPool<Bullet>, która tworzy pociski na podstawie bulletPrefab, włącza je po pobraniu i wyłącza po zwróceniu, niszczy pociski zwalniane z puli i przechowuje najwyżej 4 zapasowe pociski.
  • Spacja pobiera pocisk z puli i uruchamia go 1 jednostkę przed czołgiem.
  • W pliku Bullet.cs pocisk leci do przodu (+z) z prędkością speed (15). Gdy trafi w obiekt ze skryptem Target (kolider pocisku jest wyzwalaczem), wywołuje metodę Hit() celu i natychmiast wraca do puli. Pocisk, który w nic nie trafi, wraca do puli po life (1) sekundzie.
  • Każdy strzał zapewnia pociskowi pełny czas życia, również pociskowi użytemu ponownie, a pocisk wraca do puli dokładnie raz na strzał.

Naciśnij Play, strzel do obu celów, a następnie naciśnij Check.

Spróbuj swoich sił

using UnityEngine;
using UnityEngine.Pool;

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

    // Leć do przodu; wróć do puli po trafieniu w Target lub po upływie life sekund
}

Wszystkie lekcje w sekcji Architektura gier w Unity