Status Siaga
Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 36 dari 64.
Tantangan
SedangBuat turret waspada saat player mendekat.
- Di
TurretStates.cs, tulisAlertStatedengan head dan player. Enter: atur head keColor.red, lalu catatIntruder!. Tick: arahkan head ke player pada sumbu y. Exit: catatAll clear. - Di
Turret, tulisSetState(IState next): jalankan Exit state lama, lalu Enter state baru. - Perbarui state menjadi alert saat player berada dalam
range, dan menjadi scan jika tidak, lalu jalankan Tick pada state saat ini.
Tekan tombol “Main” dan berjalanlah mendekat. Lalu tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class ScanState : IState
{
private Transform head;
private float angle;
private float direction = 1f;
public ScanState(Transform head)
{
this.head = head;
}
public void Enter()
{
angle = 0f;
direction = 1f;
head.GetComponent<Renderer>().material.color = Color.green;
}
public void Tick()
{
angle += 90f * direction * Time.deltaTime;
if (angle > 45f)
{
angle = 45f;
direction = -1f;
}
if (angle < -45f)
{
angle = -45f;
direction = 1f;
}
head.localRotation = Quaternion.Euler(0f, angle, 0f);
}
public void Exit()
{
}
}
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 Loot7Mesin Status
Status sebagai ClassStatus SiagaMesin StatusTransisiOtak MusuhKsatria MenyerangRangkuman: Status Pintu2Antarmuka 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