Я пишу код в Pygame, где пользователь может удерживать несколько клавиш одновременно, однако я испытываю какое-то странное поведение с помощью следующей строки кода:выпуск с Pygame и проведение нескольких ключей
print(pygame.key.get_pressed()[273:277])
Цель этой строки - определить, какие клавиши со стрелками удерживаются в данный момент (используется этот диапазон, поскольку элементы pygame.key.get_pressed()
с позиций [273:277]
соответствуют 4 клавишам со стрелками).
Когда я нажимаю любую из 4 клавиш со стрелками по отдельности, она печатается правильно, но я считаю, что если я удерживаю более двух клавиш со стрелками одновременно, некоторые клавиши перестают появляться. Например, удерживание «Вверх», «Вправо», а затем нажатие «Влево», похоже, ничего не делает
Сначала я подумал, что, возможно, моя клавиатура не смогла обнаружить более двух нажатий клавиш одновременно, но я не знаю Думаю, это то, что происходит, поскольку я заметил, что если бы я держал Вверх и Вниз, то нажал налево, он не зарегистрировал бы, что я держал Левых. Однако, если бы я держал Up и Down, затем нажал Right, он зарегистрировал бы третью кнопку нажатием.
Любая помощь приветствуется, спасибо!
Он должен быть как 'uparrow_pressed = True' для' KEYDOWN', так и 'uparrow_pressed = False' для' KEYUP' – furas
Извините im на мобильном устройстве и его трудно ввести код и отформатировать его должным образом. – Oisin
Это похоже на работу dosnt, так как это было на самом деле тем, что я пытался вначале, используя KEYDOWN, чтобы проверить, когда клавиши были нажаты, и я использовал KEYUP, чтобы увидеть, когда они были выпущены. Но когда я тестировал эту версию кода, у меня были те же результаты, что и описанные выше. Я подумал, может быть, я делал что-то неправильно или делал то, что мне не было, поэтому я написал эту строку кода, как показано выше, чтобы попытаться добраться до корня проблемы, но меня встретили только с такими же запутанными результатами , –