L’état d’alerte
Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 36 sur 64.
Défi
MoyenDéclenche l’alerte de la tourelle lorsque le joueur s’approche.
- Dans
TurretStates.cs, écrisAlertStateen lui fournissant la tête et le joueur. À l’entrée : définis la tête surColor.redet afficheIntruder!dans le journal. À chaque mise à jour : oriente la tête vers le joueur autour de l’axe y. À la sortie : afficheAll cleardans le journal. - Dans
Turret, écrisSetState(IState next): appelle d’abord Exit de l’ancien état, puis Enter du nouvel état. - Lors de la mise à jour, déclenche l’alerte si le joueur est à portée de
range, sinon lance le balayage, puis mets à jour l’état actuel.
Appuie sur « Jouer » et approche-toi. Puis appuie sur « Vérifier ».
Essayez vous-même
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()
{
}
}
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 butin2Les 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