Riepilogo: pool di proiettili
Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 49 di 64.
Il pooling mantiene pronti gli oggetti disattivati invece di distruggerli. Qui i proiettili del carro armato provengono da ObjectPool di Unity e vi ritornano dopo ogni colpo.
Sfida
MedioFai sparare al carro armato proiettili gestiti da un pool.
- In
Tank'sAwake, crea unObjectPool<Bullet>: attiva i proiettili quando vengono presi, disattivali quando vengono rilasciati e distruggili quando vengono eliminati; impostamaxSize: 4. - Premendo Spazio, ottieni un proiettile posizionato 1 unità davanti al carro armato e passagli il pool.
Bulletsi muove lungo +z allaspeed; si rilascialifesecondi dopo ogni sparo oppure quando colpisce unTarget(chiamaHit()).
Premi «Gioca» e spara a entrambi i bersagli. Poi premi «Verifica».
Provalo tu
using UnityEngine;
using UnityEngine.Pool;
public class Bullet : MonoBehaviour
{
public float speed = 15f;
public float life = 1f;
// Vola in avanti; torna al pool quando colpisce un Target o dopo life secondi
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Architettura dei giochi in Unity
1Componenti, non gerarchie
Componenti piccoliUno script base per i nemiciComponenti astrattiComponenti che collaboranoRipasso: torretta modulareRipasso: cannone doppio4Dati serializzati
Classi serializzabiliElenchi nell'InspectorEnum nell'InspectorRiepilogo: tabella del bottinoRiepilogo: tira il bottino2Interfacce in Unity
IDamageableInterfacce e TryGetComponentGetComponentsRiepilogo: tasto InteragisciRiepilogo: il più vicino a portata5ScriptableObjects
Asset di datiStatistiche delle armiImpostazioni condiviseSalva il ventoOnde come datiRiepilogo: database degli oggettiRiepilogo: comprare dal negozio3Eventi
Eventi C# in UnityIscrizione in OnEnableCampi UnityEventGli eventi guidano l'interfaccia utenteRiepilogo: popup dei risultatiRiepilogo: timer del popup6Salvare con JSON
JsonUtilitySalva la partitaCaricamento e valori predefinitiRiepilogo: slot di salvataggioScegli ed elimina uno slot9Pooling degli oggetti
Perché usare un pool di oggettiUn pool con una codaObjectPool di UnityRiepilogo: pool di proiettiliEsercitati da solo: Playground Unity