Я работаю на табло в игре, которую я создаю, и знаю, как проверить, нажата ли клавиша, но есть ли способ проверить, нажата ли клавиша WHICH, сделать varibale, и затем добавить его в строку? EDIT: Хорошо, incase Я был неясен: я знаю, что могу проверить, можно ли нажать кнопки, такие как h или t, но я хочу, чтобы просто нажать кнопку и добавить это к строке, и я не хочу для создания функции события для каждой буквы в алфавите.pygame обнаруживает, какая клавиша нажата
ответ
Если вы зарегистрировали обратный вызов, чтобы обнаружить, когда нажата клавиша, UNQUESTIONABLY идентификатор ключа будет включен в структуру, переданную в сервисную процедуру обратного вызова.
Независимо от того, предлагает ли это «код клавиатуры», а также значение «Яблоко» ASCII, которое я не могу вам рассказать.
Если вам нужна простая текстовая обработка (например, если пользователь должен ввести свое имя для рекорда), просмотрите библиотеку EzText.
В общем, вы можете проверить, какая клавиша была нажата двумя способами.
При использовании очереди событий, вы можете проверить event.key против ключевых Pygame кодов:
import pygame
pygame.init()
screen = pygame.display.set_mode((500, 500))
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
print("spacebar was pressed")
if event.key == pygame.K_q:
done = True
pygame.quit()
Все коды клавиш перечислены в the documentation. Это приведет к срабатыванию одного события для каждого нажатия клавиши, независимо от того, как долго удерживается один ключ.
В качестве альтернативы, вы можете использовать государственную проверку:
import pygame
pygame.init()
screen = pygame.display.set_mode((500, 500))
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
state = pygame.key.get_pressed()
if state[pygame.K_SPACE]:
print("spacebar was pressed")
if state[pygame.K_q]:
done = True
pygame.quit()
Обратите внимание, что это будет срабатывать много событий, если ключ удерживается нажатой дольше. Он также может пропускать нажатия клавиш, если клавиша нажата и высвобождается в то время, когда ваша программа занята выполнением чего-то другого, кроме проверки нажатий клавиш.
- 1. определить, какая клавиша нажата
- 2. как показать, какая клавиша нажата
- 3. Определение того, какая клавиша нажата
- 4. Как узнать, какая клавиша нажата?
- 5. Как узнать, какая клавиша нажата?
- 6. Как найти, какая клавиша была нажата
- 7. Перерыв, если какая-либо клавиша нажата C++
- 8. Как проверить, какая клавиша нажата в LUWIT?
- 9. Как определить, какая клавиша Alt была нажата
- 10. Как определить, какая клавиша SHIFT была нажата?
- 11. Определение того, какая клавиша была нажата
- 12. Зная, нажата ли какая-либо клавиша, wxPython
- 13. Кнопка Pygame нажата
- 14. Можно ли определить, какая клавиша нажата для событий прослушивания клавиш JAVA? (нажата клавиша, напечатана или выпущена)
- 15. Начать операцию, когда нажата клавиша
- 16. Как получить, если нажата клавиша «плюс»
- 17. WinAPI - нажата клавиша show
- 18. Enter нажата клавиша быстрого
- 19. Нажата ли клавиша «Ctrl»?
- 20. Определите, нажата ли клавиша
- 21. SFML 2.1 нажата клавиша
- 22. обнаружения нажата клавиша и клавиша выпустила событие
- 23. Как я могу определить, какая клавиша нажата на клавиатуре? C++
- 24. C#: проверьте, не нажата ли какая-либо клавиша в консоли
- 25. SpriteKit OS X получить, какая клавиша была нажата
- 26. Остановить, только если какая-либо клавиша нажата в C
- 27. <textarea> какая клавиша была нажата с JavaScript
- 28. Java KeyListener - Как определить, нажата ли какая-либо клавиша?
- 29. Различить, какая клавиатура (не клавиша) была нажата в Javascript
- 30. какая клавиша мыши нажата в обработчике событий mousemove()?