pygame 将按键作为字符串按下 [英] pygame get key pressed as a string

查看:61
本文介绍了pygame 将按键作为字符串按下的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to change the text in the controls screen based on the key which the user presses. how do I convert pygame.event.get() into a string that shows which key has been pressed?

最好没有很多 if 语句

preferably without many if staments

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

推荐答案

被按下的代码可以通过 event.key 属性获取.键的 unicode 表示可以通过 event.unicode 属性获得.请参阅 pygame.event 模块.

The code of the pressed can be get by the event.key attribute. The unicode representation for the key can be get by the event.unicode attribute. See pygame.event module.

可以通过 pygame.key.name() 获取密钥的 unser 友好名称:

A unser friendly name of a key can be get by pygame.key.name():

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

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

<小时>

注意,如果您想评估某个键是否被按下,请将 event.keypygame.key 模块:


Note, if you want to evaluate if a certain key is pressed, the compare event.key to the constants defined in the pygame.key module:

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

或者将密钥存储在一个变量中并在应用程序循环中连续使用:

Or store the key in a variable and use it continuously in the application loop:

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

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

<小时>

如果要评估某个键是否被按住,请使用 pygame.key.get_pressed():

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]:
    # [...]

这篇关于pygame 将按键作为字符串按下的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆