2016-11-28 3 views
-2

Когда клавиши W и D одновременно нажаты, pygame не может получить случай нажатия правой клавиши, обнаруживается любая другая клавиша, но нет правого ключа.Pygame keydown K_RIGHT не работает

Здесь я тестировал печать каждый ключ, который нажат вниз:

import pygame 

pygame.init() 

SCREEN = pygame.display.set_mode((600, 480)) 

while True: 
    events=pygame.event.get() 
    for event in events: 
     if event.type == pygame.KEYDOWN: 
      print(event.key) 
    pygame.time.Clock().tick(30) 

И в то время как 119 (W) и 100 (D) нажата, 275 (правый ключ) больше не распечатана, но все остальные клавиши будут продолжать печатать.

Это ошибка в pygame? Как это можно решить иначе?

+1

Я не могу воспроизвести ошибку. Не могли бы вы рассказать нам, какую версию python вы используете? – Rodolfo

+0

Я использую Python 3.5.2 – Tails

ответ

6

Есть определенные комбинации клавиш, которые клавиатура не может обрабатывать. Это из-за клавиатуры, а не Pygame, и эта проблема не может быть исправлена.

0

Для обработки нескольких клавиш нажата сразу я рекомендую использовать:

keys = pygame.key.get_pressed() 
if keys[pygame.K_w]: 
    #do something 
if keys[pygame.K_d]: 
    #do somthing