ホームページ >バックエンド開発 >Python チュートリアル >Python でカメのアニメーションを遅くする方法: `while True:` を `screen.ontimer()` に置き換えますか?
Python でタートル アニメーションの速度を制御する方法
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>
2 番目の引数を調整することにより、 (ミリ秒単位) ontimer() を使用すると、アニメーションの速度を変更できます。値を小さくするとアニメーションが遅くなり、値を大きくするとアニメーションが速くなります。
以上がPython でカメのアニメーションを遅くする方法: `while True:` を `screen.ontimer()` に置き換えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。