Menu
CoddyTech

Ходьба с помощью скорости

Часть раздела Ввод и перемещение путешествия по 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 раз.

challenge icon

Задание

Легко

Заставь героя ходить влево и вправо с заданной скоростью.

  1. Перед move_and_slide() присвой velocity.x значение Input.get_axis("move_left", "move_right"), умноженное на speed.
  2. Пропусти delta: move_and_slide() учитывает его за тебя.

Нажми «Играть» и удерживай клавишу со стрелкой: герой будет идти со скоростью 200 пикселей в секунду и остановится, когда ты отпустишь клавишу. Затем нажми «Проверить».

Попробуйте сами

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
	move_and_slide()

Все уроки раздела Ввод и перемещение

Потренируйтесь самостоятельно: Песочница Godot