"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como otimizar a velocidade da animação da tartaruga em Python: Por que ontimer() supera enquanto True e Sleep()?

Como otimizar a velocidade da animação da tartaruga em Python: Por que ontimer() supera enquanto True e Sleep()?

Publicado em 23/12/2024
Navegar:759

How to Optimize Turtle Animation Speed in Python:  Why ontimer() Trumps while True and Sleep()?

Otimização de desempenho de animação de tartaruga em Python

Profissionais geralmente encontram situações em que suas animações de tartaruga são executadas em uma velocidade indesejável. Embora o método tracer() e experimentar vários números nele possam parecer insuficientes, uma solução simples, mas eficaz, está em outro lugar.

Para atingir uma velocidade normal de animação usando Turtle, é crucial evitar depender de while True: ou sleep() é construído em um ambiente orientado a eventos. Estas técnicas não são ideais para tartarugas. Em vez disso, utilizar um evento de temporizador Turtle pode fornecer uma abordagem mais eficiente.

O código a seguir demonstra como implementar uma animação de moinho de vento baseada em temporizador:

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()

Ao utilizar o método ontimer(), você tem controle preciso sobre a velocidade da animação por meio do segundo argumento, que representa o intervalo de tempo em milissegundos entre cada quadro de animação. Ajustar esse valor permite ajustar a velocidade para o nível desejado, fornecendo uma animação suave e visualmente atraente.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3