我正在搜索一个方法,程序停止并等待用户按下特定键。我可以用while循环来实现这个吗?如果存在等待的内置函数,我需要最好的算法,以避免循环。我找到了关于official website of pygame的几个信息,但没有任何帮助。
这是一个测试算法,但不起作用:
key = "f"
while key != "K_f":
key = pygame.key.get_pressed()
if key[Keys.K_f]:
do something...
您可以使用while循环和事件队列来执行此操作:
from pygame.locals import *
def wait():
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN and event.key == K_f:
return
如果您正在等待按下某个键,则可以使用event.wait()函数。这很有用,因为它不需要大量处理。
import pygame
from pygame.locals import *
pygame.event.clear()
while True:
event = pygame.event.wait()
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == KEYDOWN:
if event.key = K_f:
do something...
请注意,event.wait()等待事件出现在事件高速缓存中,应首先清除事件高速缓存。