Ga naar hoofdinhoud

6.1 Wachten met time.sleep

We beginnen met een bewegende bal.

import play

ball = play.new_circle(color='black')
ball.start_physics(obeys_gravity=False, x_speed=10)

play.start_program()

6.1.1 Wachten met time.sleep

We gaan nu proberen om de bal tijdelijk sneller te laten bewegen bij een muisklik. Je meest logische gedachte is misschien om time.sleep te gebruiken:

import play
import time

ball = play.new_circle(color='black')
ball.start_physics(obeys_gravity=False, x_speed=10)

@play.when_mouse_clicked
def tijdelijk_sneller():
ball.physics.x_speed = 1000
time.sleep(1)
ball.physics.x_speed = 10

play.start_program()

Gaat de bal sneller bewegen? Wat gebeurt er eigenlijk?

@play.when_mouse_clicked

Wanneer de muis geklikt wordt:

  • def tijdelijk_sneller(): voeren we deze functie uit
  • ball.physics.x_speed = 1000 we geven de bal een hoge snelheid
  • time.sleep(1) we wachten een seconde
  • ball.physics.x_speed = 10 we geven de bal een lage snelheid

Het probleem is dat time.sleep het hele spel op pauze zet! Dat werkt dus niet. Op naar iets dat wel werkt!