问题描述
我在这个 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
。