Pygame:pygame.time.Clock 或 time.sleep

问题描述

在这个 Pygame 项目中有一个合作伙伴。所以它是为了好玩,它是 Snake。 他说使用 time.sleep 而不是 pygame.clock 因为它“更好”。他的选择更好,还是我的更好?

解决方法

使用 pygame.time.Clock 控制每秒帧数,从而控制游戏速度。

tick() 对象的方法 pygame.time.Clock 以这种方式延迟游戏,即循环的每次迭代消耗相同的时间段。见pygame.time.Clock.tick()

这个方法应该每帧调用一次。

这意味着循环:

clock = pygame.time.Clock()
run = True
while run:
   clock.tick(60)

每秒运行 60 次。

为了比较,time.sleep 只是等待固定的时间。如果您想获得恒定的帧速率,则需要使用 pygame.time.Clock.tick