是否有一个pygame函数将所有符号引用为一个unicode事件?

时间:2019-06-09 20:03:20

标签: python pygame

我正在制作一个在pygame窗口中涉及用户输入的游戏。用户需要输入该内容才能输入用户名或昵称。我注意到网络上的某些游戏允许数字输入,所以我使用了...

event.unicode.isnumeric():
    name += event.unicode

来处理它们。 就字母字母而言,有...

event.unicode.isalpha():
    name += event.unicode

在这两个示例中,我都知道它们可以用K_1K_a表示,但是我相信if语句将太长。

问题是,是否有一种方法可以使用所有符号/?._,而又不会使if语句过长?

我尝试猜测event.unicode.issymbol()event.unicode.issymbolic()event.unicode.symbol(),但是它们不起作用。

我也尝试查看pygame.key上的pygame文档,但这也无济于事。

name = "" ## stating a variable and assigning to ""
while True:
    for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.unicode.isalpha(): ## if alphabetical letter, a-z
                name += event.unicode ## add letter to name
            elif event.key == K_BACKSPACE: ## if backspace
                name = name[:-1] ## remove last value in name
            elif event.key == K_SPACE: ## if space
                name += event.unicode ## add space
            elif event.unicode.isnumeric(): ## if numerical value, 0-9
                name += event.unicode ## add number to name

elif event.unicode.symbol(): ## if adding
    name += event.unicode

显示此:

elif event.unicode.symbol():
AttributeError: 'str' object has no attribute 'symbol'

issymbolicissymbol也会发生

我希望它适用于所有符号值,例如“。”,“ /”,“ _”,“-”,“(”,“)”,“ +”等。

0 个答案:

没有答案