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()人(在时间上)彼此距离相等。

Clock = pygame.clock然后Clock.tick(UPS*FPU)不起作用,因为更新发生的次数与 draw * FPU 一样多。

我应该在时钟内使用时钟吗?那行得通吗?(我试过了,但我不确定结果——它是否适用于所有极端情况。)

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

或者也许只是在时钟内?那行得通吗?

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

pygame.Clock我正在考虑使用tick.tick_busy_loop()但这是实验的问题 - 与这个问题无关。

如果您愿意,可以查看我将在哪个项目中使用它。(特别是那里)。

4

0 回答 0