首頁 >後端開發 >Python教學 >如何在Python中減慢你的海龜動畫:用'screen.ontimer()”替換'while True:”?

如何在Python中減慢你的海龜動畫:用'screen.ontimer()”替換'while True:”?

Patricia Arquette
Patricia Arquette原創
2024-10-29 13:18:02534瀏覽

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

如何在Python中控制Turtle動畫的速度

在Python的Turtle庫中,動畫的速度常常被認為太快。本文解決了這個問題,提供了修改後的程式碼片段,將動畫速度調整為更易於管理的速度。

提供的程式碼使用 tracer() 方法關閉自動螢幕更新,從而允許手動控制刷新速度。然而,它使用 while True: 循環來實現恆定動畫,這可以導致快速執行。

為了解決這個問題,修改後的程式碼將 while True: 替換為 screen.ontimer() 事件函數。此函數安排重複事件,具有可配置的延遲(以毫秒為單位),刷新螢幕並推進動畫。

這是更新的程式碼:

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

透過調整第二個參數(以毫秒為單位)到ontimer(),可以修改動畫的速度。較低的值會導致較慢的動畫,而較高的值會導致較快的動畫。

以上是如何在Python中減慢你的海龜動畫:用'screen.ontimer()”替換'while True:”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn