Персонаж не прыгает Unity
почему если пишу if, то rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse) перестает работать. Вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class controller : MonoBehaviour
{
//private
private float horizontal = 0f;
private bool isGround = false;
private float vertical = 0f;
public Rigidbody2D rb;
public float speed;
public float jumpForce;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
private void OnTriggerStay2D(Collider2D collision)
{
if(collision.tag == "ground") isGround = true;
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.tag == "ground") isGround =false;
}
void Update()
{
horizontal = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(horizontal * speed, rb.velocity.y);
if(isGround && Input.GetKeyDown(KeyCode.W)) {
rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse);
}
}
}