0

我正在用pyGame做一个赋值,一个非常简单的,我们必须在一个窗口中加载一个图像,但是它没有加载!并且 IDLE 没有显示任何错误..我尝试了图像的相对路径 (room.png) 和绝对路径 (C:...\room.png),但什么也没有。这是我的代码。

import pygame, sys      #import pygame and system library
from pygame import *    #import all pygame sublibs

pygame.init()
screen = display.set_mode((385,384))    #set screen size
display.set_caption("Blit example")
                        #this one gets the current working directory
background_file_name = "room.png"           #import bg
background_surface = pygame.image.load(background_file_name)    #use bg

while True:
        for e in pygame.event.get():
                if e.type==QUIT:        #break the loop and quit
                        pygame.quit()
                        sys.exit()
                        break


screen.fill((255,0,255))            #fill the screen with magenta
screen.blit(background_surface, (0,0))
display.update()
4

2 回答 2

1

你的缩进搞砸了。

您只有在应用程序结束后才开始绘图。尝试将绘图代码放入主循环。

于 2012-02-05T11:46:26.033 回答
1

由于您在评论中说您对编程一无所知,因此您可能不知道缩进在 python 中很重要。您的 while 循环连续运行,等待退出信号。但是只有在那之后才进行显示...

while True:
    for e in pygame.event.get():
            if e.type==QUIT:        #break the loop and quit
                    pygame.quit()
                    sys.exit()
                    break


    screen.fill((255,0,255))            #fill the screen with magenta
    screen.blit(background_surface, (0,0))
    display.update()

现在显示代码在 while 循环内

于 2012-02-06T20:02:14.477 回答