Menu
CoddyTech

Четыре направления

Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 4 из 28.

В этой игре вид сверху, поэтому герой может ходить вверх и вниз. Input.get_vector() проверяет все четыре действия и возвращает Vector2:

var direction = Input.get_vector("move_left", "move_right", "move_up", "move_down")

Порядок: влево, вправо, вверх, вниз. Если удерживать клавишу вверх, получится Vector2(0, -1), потому что вверх — это меньшее значение y. Если ничего не удерживать, получится Vector2(0, 0).

Умножь вектор на скорость и прибавь его к position. Так значения x и y изменяются одновременно:

position += direction * speed * delta
challenge icon

Задание

Легко

Пусть герой ходит во всех четырёх направлениях.

  1. В _process() сохраните Input.get_vector("move_left", "move_right", "move_up", "move_down") в var direction.
  2. Перемещайте position со скоростью direction * speed в секунду.

Нажмите «Играть»: стрелки перемещают героя вверх, вниз, влево, вправо и по диагонали. Затем нажмите «Проверить».

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

extends Node2D

var speed = 200

func _process(delta):
	pass

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

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