lanceur.gd 598 B

123456789101112131415161718192021222324252627
  1. extends Node2D
  2. signal partie_perdue
  3. const SceneBalle = preload("res://composants/objets/balle/balle.tscn")
  4. ## Quand il ne reste plus de balle, la partie est perdue !
  5. @export_range(1, 10) var nombre_de_balles: int = 1
  6. func _ready() -> void:
  7. lancer_balle()
  8. func lancer_balle() -> void:
  9. if nombre_de_balles <= 0:
  10. partie_perdue.emit()
  11. return # on ne lance pas la balle
  12. nombre_de_balles -= 1
  13. var nouvelle_balle: Balle = SceneBalle.instantiate()
  14. add_child.call_deferred(nouvelle_balle) # Appeler plus tard sinon Godot pas content
  15. func _quand_balle_detruite() -> void:
  16. lancer_balle()