瀏覽代碼

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 月之前
父節點
當前提交
87507e1803
共有 2 個文件被更改,包括 4 次插入1 次删除
  1. 3 0
      godot/composants/objets/balle/balle.gd
  2. 1 1
      godot/composants/objets/lanceur/lanceur.gd

+ 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: