gpt4 book ai didi

python - 在 Pygame 中获取键盘输入的更简单方法?

转载 作者:行者123 更新时间:2023-12-01 05:00:04 25 4
gpt4 key购买 nike

是否有比指定每个单独的键更简单的方法来在 Pygame 中获取键盘输入?例如,

if event.key == pygame.K_a:
command = command + "a"
elif event.key == pygame.K_b:
command = command + "b"
elif event.key == pygame.K_c:
command = command + "c"

有什么方法可以使用函数来为我执行此操作吗?

最佳答案

如果每个键都需要完全不同的操作,那么确实没有更好的方法了。如果多个键导致类似的操作,例如单个函数 f 可以将键作为参数,您可以使用 in 表达式,如下所示:

if event.key in (pygame.K_a, pygame.K_b, pygame.K_c):
f(event.key)

如果左侧的内容包含在右侧的内容中,则 in 表达式的计算结果为 True。因此,使用该代码,如果按下的键是“a”、“b”或“c”,则将使用该键作为参数来调用函数 f

作为一个实际示例,假设您希望使用“Esc”或“q”键退出程序。您可以通过以下方式实现:

if event.key in (pygame.K_ESCAPE, pygame.K_q):
pygame.quit()

上面的代码实际上与:

if event.key == pygame.K_ESCAPE:
pygame.quit()
elif event.key == pygame.K_q:
pygame.quit()

编辑

在注释中,command 是一个连接到的字符串。如果您想将按下的任何 a-z 键添加到命令,您可以这样做:

if event.key in range(pygame.K_a, pygame.K_z + 1):
command += event.unicode

关于python - 在 Pygame 中获取键盘输入的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26456817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com