6.2 Tijdelijk sneller met async await?
Ok, dat werkte niet. We moeten een manier hebben om alleen één functie te laten wachten terwijl de rest van het spel doorgaat. Laten we eens async await proberen:
import play
ball = play.new_circle(color='black')
ball.start_physics(obeys_gravity=False, x_speed=10)
@play.when_mouse_clicked
async def tijdelijk_sneller():
ball.physics.x_speed = 100
await play.timer(seconds=1)
ball.physics.x_speed = 10
play.start_program()
Hoe werkt dit?
async def tijdelijk_sneller():
We hebben async voor def gezet. Dit maakt het een asynchrone functie, oftewel alles kan doorgaan en deze functie kan even wachten tot deze weer meedoet met de rest.
ball.physics.x_speed = 100
We zetten de x_speed van de bal op 100 pixels.
await play.timer(seconds=1)
We wachten 1 seconde.
ball.physics.x_speed = 10
We zetten de x_speed weer op 10 pixels.