И снова пример можно переписать используя функцию pygame.key.get_pressed()
. Функция возвращает последовательность логических значений, например:
(False, False, False, False, False, ...)
Если клавиша отпущена, то её значение False
, а если нажата, то True
:
(False, False, True, False, False, ...)
import sys
import pygame
pygame.init()
SIZE = WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode(SIZE)
clock = pygame.time.Clock()
x, y = WIDTH // 2 - 50, HEIGHT // 2 - 50
speed = 5
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
screen.fill((0, 0, 0))
pygame.draw.rect(screen, (255, 255, 255), (x, y, 100, 100))
pygame.display.update()
clock.tick(30)