envface1=pygame.image.load(p1)
envface2=pygame.image.load(p2)
envface1=pygame.transform.scale(envface1,(768,400))
envface2=pygame.transform.scale(envface2,(768,400))
start = timeit.default_timer()
window.blit(txt[0],(0,0))
window.blit(envface1,(0,400))
window.blit(envface2,(800,400))
pygame.display.flip()
display=False
while not display:
#delete the print will make it no responding
print
keys=pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
display=True
print "1"
if keys[pygame.K_RIGHT]:
display=True
print "2"
end=timeit.default_timer()
print end-start
pygame.quit()
对于这部分代码,我试图制作一些用户可以选择他们喜欢的图片并打印结果的东西。但是在while循环中,当我用" print"删除该行时只运行它,程序将关闭并使其无响应。为什么会这样?
答案 0 :(得分:1)
正如Cyber所解释的那样,当display
为假时,你有一个while循环。但是,由于您不会在循环内部修改display
,因此您有效地创建了无限循环。
您对程序无法响应的观察是由于无限循环中没有任何事情发生,除非按下某个键。