Pygame でのボールの移動
Pygame では、オブジェクトを移動しようとするとき、ディスプレイをクリアして包括的なアプローチをとることが重要です各フレームに pygame.Surface.fill を使用します。これにより、オブジェクトの以前の状態が確実に消去され、画面上でスムーズに移動できるようになります。
コードを詳しく調べると、このステップがアニメーション ループに組み込まれていないことがわかります。これを修正するには、ループ内の各反復の先頭に screen.fill(0) を挿入するだけです。
while True: # [...] screen.fill(0) # <--- main.draw_elements() main.move_ball() main.ball.x_pos += main.ball.speed pygame.display.flip() # [...]
この変更を実装すると、ボールの動きが跡を残さず、次のことが可能になります。スムーズに動きます。 Pygame では、各フレームでシーン全体が再描画されるため、各フレームの開始時に表示をクリアするのです。 Pygame の一般的なアプリケーション ループには、次のものが含まれます。
以上がPygame ボールに跡が残るのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。