2017-09-04 5 views
2

J'étudie Godot Engine et GDscript et j'ai cherché sur Internet sur les événements de clavier, mais je n'ai pas uderstad. Y a-t-il à Godot quelque chose comme: ?Événements Godot Keyboard

Répondre

1

Il n'y a pas d'option de OnKeyUp officielle, mais vous pouvez utiliser la fonction _input(event) pour recevoir une entrée lorsqu'une action est pressé/libéré:

func _input(event): 

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

Actions sont définies dans le projet Paramètres> Carte d'entrée.

Bien sûr, vous ne voulez pas toujours utiliser _input, mais plutôt obtenir des entrées dans les mises à jour fixes. Vous pouvez utiliser Input.is_key_pressed() mais il n'y a pas is_key_released(). Dans ce cas, vous pouvez le faire:

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 

C'est ce que j'ai utilisé. N'hésitez pas à m'informer s'il y a une meilleure façon de faire OnKeyUp à Godot.