Владислав, зачем прописовать == true для bool переменной? если прописать просто if(isGrounded), то это и будет если равно true, (!isGrounded) - если равно false.
p.s. Владислав, я так понял ты только начал изучать Юнити + с#, так что не пробуй кому то помогать , если сам ещё учишь и не уверен в ответе. Таким образом ты можешь просто запутать авторов)))
У тебя функции OnCollisionEnter2D идентичны. Посмотри, там одинаковые тела функций, тоесть сначала одна функция дает true значение, а потом false. А прыжок действует когда true, но вторая функция дает false.
Ну хорошо теперь он прыгает, все нормально. Но почему то он прыгает через раз. Я нажимаю пробел несколько раз а он срабатывает только на 4 раз. (с клавиатурой все нормально)
GafGaf, а почему ты юзаешь GetKeyDown (когда кнопка зажата), если надо GetKeyUp(когда кнопка отжата)? И ещё, ты сделал когда игрок прыгает чтобы переменная false стала? Это чтобы проблемы с двойным прыжком не было.