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

Одна ось

Часть раздела Ввод и перемещение путешествия по 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, герой стоит на месте.

challenge icon

Задание

Легко

Перемещай героя влево и вправо со скоростью speed (300 пикселей в секунду) с помощью Input.get_axis(). Если удерживать обе клавиши, он останется неподвижным.

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

extends Node2D

var speed = 300

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

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

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

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