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.
Défi
MoyenUne 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 uniquementLockeddans 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
speedjusqu’à ce que son y soit égal àopenY, puis elle est Open. - Open : après
stayOpensecondes, la porte commence à se fermer. - Closing : la porte descend à la vitesse
speedjusqu’à 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
1Des composants, pas des hiérarchies
Des composants simplesUn script de base pour les ennemisDes composants abstraitsDes composants qui fonctionnent ensembleRécapitulatif : tourelle modulaire4Données sérialisées
Classes sérialisablesListes dans l’inspecteurÉnumérations dans l’inspecteurRécapitulatif : table de butin7Machines à états
Les états sous forme de classesUne machine à étatsTransitionsLes cerveaux des ennemisRécapitulatif : états d’une porte10Projet : Survivant de l’arène
Le hérosTypes d’ennemis2Interfaces dans Unity
IDamageableInterfaces et TryGetComponentGetComponentsRécapitulatif : touche d’interaction5ScriptableObjects
Assets de donnéesStatistiques des armesParamètres partagésLes vagues sous forme de donnéesRécapitulatif : base de données d’objets