有没有精通pygame的今天遇到IDLE中的退出问题
1个回答
展开全部
来我给你 详细分析一下错误的发生原因和 解决办法...
导致 display Surface quit 发生的问题如下代码:
import sys, pygame
import pdb
pygame.init()
pdb.set_trace()
screen = pygame.display.set_mode((640,480))
while 1:
event = pygame.event.poll()
if event.type == pygame.QUIT:
pygame.quit()
screen.fill((0,0,0))
pygame.display.update()
这段代码非常好理解 就是一个空白窗口 但是关闭之后会显示 display Surface quit!
问题在哪里呢? 咱们来debug 一下
import pdb
然后在pygame.quit()后面设置断点
pdb.set_trace()
运行之后 关闭窗口 你会发现 断点居然还在执行! 这就说明了 pygame.quit()并没有实际退出程序
但是他已经销毁了screen 此时在fill的时候就产生了 error
所以解决办法就是在 pygame.quit() 后面加个 break就完了.......
导致 display Surface quit 发生的问题如下代码:
import sys, pygame
import pdb
pygame.init()
pdb.set_trace()
screen = pygame.display.set_mode((640,480))
while 1:
event = pygame.event.poll()
if event.type == pygame.QUIT:
pygame.quit()
screen.fill((0,0,0))
pygame.display.update()
这段代码非常好理解 就是一个空白窗口 但是关闭之后会显示 display Surface quit!
问题在哪里呢? 咱们来debug 一下
import pdb
然后在pygame.quit()后面设置断点
pdb.set_trace()
运行之后 关闭窗口 你会发现 断点居然还在执行! 这就说明了 pygame.quit()并没有实际退出程序
但是他已经销毁了screen 此时在fill的时候就产生了 error
所以解决办法就是在 pygame.quit() 后面加个 break就完了.......
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询