Как в unity сделать проверку одновременно передвижения и прыжка?
Как в unity сделать проверку одновременно передвижения и прыжка? Я сделал игру на unity для своего ios, а играю я с помощью Unity Remote 5. Всё работает отлично, но иногда бывает что одно время занимает проверка на передвижение, и немного уделяет для прыжка. Ребят, кто может помочь как сделать проверку прыжка и передвижения как во всех остальных платформерах? Если надо, мой C# скрипт на персоонаже:
// Библиотеки
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class OnClickedMovementButton : MonoBehaviour
{
private Rigidbody2D rb;
private bool moveLeft;
private bool moveRight;
private float horizontalMove;
private bool canJump;
[Range(1, 18)][SerializeField]
private float verticalMove;
public float speed = 5;
void Start()
{
rb = GetComponent<Rigidbody2D>();
moveLeft = false;
moveRight = false;
}
// Отсылки от UI onClicked
public void PointerDownLeft() => moveLeft = true;
public void PointerUpLeft() => moveLeft = false;
public void PointerDownRight() => moveRight = true;
public void PointerUpRight() => moveRight = false;
public void PointerEnterJump()
{
if (canJump == true) { rb.velocity = Vector2.up * verticalMove; }
}
// Update is called once per frame
void Update()
{
MovementPlayer();
}
private void MovementPlayer()
{
if (moveLeft == true)
{
horizontalMove = -speed;
}
else if (moveRight == true)
{
horizontalMove = speed;
}
else
{
horizontalMove = 0f;
}
}
private void FixedUpdate()
{
rb.velocity = new Vector2(horizontalMove, rb.velocity.y);
}
private void OnCollisionStay2D(Collision2D collisionBeen)
{
canJump = true;
}
private void OnCollisionExit2D() => canJump = false;
}