5

I have a question about something I'm getting stuck on with a new 2D project. I added a sprite background and it shows no problem when I run the test. I setup the esc key as "key_exit" in the Input Map. Then I created a node2D as the root and added the following script to it:

extends Node2D

func _ready():
   if Input.is_action_pressed("key_exit"):
      get_tree().quit()

It doesn't work. I'm trying to create a simple loop that listens for esc key presses and quits when I press the escape key. If I add get_tree().quit() without the if condition, it quits as soon as it starts. How do I get it to "listen" for my if condition? What am I doing wrong here?

Camilo Terevinto
  • 31,141
  • 6
  • 88
  • 120
Matthew
  • 768
  • 1
  • 11
  • 25

1 Answers1

12

I figured it out. I was able to get it working with the following:

extends Node2D

func _ready():
    set_process(true)

func _process(delta):
   if Input.is_action_pressed("key_exit"):
      get_tree().quit()
Matthew
  • 768
  • 1
  • 11
  • 25