@Timur975787

Почему игрок странно падает?

Игрок падает нормально до того как его луч касается пола, а после касание игрок начинает медленнее падать
Вот код
private Rigidbody2D rb;
    public float spedd,JumpForce;
    [SerializeField] private string layerName;
    [SerializeField] private int ColGameObjectLay;
    [SerializeField] private bool Jump = true, keyCodeMovement = true;
    [SerializeField] private LayerMask layMaskRay;
    [SerializeField,Range(0,2)] private float RayDistace;

    void Start()
    {
        rb = gameObject.GetComponent<Rigidbody2D>();
    }

    void FixedUpdate()
    {     
        if (keyCodeMovement == true)
        {
            MovementPlayer("WASDHorizontal","WASDVertical");
        }
        else
        {
            MovementPlayer("Horizontal","Vertical");
        }
    }
    public void MovementPlayer(string Horizontal , string Vertical)
    {
        RaycastHit2D hit2D = Physics2D.Raycast(transform.position, -Vector3.up, RayDistace, layMaskRay);
        if (hit2D.collider != null)
        {
            Debug.DrawRay(transform.position, -Vector3.up * RayDistace, Color.green);
            rb.velocity = new Vector2(Input.GetAxis(Horizontal) * spedd * Time.deltaTime, Input.GetAxis(Vertical) * JumpForce * Time.deltaTime);
        }
        else
        {
            Debug.DrawRay(transform.position, -Vector3.up * RayDistace, Color.red);
            rb.velocity = new Vector2(Input.GetAxis(Horizontal) * spedd * Time.deltaTime, rb.velocity.y);
        }
    }
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы