Python Pygame按住键

Python Pygame按住键,python,Python,我想和一个每当有新闻空间时就张嘴的家伙一起做一个有趣的节目。问题是他只打开了0.1秒,然后又关闭了。我想让我的嘴在任何时候都张开 代码: 问题似乎在这里: while programRunning: for event in pygame.event.get(): if event.type == pygame.QUIT: programRunning = False if event.type == pygame.KEYDOWN:

我想和一个每当有新闻空间时就张嘴的家伙一起做一个有趣的节目。问题是他只打开了0.1秒,然后又关闭了。我想让我的嘴在任何时候都张开

代码:


问题似乎在这里:

while programRunning:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            programRunning = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                faceOpen(faceOpen_x,faceOpen_y)
                pygame.display.update()
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_SPACE:
                face(face_x,face_y)
                pygame.display.update()

    #  Here, always drawn closed at the end of the while
    face(face_x,face_y)
    pygame.display.update()
    clock.tick(60)
无论在while中设置了什么,都将在结束时将面重新绘制为闭合

这个怎么样

# Drawn before the loop starts
face(face_x,face_y)
pygame.display.update()

while programRunning:
    for event in pygame.event.get():
        event_occurred = True
        if event.type == pygame.QUIT:
            programRunning = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                faceOpen(faceOpen_x,faceOpen_y)
                pygame.display.update()
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_SPACE:
                face(face_x,face_y)
                pygame.display.update()

    clock.tick(60)

for
循环之后,您似乎有相同的代码来“关闭”它的嘴(
面(面x,面y)
),但在任何if语句之外。你是有意这么做的吗?换句话说,如果这是从第1行开始的精确代码,请注释第40行。
# Drawn before the loop starts
face(face_x,face_y)
pygame.display.update()

while programRunning:
    for event in pygame.event.get():
        event_occurred = True
        if event.type == pygame.QUIT:
            programRunning = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                faceOpen(faceOpen_x,faceOpen_y)
                pygame.display.update()
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_SPACE:
                face(face_x,face_y)
                pygame.display.update()

    clock.tick(60)