Heim > Artikel > Backend-Entwicklung > So verlangsamen Sie Ihre Turtle-Animation in Python: Ersetzen Sie „while True:' durch „screen.ontimer()'?
So steuern Sie die Geschwindigkeit der Turtle-Animation in Python
In der Turtle-Bibliothek von Python wird die Geschwindigkeit der Animation oft als zu hoch empfunden . Dieser Artikel behebt das Problem und stellt einen überarbeiteten Codeausschnitt bereit, der die Animationsgeschwindigkeit auf ein überschaubareres Tempo anpasst.
Der bereitgestellte Code verwendet die Methode „tracer()“, um automatische Bildschirmaktualisierungen zu deaktivieren und so eine manuelle Steuerung der Aktualisierung zu ermöglichen Rate. Es verwendet jedoch die while True:-Schleife für eine konstante Animation, was zu einer schnellen Ausführung führen kann.
Um dieses Problem zu beheben, ersetzt der überarbeitete Code while True: durch eine screen.ontimer()-Ereignisfunktion. Diese Funktion plant ein wiederkehrendes Ereignis mit einer konfigurierbaren Verzögerung (in Millisekunden), das den Bildschirm aktualisiert und die Animation vorantreibt.
Hier ist der aktualisierte Code:
<code class="python">import turtle 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>
Durch Anpassen des zweiten Arguments (in Millisekunden) an ontimer() können Sie die Geschwindigkeit der Animation ändern. Niedrigere Werte führen zu langsameren Animationen, während höhere Werte zu schnelleren führen.
Das obige ist der detaillierte Inhalt vonSo verlangsamen Sie Ihre Turtle-Animation in Python: Ersetzen Sie „while True:' durch „screen.ontimer()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!