Podsumowanie: pula pocisków
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 49 z 64.
Pula obiektów pozwala przechowywać wyłączone obiekty w gotowości zamiast je niszczyć. Tutaj pociski czołgu pochodzą z ObjectPool w Unity i wracają do puli po każdym strzale.
Wyzwanie
ŚredniSpraw, aby czołg strzelał pociskami z puli.
- W
AwakeklasyTankutwórz pulęObjectPool<Bullet>: włączaj pocisk po pobraniu, wyłączaj po zwróceniu i niszcz po zwolnieniu,maxSize: 4. - Spacja pobiera pocisk, umieszcza go 1 jednostkę przed czołgiem i przekazuje mu pulę.
Bulletleci w kierunku +z z prędkościąspeed; zwalnia sięlifesekund po każdym strzale albo po trafieniu wTarget(wywołajHit()).
Naciśnij „Graj” i strzel do obu celów. Następnie naciśnij „Sprawdź”.
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
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Architektura gier w Unity
1Komponenty, nie hierarchie
Małe komponentyBazowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPowtórka: modułowa wieżyczkaPowtórka: podwójne działo4Dane serializowane
Klasy serializowalneListy w InspectorzeEnumy w InspectorzePodsumowanie: tabela łupówPodsumowanie: losowanie łupów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPowtórka: klawisz interakcjiPowtórka: najbliższy w zasięgu5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaOcal wiatrFale jako danePowtórka: Baza przedmiotówPowtórka: Kupowanie w sklepie8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearest3Zdarzenia
Zdarzenia C# w UnitySubskrybuj w OnEnablePola UnityEventZdarzenia sterują UIPodsumowanie: popup osiągnięciaPodsumowanie: timer popupu6Zapisywanie za pomocą JSON
JsonUtilityZapisz gręWczytywanie i wartości domyślnePodsumowanie: sloty zapisuWybierz i usuń slot9Pooling obiektów
Dlaczego używać poolingu obiektówPool z kolejkąObjectPool w UnityPodsumowanie: pula pociskówPoćwicz samodzielnie: Edytor online Unity