Прыжок вверх
Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 13 из 28.
Чтобы прыгнуть, установи velocity.y на большую скорость вверх в кадре, когда игрок нажимает jump. Чем меньше y, тем выше положение, поэтому число отрицательное:
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump"):
velocity.y = jump_velocity
move_and_slide()Тебе не нужно программировать движение вниз. Гравитация продолжает увеличивать velocity.y, поэтому герой замедляется, поднимаясь, останавливается в верхней точке и падает обратно.
Используй is_action_just_pressed, а не is_action_pressed. Если удерживать клавишу, скорость будет устанавливаться на -500 каждый кадр, и герой улетит за пределы экрана.
Задание
ЛегкоКогда ты нажимаешь jump, установи velocity.y равным jump_velocity. Герой должен подпрыгнуть и снова приземлиться на пол. Удерживание клавиши не должно заставлять его улетать.
Попробуйте сами
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ввод и перемещение
3Гравитация и прыжки
Падение под действием гравитацииПрыжок вверхТолько с полаБег и прыжокПрыжок с переменной высотойДвойной прыжокПотренируйтесь самостоятельно: Песочница Godot