Необработанный ввод
Часть раздела Ввод и перемещение путешествия по 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.
Задание
ЛегкоВключай и выключай лампу героя клавишей.
- В
_unhandled_input(event)добавьifдляevent.is_action_pressed("action"). - Внутри него установи для
$Lamp.visibleпротивоположное текущее значение.
Нажми «Играть» и нажми E: лампа включится, а при следующем нажатии выключится. Затем нажми «Проверить».
Попробуйте сами
extends Node2D
func _unhandled_input(event):
pass
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ввод и перемещение
1Действия ввода
Нажми, чтобы двигатьсяВлево и вправоОдна осьЧетыре направленияТолько что нажатоНеобработанный вводПотренируйтесь самостоятельно: Песочница Godot