Я не смог найти прямой ответ.Как задержать pygame.key.get_pressed()?
key.set_repeat()
работы для KEYDOWN
событий, но не для key.get_pressed()
:
import sys, pygame
from pygame.locals import *
pygame.init()
Clock = pygame.time.Clock()
pygame.display.set_mode((200, 100))
pygame.key.set_repeat(1, 500)
while True:
if pygame.key.get_pressed()[K_UP]:
print('up!')
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == KEYDOWN:
if event.key == K_DOWN:
print('down!')
Clock.tick(30)
Даже малейшее нажатие на UP взорвется по меньшей мере, несколько вверх с, только вниз с задержкой!. Я хочу использовать key.get_pressed()
, так как он удобно обрабатывает несколько входов. Нужно ли мне обойти это с помощью какого-нибудь счетчика тиков? Кроме того, существует ли способ обработки нескольких событий KEYDOWN
?
Благодарим вас за подробное объяснение. Документация pygame была немного неясной в этом вопросе, по крайней мере, для такого непрофессионала, как я. – ozu