Одна ось
Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 3 из 28.
Лево и право — это два конца одной линии, оси. Input.get_axis() проверяет оба действия и возвращает одно число:
-1, пока удерживается первое действие (влево)1, пока удерживается второе действие (вправо)0, если не удерживается ни одно действие или удерживаются оба
Умножь это число на скорость, и герой будет двигаться в нужную сторону без if:
var speed = 300
func _process(delta):
var direction = Input.get_axis("move_left", "move_right")
position.x += direction * speed * deltaКогда direction равно -1, значение x уменьшается, и герой движется влево. Когда оно равно 0, герой стоит на месте.
Задание
ЛегкоПеремещай героя влево и вправо со скоростью speed (300 пикселей в секунду) с помощью Input.get_axis(). Если удерживать обе клавиши, он останется неподвижным.
Попробуйте сами
extends Node2D
var speed = 300
func _process(delta):
pass
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ввод и перемещение
Потренируйтесь самостоятельно: Песочница Godot