更新循环内的绘制循环(每秒)

时间:2017-09-11 11:01:33

标签: python pygame nested-loops pygame-clock pygame-tick

我的代码简化了:

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(),但这是实验问题 - 与此问题无关。

如果你愿意,我可以check out在哪个项目中使用它。 (具体是there关于第572行)。

0 个答案:

没有答案