lanceur.gd 800 B

12345678910111213141516171819202122232425262728293031323334
  1. class_name Lanceur
  2. extends Node2D
  3. ## Gere les balles du jeu.
  4. #signal partie_perdue
  5. #signal nb_balles_change(int)
  6. const SceneBalle = preload("res://composants/objets/balle/balle.tscn")
  7. ## Quand il ne reste plus de balle, la partie est perdue !
  8. #@export_range(1, 10) var nombre_de_balles: int = 3
  9. func _ready() -> void:
  10. lancer_balle()
  11. ## S'il en reste en reserve, lance une balle
  12. func lancer_balle() -> void:
  13. # ne pas lancer de balles si plus de balle
  14. _decrementer_nombre_de_balles()
  15. var nouvelle_balle: Balle = SceneBalle.instantiate()
  16. add_child.call_deferred(nouvelle_balle) # Appeler plus tard sinon Godot pas content
  17. func _quand_balle_detruite() -> void:
  18. lancer_balle()
  19. func _decrementer_nombre_de_balles() -> void:
  20. print("Oups, j'ai perdu une balle")
  21. # Fonction à compléter