PyGame: pygame.image.load () ничего не показывает - PullRequest
0 голосов
/ 05 февраля 2012

Я делаю задание с 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()

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

Поскольку вы сказали в комментарии, что не имеете представления о программировании, вы, вероятно, не знаете, что отступы важны в 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

1 голос
/ 05 февраля 2012

Ваш отступ испорчен.

Вы начинаете рисовать только после , когда приложение закончено.Попробуйте вставить код рисования в ваш основной цикл.

...