pygame窗口无法关闭了。。。
如下图所示:点击右上角的关闭,窗口无响应。
问题:
1、该问么解决?
2、代码如下,问题出在哪里?
myscreen = pygame.display.set_mode((400,300))
pygame.display.set_caption("利用键盘控制动画鸟")
myimg = pygame.image.load("bird2.png")
mypos = myimg.get_rect()
speed =
i = 1
change = 1
mytf = False
direct = "R"
while True:
if direct == "R":
myimg2 = myimg
else:
myimg2 = pygame.transform.flip(myimg,True,False)
i = i+1
if i%20 == 0:
mytf = True
else:
mytf = False
if mytf:
if change == 1:
myimg = pygame.image.load("bird1.png")
change = 2
else:
myimg = pygame.image.load("bird2.png")
change = 1
for event in pygame.event.get():
if event == pygame.QUIT:
exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
speed = [-2,0]
direct = "L"
if event.key == pygame.K_RIGHT:
direct = "R"
speed =
if event.key == pygame.K_UP:
speed =
if event.key == pygame.K_DOWN:
speed =
if event.type == pygame.KEYUP:
speed =
myscreen.fill((255,255,255))
myscreen.blit(myimg,mypos)
mypos = mypos.move(speed)
pygame.display.update()
pygame.time.Clock().tick(50) 本帖最后由 Twilight6 于 2020-5-20 09:03 编辑
试试最后代码加上
pygame.quit()
sys.exit()
或者在 while True 循环语句中加上试试:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit() 如果你是使用IDLE运行的,关闭IDLE的运行窗口 “while True:”死循环。
必须要获取窗体事件结束循环退出程序。
pygame.event.get().type == pygame.QUIT 一开始加一个import sys
退出代码那里改一下:
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
有的时候退出我也会卡,但一般没事的
页:
[1]