pygame没有正确更新屏幕?

时间:2017-08-10 00:28:27

标签: python pygame display

我是初学程序员并且第一次使用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()

0 个答案:

没有答案