へたっぴpythonista

ド素人pythonistaとして、日々の学習成果や気づいたことについて書きます。

flip()とupdate()

前々回の最後に「display.flip() かdisplay.update()を使う」と書いていたのが、曖昧に思ったので調べてみました。

flip()はDisplay surface全体を更新するメソッドです。それ以前のコードによって画面上に変化があってもなくても、画面全体を完全に更新します。従って、変化が一部で起こっている場合には、更新の必要がない画像やアニメーションも同時に更新することになり、無駄です。

その無駄を解消するために存在するのがupdate()です。update()ではコードによって変化は加えられた部分だけをピンポイントで更新します。更新していない部分は再読み込みすることなくそのままなので、より速く、軽い描写が可能になるのですね。

 

初心者向けのサイトを見ると、全部flip()で良いとする人も見かけますが、あくまで初心者向け。後のことを考えて今から区別をつけておきます。

 

追記:7/9

update()は()に範囲を指定しないとflip()と全く変わらないようです。

図形の位置や大きさから計算した値のリスト等を()に入れて初めて意味のあるコマンドなんですね。知らなかった。