Optimisation de la vitesse d'animation de Turtle en Python
Bien que Turtle soit un outil puissant pour créer des animations en Python, son rythme rapide inhérent peut être un inconvénient . Pour atténuer cela, il est essentiel de comprendre les principes sous-jacents de l'animation.
Dans le code Python fourni, le principal problème réside dans l'utilisation de while True et sleep() dans un environnement événementiel comme Turtle. Au lieu de cela, il est recommandé d'utiliser un événement de minuterie dans Turtle. Voici comment procéder :
<code class="python">from turtle import Screen, Turtle def rectangle(t): t.forward(50) t.left(90) t.backward(5) t.pendown() for _ in range(2): t.forward(10) t.right(90) t.forward(120) t.right(90) t.penup() def windmill(t): for _ in range(4): t.penup() rectangle(t) t.goto(0, 0) screen = Screen() screen.tracer(0) turtle = Turtle() turtle.setheading(90) def rotate(): turtle.clear() windmill(turtle) screen.update() turtle.left(1) screen.ontimer(rotate, 40) # adjust speed via second argument rotate() screen.mainloop()</code>
Ce code révisé utilise screen.ontimer(), qui planifie l'exécution de la fonction rotate() à un intervalle de temps spécifique (40 millisecondes dans ce cas). En ajustant cet intervalle, vous pouvez contrôler la vitesse de l'animation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!