Python &引用;pygame.error:显示表面退出“;装载时
所以我制作了一个游戏来测试我的编程技能,我尝试使用pygame,但当我尝试加载一个关卡地图时,它显示表面已经退出。我不知道为什么 这是加载代码:Python &引用;pygame.error:显示表面退出“;装载时,python,pygame,Python,Pygame,所以我制作了一个游戏来测试我的编程技能,我尝试使用pygame,但当我尝试加载一个关卡地图时,它显示表面已经退出。我不知道为什么 这是加载代码: def load(self): print(os.listdir()) file = input('>>> file name = ') try: self.Dir = os.getcwd() path = os.path.join(self.Dir, "maps", file)
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
不能对
曲面
对象进行酸洗
如果要对包含
曲面的对象进行pickle,请在将其保存到磁盘之前将其删除;并将图像文件的名称或曲面的字符串表示形式存储在对象中。能否在问题中包含完整的回溯作为编辑?我怀疑您的错误发生在代码的其他地方。当您试图在显示器关闭后绘制到屏幕时,通常使用pygame.quit()会出现此错误消息。请发布其余代码。如果看不到更多代码,则很难理解。根据这篇文章,可能发生这种情况的原因有多种。问题是我没有调用pygame.quit()或任何其他quit()函数,而这只发生在我运行加载代码之后
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')