brique.gd 799 B

123456789101112131415161718192021222324252627282930313233
  1. class_name Brique
  2. extends StaticBody2D
  3. const EclatementScene: PackedScene = preload("res://effets/eclatement_brique/eclatement_brique.tscn")
  4. const nombre_de_vies_max: int = 4
  5. @export var nombre_de_vies: int = 1
  6. func _ready() -> void:
  7. _montrer_nombre_vies()
  8. func frapper(nb_degats: int) -> void:
  9. nombre_de_vies -= nb_degats
  10. if nombre_de_vies > 0:
  11. _montrer_nombre_vies()
  12. else:
  13. _mourir()
  14. func _montrer_nombre_vies() -> void:
  15. var nouvelle_couleur: Color = Color.WHITE * (nombre_de_vies_max - nombre_de_vies) / (nombre_de_vies_max - 1)
  16. nouvelle_couleur.a = 1.0 # rendre opaque
  17. set_modulate(nouvelle_couleur)
  18. func _mourir() -> void:
  19. queue_free()
  20. var effet_eclatement: Node2D = EclatementScene.instantiate()
  21. effet_eclatement.position = self.position
  22. add_sibling(effet_eclatement)