0
因此,我正在製作一款遊戲來測試我的編程技巧,我試圖使用pygame,但是當我嘗試加載一個關卡貼圖時,它已經退出了表面。我不知道爲什麼。「pygame.error:display Surface」loading
這是負載的代碼:
def load(self):
print(os.listdir())
file = input('>>> file name = ')
try:
self.Dir = os.getcwd()
path = os.path.join(self.Dir, "maps", file)
data = pickle.load(open(path, 'rb'))
except OSError as error:
print('Not file ', path)
print(error)
else:
self.grid = data[0]
self.blocks = data[1]
預先感謝
編輯: 這是追溯
Traceback (most recent call last):
File "F:\PROGRAMS\snow\mapmaker_v2.py", line 169, in <module>
a.loop()
File "F:\PROGRAMS\snow\senpy.py", line 95, in loop
self.blocks.draw(self.screen)
File "F:\BMDSIT\Portable Python 3.2.5.1\App\lib\site-packages\pygame\sprite.py", line 475, in draw
self.spritedict[spr] = surface_blit(spr.image, spr.rect)
pygame.error: display Surface quit
編輯2: 這是循環碼,其中它發生:
(加載命令是在self.keyboard()函數。)
def loop(self):
print('looping')
for event in pygame.event.get():
if event.type == pygame.QUIT:
print('quiting :(')
pygame.display.quit()
quit('User quit')
self.screen.fill((237, 237, 237))
self.keys = pygame.key.get_pressed()
self.mos = pygame.mouse.get_pressed()
self.mouse()
self.keyboard()
#screen.blit(player,player.pos)
self.blocks.draw(self.screen)
self.extraLoop()
pygame.display.flip()
print('done looping')
你能否在你的問題中包含完整的回溯作爲編輯? – roganjosh
我懷疑你的錯誤發生在你的代碼中的其他地方。當您嘗試在關閉顯示器後繪製到屏幕上時,通常會使用pygame.quit()發生此錯誤消息。請發佈你的其他代碼。 – Chris
沒有看到更多的代碼,這將是很難弄清楚。根據這篇文章http://stackoverflow.com/questions/1997710/pygame-error-display-surface-quit-爲什麼這可能發生多種原因 – The4thIceman