我似乎无法在按下“关闭”按钮时关闭游戏窗口

时间:2020-09-08 20:34:26

标签: python pygame

我是pygame的新手,对此很感兴趣。

我遵循了YouTube上的一个教程,只是获得了一个窗口设置和对象,该对象可以在键盘按下时移动,但是我在关闭窗口按钮上关闭程序的代码不起作用。

import sys, pygame
pygame.init()

win = pygame.display.set_mode((800,800))

pygame.display.set_caption("Simple Shooter")

x = 400
y = 400
width = 20
height = width
vel = 1

run = True

while run == True:
    pygame.time.delay(10)

    for event in pygame.event.get():
        if event == pygame.QUIT:
            run = False
            sys.exit()
            pygame.quit()

    keys = pygame.key.get_pressed()

    if keys[pygame.K_w] and y > vel:
        y -= vel
        
    if keys[pygame.K_s] and y < 800 - height - vel:
        y += vel
        
    if keys[pygame.K_a] and x > vel:
        x -= vel
        
    if keys[pygame.K_d] and x < 800 - width:
        x += vel
        
    win.fill((0,0,0))
    pygame.draw.rect(win, (255,0,0), (x,y,width,height))
    pygame.display.flip()

我正在使用pygame 1.9.6版。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:2)

您必须将pygame.event.Event对象的type属性与类型常量而不是对象本身进行比较:

if event == pygame.QUIT:

if event.type == pygame.QUIT: