Lo stato di allerta
Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 36 di 64.
Sfida
MedioFai scattare l’allarme della torretta quando il giocatore si avvicina.
- In
TurretStates.cs, scriviAlertState, fornendo la testa e il giocatore. All’ingresso: imposta la testa suColor.red, registraIntruder!. A ogni aggiornamento: rivolgi la testa verso il giocatore sull’asse y. All’uscita: registraAll clear. - In
Turret, scriviSetState(IState next): esegui Exit dello stato precedente, poi Enter del nuovo. - Durante l’aggiornamento, attiva l’allarme entro
range, altrimenti esegui la scansione, poi aggiorna lo stato corrente.
Premi «Gioca» e avvicinati. Poi premi «Verifica».
Provalo tu
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()
{
}
}
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 bottino7Macchine a stati
Gli stati come classiLo stato di allertaUna macchina a statiTransizioniIntelligenza dei nemiciIl cavaliere attaccaRiepilogo: stati delle porte2Interfacce 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 negozioEsercitati da solo: Playground Unity