Menu
CoddyTech

Пройди по подземелью

Часть раздела Проекты путешествия по Godot на Coddy. Урок 29 из 36.

Последний проект — это данжен-кроулер с видом сверху. Герой берёт ключ, открывает дверь, проходит мимо стражника и добирается до лестницы.

Скрипты — hero.gd, enemy.gd и main.gd. Стены — это StaticBody2D с именем Walls, уже находящийся на сцене.

Герой ходит в четырёх направлениях. Input.get_vector считывает все четыре клавиши и задаёт направление длиной 1, поэтому по диагонали герой не движется быстрее. move_and_slide() перемещает тело с учётом его velocity и скользит вдоль стен:

velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()

move_and_slide сам учитывает delta, поэтому умножать на него не нужно.

challenge icon

Задание

Легко

Проведи героя через подземелье.

  1. В hero.gd добавь const SPEED = 160.
  2. Каждый физический кадр присваивай velocity значение Input.get_vector для четырёх действий перемещения, умноженное на SPEED, затем вызывай move_and_slide().

Нажми «Играть» и походи: стены остановят героя. Затем нажми «Проверить».

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

extends CharacterBody2D

func _physics_process(delta):
	pass

Все уроки раздела Проекты

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