Многие инди разработчики забывают о такой важной вещи как обработка начала и конца ввода. Некоторые уделяют внимание этим мелочам, а некоторые просто их не используют. Давайте раз и навсегда разберемся с пониманием обработки нажатий клавиш.
В Godot (в C# и GDScript) есть разные способы обработки ввода кнопок, и у каждой из форм:
ButtonPressed
ButtonJustPressed
ButtonJustReleased
Cуществует своё поведение. Давай разберём их подробно, с примерами.
Input.IsActionPressed — Возвращает true, пока кнопка зажата (удерживается).
Используется для: движения, если кнопку надо держать (W, A, S, D).
Input.IsActionJustPressed — Возвращает true только в том кадре, когда кнопка была нажата.
Используется для: прыжков (однократное нажатие), открытия меню или подтверждения действия
Input.IsActionJustReleased — Возвращает true только в том кадре, когда кнопка была отпущена.
Используется для: заряженных выстрелов (событие при отпускании кнопки) или для триггеров