0 votes

I have a StaticBody2d that i want to detect when i press a key while moused over it. I am able to use _input_event() to detect mouse clicks but it does not seem to work for key presses. Ideally I want to detect an InputEventAction.

This works for mouse clicks, but no key press events are printed.

   func _input_event(viewport, event, shape_idx):
    print(event)
    if event is InputEventMouseButton :
        if event.button_index == BUTTON_LEFT and event.is_pressed():
            emit_signal("interact", self, tool_needed)
            print("goo")
Godot version 3.2.3
in Engine by (21 points)

1 Answer

+1 vote
Best answer

Yeah, that's because bodies don't detect key presses. You need to use the _input or _unhandled_input function.

by (6,438 points)
selected by
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.