pygame灰屏,不加载任何视觉效果

时间:2018-11-23 17:19:39

标签: python python-3.x python-2.7 pygame

我刚刚开始使用pygame,我运行的所有示例代码(入门)都让我空白了。包括播放声音但仅显示灰色空白屏幕的空间入侵者示例,如下所示。 grey blank screen

我的终端没有任何错误,我已经尝试使用python3和python2.7了。我也尝试了许多不同的脚本,但是仍然出现灰色空白屏幕。以下是我尝试运行的示例脚本。任何帮助将是巨大的,谢谢。

import pygame
from pygame.locals import *

yellow = (255,255,0) # RGB color tuple

# initialize screen
pygame.init()
screen = pygame.display.set_mode((350, 250))
pygame.display.set_caption('Basic Pygame program')

# fill background
background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill(yellow)

# display some text
font = pygame.font.Font(None, 36)
text = font.render("Hello from Monty PyGame", 1, (10, 10, 10))
textpos = text.get_rect()
textpos.centerx = background.get_rect().centerx
background.blit(text, textpos)

# blit everything to the screen
screen.blit(background, (0, 0))
pygame.display.flip()

# event loop
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            raise SystemExit
        screen.blit(background, (0, 0))
        pygame.display.flip()

1 个答案:

答案 0 :(得分:0)

这是Indentation的问题。您必须在应用程序循环而不是事件循环中绘制背景并更新显示:

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            raise SystemExit
    
    # INDENTATION
     
    #<--|
    screen.blit(background, (0, 0))
    pygame.display.flip()