处理 pygame 中的事件

Handling the event in pygame

我正在制作一款游戏,用户必须按下特定的键才能让玩家移动。在这个事件的处理过程中,正确的代码应该写成:-

if event.type == pygame.K_E:
      vel_F1_x = 2
      vel_F2_x = 0

   if event.type == pygame.K_e:
       vel_F1_x = 2
       vel_F2_x = 0

e 的枚举常量是 K_e。但是,none 您的代码片段是正确的。

键盘事件(参见 pygame.event 模块)仅在键状态改变时发生一次。 KEYDOWN 事件在每次按下一个键时发生一次。 KEYUP 每次释放一个键时发生一次。
按下的键可以从 pygame.event.Event 对象的 key 属性中获取:

if event.type == pygame.KEYDOWN:
     if event.key == pygame.K_e:
         vel_F1_x = 2
         vel_F2_x = 0

如果要评估某个键是否被按住,请使用 pygame.key.get_pressed()

键盘事件(参见 pygame.event 模块)仅在键状态改变时发生一次。使用键盘事件进行单个操作或逐步移动。
pygame.key.get_pressed() returns a list with the state of each key. If a key is held down, the state for the key is True, otherwise False. Use pygame.key.get_pressed() 评估按钮的当前状态并获得连续移动:

keys = pygame.key.get_pressed():
if keys[pygame.K_e]:
    # [...]