我在python中加载一个我认为合适但仍然无法显示的图像。我不知道图像是太大还是什么。
import pygame
import math
pygame.display.init()
window = pygame.display.set_mode((600, 500))
mapImg = pygame.image.load("mapoftheusa.bmp")
done = False
while not done:
window.fill((0,0,0))
evtList = pygame.event.get()
for evt in evtList:
if evt.type == pygame.QUIT:
done = True
window.blit(mapImg, (0,0)) #<<will not blit
pygame.quit()
答案 0 :(得分:2)
您忘记在pygame.display.update()
之后立即拨打window.blit(mapImg, (0,0))
。
因此,您的完整代码应为:
import pygame
import math
pygame.display.init()
window = pygame.display.set_mode((600, 500))
mapImg = pygame.image.load("mapoftheusa.bmp")
done = False
while not done:
window.fill((0,0,0))
evtList = pygame.event.get()
for evt in evtList:
if evt.type == pygame.QUIT:
done = True
window.blit(mapImg, (0,0)) #<<will not blit
pygame.display.update() # solution: you forgot this...
pygame.quit()
pygame.display.update()
使用您的绘图更新窗口(屏幕)。如果你不打电话,你根本看不到任何东西。 pygame.display.flip()
也可以,但是在使用双缓冲或硬件表面时应该使用它。
另外,我认为最好通过调用pygame.init()
初始化pygame,因为这将初始化其所有模块,包括显示。