2017-09-04 172 views
2

我正在学习Godot引擎和GDscript,我在互联网上搜索关于键盘事件,但我没有uderstad。有没有在戈多这样的:on_key_down("keycode")Godot键盘事件

回答

1

有没有官方的onkeyup选项,但您可以使用_input(event)函数接收输入时,按下一个动作/释放:

func _input(event): 

     if event.is_action_pressed("my_action"): 
      # Your code here 
     elif event.is_action_released("my_action): 
      # Your code here 

操作在项目设置设置>输入地图。

当然,您并不总是想要使用_input,而是在固定更新中获得输入。您可以使用Input.is_key_pressed(),但没有is_key_released()。在这种情况下,你可以这样做:

var was_pressed = 0 

    func _fixed_process(delta): 
     if !Input.is_key_pressed() && was_pressed = 1: 
      # Your key is NOT pressed but WAS pressed 1 frame before 
      # Code to be executed 

     # The rest is just checking whether your key is just pressed 
     if Input.is_key_pressed(): 
      was_pressed = 1 
     elif !Input.is_key_pressed(): 
      was_pressed = 0 

这就是我一直在使用的。随时通知我是否有更好的方式在戈多做OnKeyUp