как исправить баг с прыжком

Не знаю как правильно описать баг в связи с низкой профессиональностью но попробую Когда мой персонаж прыгает (только с объекта где есть тэг Ground) и во время прыжка он цепляет объект с коллайдером, он как бы парит и если у объекта есть тэг Ground может еще раз подпрыгнуть

Ниже прикрепил код и пару скриншотов из игры, чтоб было более понятнee

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private bool isGround = false;
    private bool isFacingRight = true;
  
    
[SerializeField]private Animator anim;

public Rigidbody2D rb;
public float speed;
public float jumpForce;


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

private void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.gameObject.tag == "Ground") isGround = true;    
}


void Update()
{
    float horizontal = Input.GetAxis("Horizontal");
    //mooving
    rb.velocity = new Vector2(speed * horizontal, rb.velocity.y);
    //jumping
    if (Input.GetKeyDown(KeyCode.W) && isGround)
    {
        rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse);
        isGround = false;

    }

    //facing
    if (horizontal < 0f && isFacingRight)
    {

        Flip();

    }

    else if(horizontal > 0f && !isFacingRight)
    {

        Flip();

    }

    //animator
    anim.SetFloat("speedx", Mathf.Abs(horizontal));

  
    
    
    
    
    
    void Flip()
    {
        isFacingRight = !isFacingRight;

        Vector3 playerScale = transform.localScale;

        playerScale.x *= -1;

        transform.localScale = playerScale;
    }




}

}

Скрин с игры https://imgur.com/a/1jD3KTY Видео с багом https://imgur.com/MLmrVNz


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