Как в 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;
}


Ответы (0 шт):