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.
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.