pygame将按键作为字符串按下

2024-06-16 09:28:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据用户按下的键更改控件屏幕中的文本。 如何将pygame.event.get()转换为显示已按下哪个键的字符串

最好不要太多的口香糖

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:
        slectedKey = # get key name as a string
        print(slectedKey)

Tags: 字符串用户in文本eventforgetif
1条回答
网友
1楼 · 发布于 2024-06-16 09:28:37

按下按钮的代码可以通过event.key属性获取。 键的unicode表示形式可以通过event.unicode属性获得。 见^{}模块

可以通过pygame.key.name()获得密钥的非搜索友好名称:

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:

        print(pygame.key.name(event.key))

注意,如果要计算是否按下某个键,请将event.key^{}模块中定义的常量进行比较:

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_LEFT:
            # [...]
        elif event.key == pygame.K_RIGHT:
            # [...]

或者将密钥存储在变量中,并在应用程序循环中持续使用它:

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:
        slectedKey = event.key

if slectedKey == pygame.K_UP:
    # [...]
elif slectedKey == pygame.K_DOWN:
    # [...]

如果要计算键是否按下,请使用^{}

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        run = False

keys = pygame.key.get_pressed()
if keys[pygame.K_SPACE]:
    # [...]
elif keys[pygame.K_a]:
    # [...]

相关问题 更多 >