Contenu du cours
Jeu de Combat dans Unity
Jeu de Combat dans Unity
Déplacer Votre Joueur
FixedUpdate et Update
Update()
La méthode Update()
, appelée une fois par image, gère les mises à jour régulières telles que la saisie du joueur et l'interaction utilisateur. Sa fréquence d'exécution varie en fonction du taux de rafraîchissement, ce qui peut entraîner des incohérences selon les appareils.
FixedUpdate()
La méthode FixedUpdate()
, appelée à intervalles fixes, est idéale pour les mises à jour liées à la physique, offrant une gestion fiable et prévisible des forces, des collisions et des déplacements.
Utiliser Update()
pour les mises à jour régulières qui n'impliquent pas la physique, comme la vérification des entrées utilisateur ou la mise à jour des animations. Utiliser FixedUpdate()
pour les mises à jour liées à la physique, telles que le déplacement d'objets avec Rigidbody ou la gestion des collisions, afin d'assurer un comportement plus fluide et plus fiable.
Code de déplacement
if (x != 0)
{
Vector2 velocity = rb.velocity;
if ((animator.GetCurrentAnimatorClipInfo(0))[0].clip.name != "attack")
{
velocity.x = x * Time.deltaTime * speed;
}
else
{
velocity.x = 0;
}
rb.velocity = velocity;
}
Cet extrait de code effectue divers contrôles et affectations pour gérer le déplacement d'un personnage de jeu. Il commence par vérifier si la variable de déplacement horizontal x
n'est pas nulle, puis crée une variable Vector2
pour stocker la vélocité actuelle du composant Rigidbody. Il vérifie également si l'animation en cours n'est pas "attack" afin de déterminer si le personnage est en train d'attaquer. Si le personnage n'attaque pas, il définit la vélocité horizontale en fonction de l'entrée, du temps écoulé et de la vitesse ; sinon, il arrête le déplacement horizontal. Enfin, il met à jour la vélocité du Rigidbody avec les nouvelles valeurs.
Merci pour vos commentaires !