Как дописать код, чтобы игрок без опоры не мог прыгать?

В unity новичок, работаю в 2D, столкнулся с такой проблемой, что если зажать пробел персонаж будет бесконечно лететь вверх. Нужно, чтобы код проверял есть ли под персонажем спрайт с компонентом Box Collider 2D, а потом выполнял прыжок, если нет бездействовал.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class controller : MonoBehaviour
{
    [Header("Player velocity")]
    public int xVelocity = 5;
    public int yVelocity = 8;

    private Rigidbody2D rigidBody;

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

    private void Update()
    {
        updatePlayerPosition();
    }

    private void updatePlayerPosition()
    {
        float moveInput = Input.GetAxis("Horizontal");
        float jumpInput = Input.GetAxis("Jump");

        if (moveInput < 0)
        {
            rigidBody.velocity = new Vector2(-xVelocity, rigidBody.velocity.y);
        }
        else if (moveInput > 0)
        {
            rigidBody.velocity = new Vector2(xVelocity, rigidBody.velocity.y);
        }

        if (jumpInput > 0)
        {
            rigidBody.velocity = new Vector2(rigidBody.velocity.x, yVelocity);
        }
    }
}
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы