我是初学程序员并且第一次使用pygame - 我在屏幕更新时遇到了奇怪的行为。
我的示例代码只是在屏幕上显示一个计数,从0开始每次迭代一次。我想让它在" 10暂停2秒。"相反,它暂停在" 9" (或在你设置数字之前的框架)。 " 10"在这种情况下,当它以全速继续时,将显示(暂停后)。
为什么暂停一个"框架"早? 屏幕显示更新后,暂停if语句只是 - 我错过了某些内容......
#!/usr/bin/python
import pygame
pygame.init()
number = 0
color = (255, 255, 255)
done = False
pygame.mouse.set_visible(False)
info = pygame.display.Info()
screen = pygame.display.set_mode((info.current_w, info.current_h), pygame.FULLSCREEN)
screen_rect = screen.get_rect()
font = pygame.font.SysFont('ffmetapro', 96)
while not done:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
done = True
text = str(number)
pygSurface = font.render(text, True, color)
screen.fill((0, 0, 0))
screen.blit(pygSurface, pygSurface.get_rect(center=screen_rect.center))
pygame.display.flip()
if number == 10:
pygame.time.delay(2000)
number = number +1
pygame.quit()
sys.exit()