Четыре направления
Часть раздела Ввод и перемещение путешествия по 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Задание
ЛегкоПусть герой ходит во всех четырёх направлениях.
- В
_process()сохранитеInput.get_vector("move_left", "move_right", "move_up", "move_down")вvar direction. - Перемещайте
positionсо скоростьюdirection * speedв секунду.
Нажмите «Играть»: стрелки перемещают героя вверх, вниз, влево, вправо и по диагонали. Затем нажмите «Проверить».
Попробуйте сами
extends Node2D
var speed = 200
func _process(delta):
pass
Все уроки раздела Ввод и перемещение
1Действия ввода
Нажми, чтобы двигатьсяВлево и вправоОдна осьЧетыре направленияТолько что нажатоНеобработанный вводПотренируйтесь самостоятельно: Песочница Godot