Профессионалы часто сталкиваются с ситуациями, когда их анимация Turtle выполняется с нежелательной скоростью. Хотя метод трассировки() и эксперименты с различными числами внутри него могут показаться недостаточными, простое, но эффективное решение находится в другом месте.
Чтобы добиться нормальной скорости анимации с помощью Turtle, крайне важно не полагаться на while True: или Sleep() создает в среде, управляемой событиями. Эти методы не оптимальны для черепах. Вместо этого использование события таймера 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()
Используя метод ontimer(), вы получаете точный контроль над скоростью анимации с помощью второго аргумента, который представляет временной интервал в миллисекундах между каждым кадром анимации. Настройка этого значения позволяет точно настроить скорость до желаемого уровня, обеспечивая плавную и визуально привлекательную анимацию.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3