Вот некоторый код, который будет проверять, нажата ли клавиша ↑ :
import pygame
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode([320,240])
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
print("Up Arrow Pressed")
elif keys[pygame.K_q]:
done = True
clock.tick(1000)
pygame.quit()
Обратите внимание, что clock.tick (1000) будет предел код до одной тысячи кадров в секунду, поэтому он не будет точно соответствовать желаемой задержке в 1 миллисекунду.На моем компьютере частота кадров составляет всего около шестисот.
Возможно, вам следует смотреть на события нажатия клавиш и вверх и переключать свой выход, тогда?
import pygame
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode([320,240])
done = False
output = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
output = True
elif event.type == pygame.KEYUP:
if event.key == pygame.K_UP:
output = False
elif event.key == pygame.K_q:
done = True
pygame.display.set_caption(f"Output Status {output}")
clock.tick(60)
pygame.quit()
Есливы запустите это, вы увидите название изменения окна, пока нажата клавиша ↑ .