Diminuer la vitesse d'un personnage quand il est en l'air

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
marceau
Messages : 5
Inscription : 11 Nov 2020 20:16

Diminuer la vitesse d'un personnage quand il est en l'air

Message par marceau » 14 Nov 2020 19:05

Voici mon script :

Code : Tout sélectionner

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
     public float moveSpeed;
     public float jumpForce;
     
	 private bool isJumping;
     private bool isGrounded;
	 
	 public Transform groundCheckLeft;
	 public Transform groundCheckRight;
     public Rigidbody2D rb;
     private Vector3 velocity = Vector3.zero;

     void FixedUpdate()
     {
          isGrounded = Physics2D.OverlapArea(groundCheckLeft.position, groundCheckRight.position);
          float horizontalMovement = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
          
		  if (Input.GetButtonDown("Jump") && isGrounded)
		  {
			 isJumping = true; 
		  }
		  
		  MovePlayer(horizontalMovement);
          }

     void MovePlayer(float _horizontalMovement)
     {

          Vector3 targetVelocity = new Vector2(_horizontalMovement, rb.velocity.y);
          rb.velocity = Vector3.SmoothDamp(rb.velocity, targetVelocity, ref velocity, .05f);
		  
		  if(isJumping == true)
		  {
			  rb.AddForce(new Vector2(0f, jumpForce));
			  isJumping = false;
		  }		  
     }
}
Je voudrais baisser la vitesse de déplacement quand mon personnage est en l'air. Comment faire ?
Merci.
Dernière édition par marceau le 14 Nov 2020 19:09, édité 1 fois.

Avatar de l’utilisateur
Max
Newser
Newser
Messages : 8064
Inscription : 30 Juil 2011 13:57
Contact :

Re: Diminuer la vitesse d'un personnage quand il est en l'air

Message par Max » 14 Nov 2020 19:07

Bonsoir,

ne poste pas de screen de ton code, c'est souvent difficile à exploiter et interdit tout copié/collé si quelqu'un veut par exemple tester. Poste le script directement, entre les bonnes balises (Cf la charte, lien dans ma signature).
Merci.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
Max
Newser
Newser
Messages : 8064
Inscription : 30 Juil 2011 13:57
Contact :

Re: Diminuer la vitesse d'un personnage quand il est en l'air

Message par Max » 14 Nov 2020 19:35

marceau a écrit :
14 Nov 2020 19:05
Je voudrais baisser la vitesse de déplacement quand mon personnage est en l'air. Comment faire ?
Vu que tu passes par AddForce, déjà essayer de regarder du coté de la valeur jumpForce.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

marceau
Messages : 5
Inscription : 11 Nov 2020 20:16

Re: Diminuer la vitesse d'un personnage quand il est en l'air

Message par marceau » 14 Nov 2020 19:48

enfaite quand je vais de droite a gauche en sautant ou inversement, mon personnage vas trop loin. C'est pour ca que je voudrais baisser la vitesse dans les airs mais garder la même valeurs de JumpForce.

Avatar de l’utilisateur
Max
Newser
Newser
Messages : 8064
Inscription : 30 Juil 2011 13:57
Contact :

Re: Diminuer la vitesse d'un personnage quand il est en l'air

Message par Max » 14 Nov 2020 19:51

Selon les circonstances, tu peux essayer de brider la vélocité du personnage dans ce cas.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Répondre

Revenir vers « (C#) CSharp »