两个玩家游戏同时按下多个键的问题

Issue with multi keys being pressed at once for two player game

我不确定这是我的编码问题还是我的电脑限制,但我似乎对在双人游戏中按下多个键有疑问。按键本身工作正常,正如我所希望的那样,但由于两个玩家可以同时按下 4 个键(比如 WAUPLEFT) 如果他们都在超速前进并且想向左或向右躲闪,似乎其中一个键对其中一个不起作用如果同时按下所有 4 个播放器.... 'left' (A) 如果 player1 释放 'up' (W) - 这是同时 player2 按 'up' (UP) 并说正确 ()

是否有更好的方法来请求按键事件/按下以停止发生,或者我的代码是否正常,也许我的计算机只是滞后?

keystate1 = pygame.key.get_pressed()
if keystate1[pygame.K_a]:
    self.speedx = -5
if keystate1[pygame.K_d]:
    self.speedx = 5
if keystate1[pygame.K_w]:
    self.speedy = -5
if keystate1[pygame.K.s]:
    self.speedy = 5

除了 [K.LEFT、K.RIGHT、K.UP、K.DOWN]

外,player2 也一样

如有任何帮助,我们将不胜感激

经过进一步测试,似乎只有 player1 按下 Aplayer1player2 都按下了(W & UP) 同时...然后 player1 不会向左移动除非 player1 放开 W 或者player2放开UP。 它根本不影响 player2 (UP, DOWN, LEFT, RIGHT) 或 player1 的任何其他方向,除了左 A?

这是键盘的硬件限制。由于它们的制造方式,它们中的大多数将无法注册同时按下的 4 个非修改键