raquette.gd 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. @icon("res://composants/objets/raquette/IconeRaquette.svg")
  2. class_name Raquette
  3. extends StaticBody2D
  4. const VITESSE_MAX: float = 20.0
  5. var _vitesse: float = 0.0
  6. func _physics_process(_delta: float) -> void:
  7. if not est_vivant():
  8. return
  9. position.x += _vitesse
  10. func _unhandled_input(evenement: InputEvent) -> void:
  11. if not est_vivant():
  12. return
  13. if evenement is InputEventMouseMotion:
  14. _bouger_avec_souris(evenement)
  15. elif evenement is InputEventKey:
  16. _bouger_avec_clavier(evenement)
  17. func est_vivant() -> bool:
  18. return true
  19. func _bouger_avec_souris(evenement_souris: InputEventMouseMotion) -> void:
  20. position.x = evenement_souris.get_position().x
  21. func _bouger_avec_clavier(evenement_clavier: InputEventKey) -> void:
  22. if evenement_clavier.is_action_pressed("bouger_a_droite"):
  23. _vitesse = VITESSE_MAX
  24. elif evenement_clavier.is_action_pressed("bouger_a_gauche"):
  25. _vitesse = -VITESSE_MAX
  26. if evenement_clavier.is_released() and (evenement_clavier.is_action("bouger_a_gauche") or evenement_clavier.is_action("bouger_a_droite")) :
  27. _vitesse = 0.0