Ходьба с помощью скорости
Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 8 из 28.
Чтобы ходить с помощью клавиш, задавайте скорость через Input.get_axis() в каждом физическом кадре, а затем перемещайтесь:
var speed = 200
func _physics_process(delta):
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()Если удерживать клавишу вправо, значение velocity.x будет равно 200. Если удерживать клавишу влево — -200. Если не удерживать никакую клавишу — 0, поэтому герой остановится, когда вы отпустите клавишу.
С Node2D вы писали position.x += direction * speed * delta. Для физического тела velocity — это сама скорость. Умножение её на delta сделало бы героя в 60 раз медленнее.
Задание
ЛегкоЗаставь героя ходить влево и вправо со скоростью speed. Задай velocity.x на основе Input.get_axis() перед вызовом move_and_slide().
Попробуйте сами
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
move_and_slide()
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ввод и перемещение
2CharacterBody2D
CharacterBody2DХодьба с помощью скоростиСтены останавливаютХодьба повсюдуРавномерные диагоналиПотренируйтесь самостоятельно: Песочница Godot