Ver código fonte

Corrige erreur lorsque l'on quitte le jeu

Impossible to call add_child because parent is busy.

La sortie de l'arbre n'arrive pas seulement quand la balle est detruite,
mais aussi quand le jeu se coupe ou quand le niveau est nettoye. Donc il
faut un signal dedie pour cela.
DricomDragon 11 meses atrás
pai
commit
87507e1803

+ 3 - 0
godot/composants/objets/balle/balle.gd

@@ -2,6 +2,8 @@ class_name Balle
 extends CharacterBody2D
 
 
+signal sortie_ecran
+
 const ratio_diff_angle: float = PI * 0.005 # radian / px
 const ascension_min: float = 10.0 # px / sec
 
@@ -43,4 +45,5 @@ func _auto_detruire() -> void:
 
 
 func _quand_verificateur_visibilite_detecte_sortie_ecran():
+	sortie_ecran.emit()
 	_auto_detruire()

+ 1 - 1
godot/composants/objets/lanceur/lanceur.gd

@@ -11,7 +11,7 @@ func _ready() -> void:
 func lancer_balle() -> void:
 	var nouvelle_balle: Balle = SceneBalle.instantiate()
 	add_child(nouvelle_balle)
-	nouvelle_balle.tree_exited.connect(_quand_balle_sort)
+	nouvelle_balle.sortie_ecran.connect(_quand_balle_sort)
 
 
 func _quand_balle_sort() -> void: