私のコードは単純化されました:
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.clock
。Clock.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がありますが、それは実験の問題であり、この質問の問題ではありません。