私は大学のコース用にPythonテトリスクローンをプログラミングしています。落下するブロックのルートを変えようとしない限り、それは魅力のように機能します。それらを高速化するか、ブロックを左または右に移動すると、下のスクリーンショットに示すアーティファクトが表示されます。
コードは、ブロックのすべての動きで同じです。
runningBlock.update()
runningBlock.draw(field)
screen.blit(field, (20, 20))
pygame.display.flip()
一方、update()メソッドは、移動するオブジェクトの中心を新しい位置に設定するだけです。画面はスクリーンショットの灰色の領域であり、フィールドは灰色の画面の上にある白い遊び場です。何か考え、私がここに欠けているものは何ですか?
ところで、フレームレートは30に設定されていますが、問題ないはずですよね?