Récapitulatif : états des portes
Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 41 sur 64.
Ce chapitre a attribué à chaque état sa propre classe, les a exécutés avec une seule StateMachine et a laissé chaque état décider de sa propre façon de sortir. La porte réunit les trois.
Défi
MoyenComplète les cinq états de la porte du château dans DoorStates.cs ; Door.cs contient les méthodes utilitaires.
- Verrouillée :
door.PressedNear()afficheLockeddans le journal.Door.Unlock()fait passer une porte verrouillée à l’étatclosed. - Fermée :
PressedNear()fait passer à l’étatopening. Ouverture : dès quedoor.SlideTo(door.openY)vaut true, passer à l’étatopen. - Ouverte : après
door.stayOpensecondes, passer à l’étatclosing. - Fermeture :
PressedNear()rouvre la porte ; sinon, dès queSlideTo(door.closedY)est atteint, passer à l’étatclosed.
Appuie sur « Jouer », récupère la clé et ouvre la porte. Puis clique sur « Vérifier ».
Essayez vous-même
using UnityEngine;
public class LockedState : IState
{
private Door door;
public LockedState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class ClosedState : IState
{
private Door door;
public ClosedState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class OpeningState : IState
{
private Door door;
public OpeningState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class OpenState : IState
{
private Door door;
public OpenState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class ClosingState : IState
{
private Door door;
public ClosingState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Architecture de jeu dans Unity
1Des composants, pas des hiérarchies
De petits composantsUn script de base pour les ennemisComposants abstraitsDes composants qui fonctionnent ensembleRécapitulatif : tourelle modulaireRécapitulatif : canon double4Données sérialisées
Classes sérialisablesListes dans l’InspecteurÉnumérations dans l’InspecteurRécapitulatif : table de butinRécapitulatif : tirer le butin7Machines à états
Les états sous forme de classesL’état d’alerteUne machine à étatsTransitionsL’intelligence des ennemisLe chevalier attaqueRécapitulatif : états des portes2Les interfaces dans Unity
IDamageableInterfaces et TryGetComponentGetComponentsRécapitulatif : touche d’interactionLe plus proche à portée5ScriptableObjects
Ressources de donnéesStatistiques des armesParamètres partagésSauver le ventLes vagues comme donnéesRécapitulatif : base de données des objetsRécapitulatif : acheter dans la boutique3Événements
Les événements C# dans UnityS’abonner dans OnEnableChamps UnityEventLes événements pilotent l’interfaceRécapitulatif : fenêtre de succèsRécapitulatif : minuteur de la fenêtreEntraînez-vous par vous-même : Playground Unity