Ulasan: FindNearest
Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 36 dari 50.
Tantangan
SedangRobot pembersih mengumpulkan permata, lalu pergi mengisi daya. Gem dan ChargePad adalah skrip penanda kosong (siap digunakan), dan robot memiliki MoveTo(point), yang menggerakkannya menuju suatu titik dengan kecepatan speed dan mengembalikan true setelah robot sampai di sana.
- Di
Helpers.cs, tulis class statisHelpersdengan method generikFindNearest<T>(IEnumerable<T> items, Vector3 from)untuk tipe komponen apa pun. Method ini mengembalikan item yang posisinya paling dekat denganfrom, atau null jika tidak ada item. - Di
Robot.cs, setiap frame robot menuju gem terdekat di scene, dari posisinya saat ini, lalu menghancurkan gem saat sampai di sana. - Jika tidak ada gem tersisa, robot menuju
ChargePadterdekat. Saat tiba, robot mencatatChargingsatu kali dan tetap di sana.
Gunakan FindNearest untuk gem dan pad. Tekan Play, amati robot, lalu tekan Check.
Coba sendiri
using System.Collections.Generic;
using UnityEngine;
// Helpers.FindNearest<T>: item yang paling dekat dengan suatu titik, atau null
Semua pelajaran di Arsitektur Game di Unity
1Komponen, Bukan Hierarki
Komponen KecilSkrip Dasar MusuhKomponen AbstrakKomponen yang Bekerja SamaRingkasan: Turret Modular5ScriptableObjects
Aset DataStatistik SenjataPengaturan BersamaGelombang sebagai DataUlasan: database Item8Kode yang Dapat Digunakan Kembali
Extension methodSingleton GenerikHelper GenerikUlasan: FindNearest