Годо: Как мне получить InputEventMouseMotion в функции _process? - PullRequest
0 голосов
/ 11 июля 2020

Я работал над игрой в Godot и хочу получить следующее:

func _input(event):
    if event is InputEventMouseMotion:
        pass

в функции _process (без использования _input или _unhandled_input или чего-либо связанного или определяющего новую функцию)

Есть ли способ сделать это, и если да, то как?

1 Ответ

1 голос
/ 11 июля 2020

Вы можете использовать

Input.get_last_mouse_speed()

Но это выглядит сложным для правильного понимания. Из официальной документации:

Возвращает скорость мыши в последний раз, когда курсор был перемещен, и это до следующего кадра, в котором перемещается мышь. Это означает, что даже если мышь не движется, эта функция все равно будет возвращать значение последнего движения.

Использование функции _input - лучшее решение. Если вы хотите обрабатывать движение мыши в _process, вы можете использовать _input для сохранения движения в переменной, которая затем считывается в _process.

Обратите внимание, что это проблема только для движения. Вы можете легко получить состояние кнопок мыши из Input (get_mouse_button_mask).

...