Partage
  • Partager sur Facebook
  • Partager sur Twitter

Unity quand mon player saute il arrête de bouger

    20 février 2021 à 0:43:19

    Bonjoir,
    J'ai un petit problème avec mon système de déplacement.
    En effet quand je me déplace <code><-</code> à gauche et <code>-></code> à droite tout va bien mais quand je saute mon player marque un temps d'arrêt avant de repartir. D'ailleurs deux petite chose la première et celle-ci et la deuxième et que j'aimerais que mon player ai une vitesse qui n'augmente pas constamment mais qui soit progressive ex: 0 - 0.5 - 1 - 1.5 - 2 - 2 - 2 - 2...
    Voici mon code :
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class CtrlPlayer : MonoBehaviour
    {
        public float speed = 5;
        public float jumpForce;
        public Rigidbody2D rgbd2D;
    
        public bool isGrounded;
        public Transform feetPosition;
        public float checkRadius;
        public LayerMask wahtIsGround;
    
        private float jumpTimeCounter;
        public float jumpTime;
        private bool isJumping;
    
        // Start is called before the first frame update
        void Start()
        {
            
        }
    
        // Update is called once per frame
        void Update()
        {
            if (Input.GetKey(KeyCode.RightArrow))
            {
                rgbd2D.AddForce(Vector2.right * speed);
            }
            if (Input.GetKey(KeyCode.LeftArrow))
            {
                rgbd2D.AddForce(Vector2.left * speed);
            }
    
            isGrounded = Physics2D.OverlapCircle(feetPosition.position, checkRadius, wahtIsGround);
    
            if (isGrounded && Input.GetKeyDown(KeyCode.Space))
            {
                isJumping = false;
                jumpTimeCounter = jumpTime;
                rgbd2D.velocity = Vector2.up * jumpForce;
            }
    
            if (Input.GetKey(KeyCode.Space) && isJumping)
            {
                if (jumpTimeCounter > 0)
                {
                    rgbd2D.velocity = Vector2.up * jumpForce;
                    jumpTimeCounter -= Time.deltaTime;
                }
                else
                {
                    isJumping = false;
                }
            }
            if (Input.GetKeyUp(KeyCode.Space))
            {
                isJumping = false;
            }
        }
    }
    Merci d'avance,
    Maxence ABRILE
    PS : Si vous voulez plus de renseignement n'hésitez pas. :)
    • Partager sur Facebook
    • Partager sur Twitter

    Unity quand mon player saute il arrête de bouger

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown