Menu
CoddyTech

Необработанный ввод

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

Godot также может сообщать тебе о нажатиях клавиш. Каждое нажатие и каждое отпускание клавиши — это событие. Godot отправляет каждое событие функции под названием _unhandled_input:

func _unhandled_input(event):
	if event.is_action_pressed("action"):
		print("Action!")

Функция выполняется один раз для каждого события, а не каждый кадр. event.is_action_pressed("action") равно true, когда событие означает нажатие клавиши action. При отпускании клавиши оно равно false.

not превращает true в false и обратно. Эта строка включает и выключает узел:

$Lamp.visible = not $Lamp.visible

У героя на антенне есть скрытая лампа Lamp. Клавиши action — это E и Enter.

challenge icon

Задание

Легко

Включай и выключай лампу героя клавишей.

  1. В _unhandled_input(event) добавь if для event.is_action_pressed("action").
  2. Внутри него установи для $Lamp.visible противоположное текущее значение.

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

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

extends Node2D

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

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

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

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