Прыжок вверх
Часть раздела Ввод и перемещение путешествия по 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 каждый кадр, и герой улетит за пределы экрана.
Задание
ЛегкоЗаставь героя прыгать.
- Между строкой с гравитацией и
move_and_slide()добавьifдляInput.is_action_just_pressed("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