Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Ajouter des Particules | Améliorer le Jeu
Jeu de Combat dans Unity
course content

Contenu du cours

Jeu de Combat dans Unity

Jeu de Combat dans Unity

1. Système d'Animation Unity
2. Comportement du Joueur
3. Comportement de l'Ennemi
4. Améliorer le Jeu
5. Améliorer le Jeu Flappy Bird

book
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 sur 1, 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.

Que se passe-t-il avec le système de particules lorsque la santé est inférieure ou égale à zéro ?

Que se passe-t-il avec le système de particules lorsque la santé est inférieure ou égale à zéro ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt