在处理按键事件时,可以使用一个布尔型变量来标记按键的状态。当按键按下时,将该变量设为true,并执行相应的操作。当按键弹起时,将该变量设为false,取消按键按下的重复操作。
以下是一个示例代码:
import pygame
pygame.init()
# 设置屏幕大小
screen = pygame.display.set_mode((400, 300))
pygame.display.set_caption("按键事件示例")
# 初始化按键状态
key_pressed = False
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 处理按键按下事件
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
if not key_pressed:
print("按下空格键")
key_pressed = True
# 处理按键弹起事件
if event.type == pygame.KEYUP:
if event.key == pygame.K_SPACE:
print("弹起空格键")
key_pressed = False
pygame.quit()
在上述示例中,当按下空格键时,只会打印一次"按下空格键",而不会重复执行。当弹起空格键时,会打印"弹起空格键"。