Есть ли функция Pygame, которая ссылается на все символы как одно событие Unicode? - PullRequest
2 голосов
/ 09 июня 2019

Я делаю игру, в которой участвуют пользователи из окна пигмея. Ввод необходим пользователю для ввода имени пользователя или псевдонима. Я заметил, что некоторые игры в Интернете допускают числовой ввод, поэтому я использовал ...

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

чтобы справиться с ними. В случае букв алфавита, есть ...

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

В обоих этих примерах я понимаю, что они могут быть представлены, например, в K_1, K_a, но я считаю, что утверждение if будет слишком длинным.

Вопрос в том, есть ли способ иметь функцию, которая использует все символы, /?._, не делая оператор if слишком длинным?

Я пытался угадать event.unicode.issymbol(), event.unicode.issymbolic() и event.unicode.symbol(), но они не работают.

Я также пытался просмотреть документацию по pygame по адресу pygame.key, но это тоже не помогло.

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'

то же самое произойдет для issymbolic и issymbol

Я ожидаю, что это будет работать для всех символических значений, таких как ".", "/", "_", "-", "(", ")", "+" и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...