1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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()
|