ping_pong.gd 796 B

123456789101112131415161718192021222324252627282930
  1. extends Mouvement
  2. class_name PingPong
  3. ## Pour descendre doucement un objet a vitesse constante
  4. const vitesse: float = 20.0 # px / sec
  5. var depart: float # px du bord gauche
  6. var longueur: float # px de long
  7. var temps: float = 0.0 # sec
  8. var calibrage_fait := false
  9. ## Descente tranquille
  10. func bouger(noeud: Node2D, delta: float) -> void:
  11. calibrer(noeud.position.x)
  12. temps += delta
  13. noeud.position.x = depart + pingpong(temps * vitesse, longueur)
  14. func calibrer(position_x: float):
  15. if calibrage_fait:
  16. return
  17. depart = position_x
  18. var largeur_niveau = ProjectSettings.get_setting("display/window/size/viewport_width")
  19. assert(largeur_niveau > 0)
  20. longueur = largeur_niveau - 2 * depart
  21. print("Calcul ping pong ", self, " depuis ", depart, " sur ", longueur, " px.")
  22. calibrage_fait = true