如何通过文本输入退出pygame?

时间:2018-07-09 19:20:26

标签: python-2.7 pygame

我正在尝试使用pygame制作屏幕保护程序。我希望它从键盘上获取输入,如果给出正确的输入,请退出。这就是我现在所拥有的:

import pygame
from pygame.locals import *

pygame.init()
WIDTH = 1366
HEIGHT = 768
windowSurface = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
img = pygame.image.load("bilde.jpeg")
running = True
name = ""
while running:
    events = pygame.event.get()
    for evt in pygame.event.get():
        if evt.type == pygame.KEYDOWN:
            if evt.unicode.isalpha():
                name += evt.unicode
            elif evt.key == K_BACKSPACE:
                name = name[:-1]
            elif evt.key == K_RETURN:
                name = ""
            elif evt.key == K_ESCAPE:
                running = False
    if name == "abc":
        running = False

在这种情况下,如果要按abc,我希望它退出,但是什么也没有发生。 (我添加了“ K_ESCAPE”事件,以便可以在测试时退出。谢谢!

1 个答案:

答案 0 :(得分:1)

您每帧调用pygame.event.get()不得超过一次,否则会错过一些事件,因为此函数将清空事件队列。只需删除events = pygame.event.get()行,它就可以正常工作。