【发布时间】:2017-03-19 20:35:59
【问题描述】:
我制作了一个菜单屏幕,点击一个按钮会在同一个窗口中打开一个不同的屏幕。
def main():
import pygame, random, time
pygame.init()
size=[800, 600]
screen=pygame.display.set_mode(size)
pygame.display.set_caption("Game")
done=False
clock=pygame.time.Clock()
while done==False:
for event in pygame.event.get():
pos = pygame.mouse.get_pos()
if event.type == pygame.QUIT:
done=True
break
if button_VIEW.collidepoint(pos):
if event.type == pygame.MOUSEBUTTONDOWN:
print("VIEW.")
view()
break
screen.fill(black)
...
def view():
done=False
clock=pygame.time.Clock()
while done==False:
for event in pygame.event.get():
pos = pygame.mouse.get_pos()
if event.type == pygame.QUIT:
done=True
break
...
如果可能,我想知道如何避免该错误:
screen.fill(black)
error: display Surface quit
>>>
在这里查看其他问题后,我尝试在任何循环的出口处添加breaks,但仍然出现错误。
我了解问题是程序在窗口关闭后尝试执行screen.fill(black),但我对如何防止错误没有进一步的想法。
感谢您的帮助。对不起,如果它看起来很简单。
【问题讨论】:
-
请发布minimal, complete and verifiable example 仍然会产生错误以及完整的回溯(错误消息)。
-
@skrx 道歉。我知道我可能可以将代码再压缩一点,但是上面的代码已经从原始代码中删减了很多。
-
问题是我们无法运行程序,也看不到实际的错误发生在哪里。
标签: python-2.7 pygame