Contenu du cours
Jeu de Combat dans Unity
Jeu de Combat dans Unity
Ajouter des Particules
Explication des Modifications de la Méthode Update
La méthode Update
dans le script de l'ennemi inclut maintenant une logique pour mettre à jour le gestionnaire d'états, s'assurer que l'ennemi fait face au joueur, et gérer un cas spécifique où l'ennemi est dans un DeathState
. Cette logique a été ajoutée pour empêcher l'ennemi de continuer à faire face au joueur après sa mort.
Composants de la Méthode
Mise à jour de StateManager
stateManager.UpdateStates(Time.deltaTime)
Cette ligne met à jour le gestionnaire d'état, en passant le temps écoulé depuis la dernière image (Time.deltaTime
). Elle garantit que l'état actuel est mis à jour correctement à chaque image.
Vérification de DeathState
if (stateManager.GetCurrentState() is DeathState) return;
Cette ligne vérifie si l'état actuel est DeathState
.
Si l'ennemi est dans le DeathState
, la méthode retourne tôt, empêchant toute mise à jour supplémentaire pour faire face au joueur ou à d'autres comportements.
Faire face au Joueur
Les lignes suivantes garantissent que l'ennemi fait toujours face au joueur :
scale.x = transform.position.x > player.position.x ? -1 : 1;
Cette ligne vérifie si la position x de l'ennemi est supérieure à la position x du joueur :
- Si c'est vrai,
scale.x
est défini sur-1
, faisant face à gauche; - Si c'est faux,
scale.x
est défini sur1
, faisant face à droite.
transform.localScale = scale;
Cette ligne applique l'échelle mise à jour à la transformation de l'ennemi, garantissant qu'il fait face à la bonne direction.
Pourquoi Nous l'avons Fait Comme Ça
Gestion de l'État de Mort
Ajouter la vérification pour DeathState
garantit que l'ennemi ne continue pas à mettre à jour son comportement ou son orientation après sa mort. C'est crucial pour maintenir la logique du jeu et prévenir des comportements inattendus après que l'ennemi est supposé être inactif.
Logique Centralisée
En déplaçant la logique de faire face au joueur dans la méthode Update
, nous centralisons ce comportement, réduisant la redondance et améliorant la maintenabilité du code.
Cela garantit que l'ennemi fait toujours face au joueur, quel que soit l'état actuel, ce qui simplifie le code spécifique à l'état.
Explication de la Gestion de la Mort de l'Ennemi
La classe DeathState
est un état spécifique qui gère le comportement de l'ennemi lorsqu'il meurt.
Pourquoi nous l'avons fait comme ça
Gestion du comportement de la mort
La classe DeathState
gère spécifiquement le comportement de l'ennemi lorsqu'il meurt, en s'assurant que l'animation de mort est jouée et que l'état est marqué comme terminé.
Intégration de l'animation
L'utilisation des paramètres de l'animateur garantit que l'animation de mort est correctement synchronisée avec le changement d'état, offrant une expérience fluide et réaliste.
Apparition de particules à la mort de l'ennemi
Ce code montre comment l'ennemi gère sa mort lorsque sa santé atteint zéro. Il passe à l'état DeathState
et joue un effet de particules de mort.
Décomposition du Code
Vérification de la Santé
if (health <= 0)
Cette condition vérifie si la santé de l'ennemi est tombée à zéro ou en dessous.
Transition vers DeathState
stateManager.ChangeState(deathState)
Cette ligne fait passer l'ennemi à l'état DeathState
en utilisant le StateManager
.
Instanciation des Particules de Mort
var deathParticle = Instantiate(deathParticles, transform.position, Quaternion.identity)
Cette ligne crée une instance de l'effet de particules de mort à la position de l'ennemi.
deathParticles
est un prefab qui contient le système de particules pour l'effet de mort.
Quaternion.identity
garantit que les particules n'ont pas de rotation.
Jouer les Particules de Mort
deathParticle.Play()
Cette ligne joue l'effet de particules instancié.
Détruire les Particules de Mort
Destroy(deathParticle.gameObject, 5)
Cette ligne programme la destruction de l'effet de particules GameObject
après 5 secondes, garantissant qu'il ne persiste pas indéfiniment dans le jeu.
Pourquoi Nous l'avons Fait Comme Ça
Gestion des États:
Passer à DeathState
garantit que le comportement de mort de l'ennemi est correctement géré et que toute logique spécifique à l'état de mort est exécutée.
Effets Visuels: Jouer un effet de particules de mort fournit un retour visuel au joueur, améliorant l'expérience de jeu.
Merci pour vos commentaires !