Как получить, если нажата клавиша Pygame - PullRequest
2 голосов
/ 20 января 2020

Я хочу проверить, нажата ли клавиша в Pygame. Я не имею в виду, используя методы KEYDOWN или KEYUP. Дело в том, что, если я проверю только эти методы, я получу только обратную связь (я не знаю другого способа выразить это) AS кнопка нажата. Я не получаю обратную связь между нажатием клавиши и отпусканием. Я хочу получить, если ключ в настоящее время не работает.

1 Ответ

2 голосов
/ 21 января 2020

Текущее состояние клавиш может быть получено с помощью pygame.key.get_pressed().

Получите состояние клавиш keys = pygame.key.get_pressed() и оцените, если UP или ВНИЗ нажимается if keys[pygame.K_UP]: соответственно if keys[pygame.K_DOWN]:, непрерывно в главном приложении l oop:

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

    keys = pygame.key.get_pressed()
    if keys[pygame.K_UP]:
        # [...]
    if keys[pygame.K_DOWN]:
        # [...]

Обратите внимание, что состояния, возвращаемые pygame.key.get_pressed(), обновляются когда события обрабатываются pygame.event.pump() или pygame.event.get().

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