Ringkasan: Terdekat dalam Jangkauan
Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 11 dari 64.
Bab ini menggunakan interface agar satu skrip dapat bekerja dengan berbagai hal yang hanya memiliki satu kesamaan, yaitu sebuah method. Sekarang, tombol interaksi memilih yang terdekat di antara semuanya.
Tantangan
MudahTombol Space seharusnya menggunakan benda terdekat, bukan benda pertama.
- Di
Interactor, sebelum perulangan, tambahkanIInteractable nearest = null;danfloat best = Mathf.Infinity;. - Di dalam perulangan, simpan benda apa pun yang jarak
Vector3.Distance-nya dari pemain kurang daribest, beserta jaraknya. - Setelah perulangan, panggil
nearest.Interact()jikanearesttidak null.
Tekan tombol “Main”, berdirilah di antara peti dan tuas lalu tekan Space: tuas tertarik. Kemudian tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
using UnityEngine.InputSystem;
// Tombol Space berinteraksi dengan hal pertama yang berada dalam jangkauan.
public class Interactor : MonoBehaviour
{
public float reach = 1.5f;
void Update()
{
if (Keyboard.current.spaceKey.wasPressedThisFrame)
{
foreach (Collider c in Physics.OverlapSphere(transform.position, reach))
{
if (c.TryGetComponent(out IInteractable thing))
{
thing.Interact();
return;
}
}
}
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Arsitektur Game di Unity
1Komponen, Bukan Hierarki
Komponen KecilSkrip Dasar MusuhKomponen AbstrakKomponen yang Bekerja BersamaRangkuman: Turret ModularRangkuman: Meriam Kembar4Data yang Diserialisasi
Class yang Dapat DiserialisasiList di InspectorEnum di InspectorRangkuman: Tabel LootRangkuman: Acak Loot2Antarmuka di Unity
IDamageableAntarmuka dan TryGetComponentGetComponentsRingkasan: Tombol InteractRingkasan: Terdekat dalam Jangkauan5ScriptableObjects
Aset DataStatistik SenjataPengaturan BersamaSelamatkan AnginGelombang sebagai DataRekap: database ItemBeli dari Toko8Kode yang Dapat Digunakan Kembali
Extension methodSingleton GenerikHelper GenerikUlasan: FindNearestLatihan sendiri: Playground Unity