键盘控制

52.4 键盘控制

KEYDOWN 按键按下;event.key 为 pygame.K_LEFT 等。

也可 pygame.key.get_pressed() 持续检测按键状态。

方向键移动方块

# ========================================
# 示例:键盘移动
# ========================================
import pygame

pygame.init()
screen = pygame.display.set_mode((400, 300))
x, y = 200, 150
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:  x -= 4
    if keys[pygame.K_RIGHT]: x += 4
    if keys[pygame.K_UP]:    y -= 4
    if keys[pygame.K_DOWN]:  y += 4
    screen.fill((20, 20, 40))
    pygame.draw.rect(screen, (0, 255, 128), (x-15, y-15, 30, 30))
    pygame.display.flip()
    clock.tick(60)
pygame.quit()