我正在搜索一个方法,程序停止并等待用户按下特定键。我可以用while循环来实现这个吗?如果存在等待的内置函数,我需要最好的算法,以避免循环。 我在official website of pygame上找到了一些信息,但没有任何帮助。
以下是测试算法,但不起作用:
key = "f"
while key != "K_f":
key = pygame.key.get_pressed()
if key[Keys.K_f]:
do something...
答案 0 :(得分:3)
您可以使用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
答案 1 :(得分:2)
如果您正在等待按下某个键,则可以使用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()等待事件出现在事件缓存中,应首先清除事件缓存。