В 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);
}
}
}