之前按下另一个键后启用键
Key enable after another key was pressed before
我正在努力使按下 'r' 键仅在用户之前任何时候按下 'enter' 后才起作用。但是现在在#1 中,如果我按住 'enter' 键,我只能按 'r' 键。我在 #2 中尝试过,但用户可以只按 'r' 而无需按 'enter'。
#1
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN] or [pygame.K_KP_ENTER]:
print("Do something")
if keys[pygame.K_r]:
print("Do something")
pygame.display.update()
pygame.quit()
#2
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN] or [pygame.K_KP_ENTER]:
print("Do something")
if keys[pygame.K_r]:
print("Do something")
pygame.display.update()
pygame.quit()
这很容易做到。
首先,您需要创建一个新的 bool,例如 pressed
。然后将其设置为False
。然后检查是否按下了回车键。如果是,则将 bool pressed
设置为 True
。然后检查键 r 是否被按下以及 bool pressed
是否为 True
。
所以你的代码应该是这样的:
pressed = False
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN]:
pressed = True
if keys[pygame.K_r] and pressed:
print("Do something")
pygame.display.update()
希望对您有所帮助!
我正在努力使按下 'r' 键仅在用户之前任何时候按下 'enter' 后才起作用。但是现在在#1 中,如果我按住 'enter' 键,我只能按 'r' 键。我在 #2 中尝试过,但用户可以只按 'r' 而无需按 'enter'。
#1
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN] or [pygame.K_KP_ENTER]:
print("Do something")
if keys[pygame.K_r]:
print("Do something")
pygame.display.update()
pygame.quit()
#2
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN] or [pygame.K_KP_ENTER]:
print("Do something")
if keys[pygame.K_r]:
print("Do something")
pygame.display.update()
pygame.quit()
这很容易做到。
首先,您需要创建一个新的 bool,例如 pressed
。然后将其设置为False
。然后检查是否按下了回车键。如果是,则将 bool pressed
设置为 True
。然后检查键 r 是否被按下以及 bool pressed
是否为 True
。
所以你的代码应该是这样的:
pressed = False
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN]:
pressed = True
if keys[pygame.K_r] and pressed:
print("Do something")
pygame.display.update()
希望对您有所帮助!