Maison > développement back-end > Tutoriel Python > Comment ralentir l'animation de votre tortue en Python : remplacer « while True : » par « screen.ontimer() » ?

Comment ralentir l'animation de votre tortue en Python : remplacer « while True : » par « screen.ontimer() » ?

Patricia Arquette
Libérer: 2024-10-29 13:18:02
original
583 Les gens l'ont consulté

How to Slow Down Your Turtle Animation in Python: Replacing `while True:` with `screen.ontimer()`?

Comment contrôler la vitesse d'animation des tortues en Python

Dans la bibliothèque Turtle de Python, la vitesse d'animation est souvent perçue comme trop rapide . Cet article résout le problème en fournissant un extrait de code révisé qui ajuste la vitesse d'animation à un rythme plus gérable.

Le code fourni utilise la méthode tracer() pour désactiver les mises à jour automatiques de l'écran, permettant ainsi un contrôle manuel de l'actualisation. taux. Cependant, il utilise la boucle while True: pour une animation constante, ce qui peut conduire à une exécution rapide.

Pour résoudre ce problème, le code révisé remplace while True: par une fonction événementielle screen.ontimer(). Cette fonction programme un événement récurrent, avec un délai configurable (en millisecondes), qui rafraîchit l'écran et fait avancer l'animation.

Voici le code mis à jour :

<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>
Copier après la connexion

En ajustant le deuxième argument (en millisecondes) à ontimer(), vous pouvez modifier la vitesse de l'animation. Des valeurs inférieures entraînent des animations plus lentes, tandis que des valeurs plus élevées entraînent des animations plus rapides.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal