class_name Capsule extends Node2D ## Contient un pouvoir qui se declenche au contact de la raquette const VITESSE_DESCENTE: float = 100.0 # px / sec var pouvoir: PouvoirBase = null: set=set_pouvoir func _physics_process(delta: float) -> void: _descendre(delta) func set_pouvoir(nouveau_pouvoir: PouvoirBase) -> void: modulate = nouveau_pouvoir.couleur_principale() pouvoir = nouveau_pouvoir func _descendre(delta: float) -> void: position.y += VITESSE_DESCENTE * delta func _declencher_pouvoir() -> void: print("Le pouvoir ", pouvoir, " se declenche !") pouvoir.declencher_pouvoir(get_tree()) func _auto_detruire() -> void: queue_free() func _quand_verificateur_visibilite_detecte_sortie_ecran(): _auto_detruire() func _quand_zone_activation_detecte_un_corps(corps: Node2D) -> void: if corps is Raquette: # toujours le cas si calque collision bien configure _declencher_pouvoir() _auto_detruire()