首页 > 解决方案 > Pygame,无法让我的表面显示在显示器上

问题描述

import pygame
import pygame, sys

pygame.init()
screen = pygame.display.set_mode((576,1024))
clock = pygame.time.Clock()

bg_surface = pygame.image.load('background-day.png')

while True:
    for event in pygame.event.get():
       if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

screen.blit(bg_surface (0,0))


pygame.display.update()
clock.tick(120)

运行代码时只显示黑屏,我看不到我的表面。

它表明问题在于该screen.blit行下的“此代码无法访问”

如果有人知道如何解决这个问题,那真的会有所帮助,谢谢

标签: pygamepygame-surface

解决方案


screen.blit行及其下方的行当前不包含在while True:. 您需要将这些行缩进一次以将它们放置在循环体中。

该代码在循环之外是“无法访问的”,因为您的代码无限循环(while True)并在找到事件时退出pygame.QUIT,因此永远不会执行循环体之外的代码。


推荐阅读