2017-09-04 168 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