1

私のコードは単純化されました:

Clock.tick(UPS): #updates per second
    game.update()
    for frame in range(FPU) #frames per update
        game.draw(frame)

それがすべきことは、UPS 値に等しい数の更新が毎秒存在することです。各更新後、描画されるフレーム数は FPU と等しくなります。FPS が UPS*FPU であることを意味します。

私の質問は、それをスムーズで流暢に設定する方法です。滑らかさは、この質問の重要な質問です。

私は、それぞれが互いにgame.draw()(時間的に)等しく離れている必要があります。

draw * FPUの回数だけ更新が行われるため、動作しませんClock = pygame.clockClock.tick(UPS*FPU)

クロック内のクロックを使用する必要がありますか? それはうまくいくでしょうか?(試してみましたが、結果についてはわかりません-すべての極端な場合に機能するかどうか。)

Clock1.tick(UPS):
    game.update()
    Clock2.tick(FPU):
        game.draw(frame)

それとも時計の内側だけですか?それはうまくいくでしょうか?

game.update()
Clock.tick(UPS*FPU)
    game.draw()

tick.tick_busy_loop()の使用を検討しているpygame.Clockがありますが、それは実験の問題であり、この質問の問題ではありません。

必要に応じて、どのプロジェクトでこれを使用するかを確認できます。(特にそこに)。

4

0 に答える 0