Riepilogo: stati della porta
Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 32 di 50.
Sfida
MedioUna porta di un castello con una serratura. Le frecce muovono il Player e la Key dorata chiama door.Unlock() quando il giocatore la raccoglie (entrambi pronti). IState e la StateMachine del capitolo sono nel progetto. Door.cs contiene i valori dell’Inspector (closedY 1.5, openY 4, speed 2, stayOpen 2, reach 2.5), un campo machine e PlayerNear(). Assegna alla porta cinque stati, come classi in DoorStates.cs chiamate LockedState, ClosedState, OpeningState, OpenState e ClosingState:
- La porta inizia Bloccata. Premere Spazio vicino alla porta (
PlayerNear()) registra soloLocked.Unlock()trasforma una porta bloccata in Chiusa e non fa nulla in qualsiasi altro stato. - Chiusa: premere Spazio vicino alla porta avvia l’apertura.
- In apertura: la porta sale a
speedfinché la sua y non raggiungeopenY, poi è Aperta. - Aperta: dopo
stayOpensecondi inizia a chiudersi. - In chiusura: la porta scende a
speedfinché la sua y non raggiungeclosedY, poi è Chiusa. Premere Spazio vicino alla porta mentre scende la riapre da dove si trova.
Premi Play, prova la porta bloccata, prendi la chiave, apri la porta e attraversala, poi premi Check.
Provalo tu
using UnityEngine;
// LockedState, ClosedState, OpeningState, OpenState e ClosingState
Tutte le lezioni di Architettura dei giochi in Unity
1Componenti, non gerarchie
Componenti piccoliUno script base per i nemiciComponenti astrattiComponenti che collaboranoRiepilogo: torretta modulare4Dati serializzati
Classi serializzabiliListe nell'InspectorEnum nell'InspectorRiepilogo: tabella del bottino7Macchine a stati
Gli stati come classiUna macchina a statiTransizioniIntelligenze dei nemiciRiepilogo: stati della porta10Progetto: Sopravvissuto nell’arena
L’eroeTipi di nemici5ScriptableObjects
Asset di datiStatistiche delle armiImpostazioni condiviseOndate come datiRiepilogo: database degli oggetti