Ripasso: FindNearest
Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 45 di 64.
In questo capitolo hai scritto codice che funziona con qualsiasi tipo: metodi di estensione, una classe base generica e funzioni di supporto generiche. Qui, una ricerca generica trova sia le gemme sia le piastre di ricarica.
Sfida
MedioInvia il robot alle gemme, prima a quella più vicina, poi a ricaricarsi.
- In
Helpers.cs, scrivi la classe staticaHelperscon il metodo pubblicoFindNearest<T>(IEnumerable<T> items, Vector3 from)per i componenti: restituisce l’elemento più vicino oppurenull. - In
Robot, a ogni fotogramma, usaMoveToper raggiungere laGempiù vicina e distruggerla all’arrivo. - Quando non restano gemme, raggiungi la
ChargePadpiù vicina, registraCharginguna volta e fermati.
Premi «Gioca»: il robot raccoglie le gemme. Poi premi «Verifica».
Provalo tu
using System.Collections.Generic;
using UnityEngine;
// Helpers.FindNearest<T>: l'elemento più vicino a un punto, oppure null
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 negozio8Codice riutilizzabile
Metodi di estensioneUn singleton genericoFunzioni di supporto genericheRipasso: FindNearestEsercitati da solo: Playground Unity