Только с пола
Часть раздела Ввод и перемещение путешествия по 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Задание
ЛегкоПусть герой прыгает только с пола.
- Добавь второе условие к
ifдля прыжка с помощьюand. - Сделай его
is_on_floor().
Нажми «Играть» и дважды нажми пробел: второе нажатие в воздухе ничего не даст. Затем нажми «Проверить».
Попробуйте сами
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