Только с пола
Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 14 из 28.
Герой из прошлого урока может снова прыгать в воздухе сколько угодно раз. Он должен прыгать, только когда стоит на чём-нибудь.
is_on_floor() имеет значение true, если после последнего вызова move_and_slide() персонаж остался на полу. В воздухе это значение false.
and объединяет два условия. Блок if выполняется, только когда истинны оба условия:
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocityЗадание
ЛегкоПусть герой прыгает, только когда стоит на полу. Нажатие кнопки прыжка в воздухе не должно приводить ни к чему.
Попробуйте сами
extends CharacterBody2D
var gravity = 1000
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()
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ввод и перемещение
3Гравитация и прыжки
Падение под действием гравитацииПрыжок вверхТолько с полаБег и прыжокПрыжок с переменной высотойДвойной прыжокПотренируйтесь самостоятельно: Песочница Godot