Menu
CoddyTech
flag Ru iconРусскийdown icon

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

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

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

Скрипты — 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

Задание

Легко

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

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

extends CharacterBody2D

func _physics_process(delta):
	pass
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

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