專業人士經常會遇到海龜動畫執行速度不理想的情況。雖然 tracer() 方法並在其中嘗試各種數字可能看起來不夠,但一個簡單而有效的解決方案就在別處。
要使用 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