pygame.MOUSEBUTTONDOWN не регистрируется - PullRequest
2 голосов
/ 03 февраля 2020

Почему-то я не могу заставить pygame.MOUSEBUTTONDOWN зарегистрироваться на pygame.event.get().

events_list = pygame.event.get()
for event in events_list:
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_i:
            menu_close = True
        if event.type == pygame.MOUSEBUTTONDOWN:
            print(event.button)

Хотя pygame.mouse.get_pressed() возвращается, когда я нажимаю любую кнопку, я не понимаю, что я неправильно с кодом, выделенным выше.

1 Ответ

3 голосов
/ 03 февраля 2020

Это вопрос Отступ . В вашем коде event.type == pygame.MOUSEBUTTONDOWN оценивается только, если event.type == pygame.KEYDOWN равно True. Это невозможно, поскольку event.type не может иметь 2 состояния одновременно.

Вместо:

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_i:
        menu_close = True
    if event.type == pygame.MOUSEBUTTONDOWN:
        print(event.button)

Это должно быть:

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_i:
        menu_close = True
if event.type == pygame.MOUSEBUTTONDOWN:
    print(event.button)
...