Menu
CoddyTech

Récapitulatif : états d’une porte

Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 32 sur 50.

challenge icon

Défi

Moyen

Une porte de château avec une serrure. Les flèches déplacent le Player, et la clé dorée appelle door.Unlock() lorsque le joueur la ramasse (les deux sont prêts). IState et le StateMachine du chapitre sont dans le projet. Door.cs contient les valeurs de l’Inspector (closedY 1.5, openY 4, speed 2, stayOpen 2, reach 2.5), un champ machine et PlayerNear(). Donne cinq états à la porte, sous forme de classes dans DoorStates.cs nommées LockedState, ClosedState, OpeningState, OpenState et ClosingState :

  • La porte démarre Locked. Appuyer sur Espace près d’elle (PlayerNear()) affiche uniquement Locked dans le journal. Unlock() fait passer une porte verrouillée à l’état Closed et ne fait rien dans les autres états.
  • Closed : appuyer sur Espace près de la porte commence à l’ouvrir.
  • Opening : la porte monte à la vitesse speed jusqu’à ce que son y soit égal à openY, puis elle est Open.
  • Open : après stayOpen secondes, la porte commence à se fermer.
  • Closing : la porte descend à la vitesse speed jusqu’à ce que son y soit égal à closedY, puis elle est Closed. Appuyer sur Espace près d’elle pendant sa descente la rouvre à partir de sa position actuelle.

Appuie sur Play, essaie la porte verrouillée, récupère la clé, ouvre la porte et passe à travers, puis clique sur Check.

Essayez vous-même

using UnityEngine;

// LockedState, ClosedState, OpeningState, OpenState et ClosingState

Toutes les leçons de Architecture de jeu dans Unity