【发布时间】:2020-09-05 21:20:59
【问题描述】:
我有一些 pygame 窗口的代码:
while True:
try:
gameDisplay.fill(white)
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
except Exception:
pass
a=button("Enter",100,150,100,50,darkgreen,green,"play")
button("Exit",450,150,100,50,darkred,red,"quit")
for event in pygame.event.get() :
if event.type == pygame.QUIT :
pygame.quit()
pygame.display.update()
#if a == False:
#pygame.quit()
它显示了 2 个可以单击的按钮(由按钮功能创建)。单击绿色按钮时,会出现一个 tkinter 输入框。在用户输入必要的东西并确认输入有效后,函数返回状态(如果错误的用户正确输入了详细信息)。发生这种情况后,我想更改窗口显示的内容并显示完全不同的内容。 “a”(状态)的最初目的是在验证输入后关闭窗口并打开一个新窗口,但是经过研究我发现你不能在同一个脚本中打开两个窗口。
我试过这个:
if a == False:
gameDisplay.fill(white)
gameDisplay.blit(image1, (50, 0))
gameDisplay.blit(image2, (50, 100))
gameDisplay.blit(image3, (50, 200))
gameDisplay.blit(image4, (50, 300))
gameDisplay.blit(image5, (120, 100))
gameDisplay.blit(image6, (120, 200))
gameDisplay.blit(image7, (130, 260))
gameDisplay.blit(image8, (130, 290))
gameDisplay.blit(image9, (130, 320))
gameDisplay.blit(text, (0,0))
gameDisplay.blit(text2, (200,385))
gameDisplay.blit(text3, (200,369))
gameDisplay.blit(text4, (300,25))
gameDisplay.blit(text5, (300,100))
gameDisplay.blit(image16, (300, 45))
gameDisplay.blit(image17, (350, 45))
gameDisplay.blit(text6, (300, 170))
gameDisplay.blit(image10, (300, 120))
gameDisplay.blit(image11, (350, 120))
gameDisplay.blit(image12, (400, 120))
gameDisplay.blit(image13, (450, 120))
gameDisplay.blit(image14, (500, 120))
gameDisplay.blit(image15, (550, 120))
gameDisplay.blit(image19, (300, 190))
gameDisplay.blit(image20, (350, 190))
pygame.display.update()
并将其放在第二个按钮功能之后但不起作用。有什么想法吗?
【问题讨论】:
-
程序的缩进格式不正确。看起来您在主循环的每次迭代中都重新创建了按钮,这也可能是不正确的。
-
@RufusVS 这正是我粘贴代码的方式。我现在修好了