两个玩家游戏同时按下多个键的问题
Issue with multi keys being pressed at once for two player game
我不确定这是我的编码问题还是我的电脑限制,但我似乎对在双人游戏中按下多个键有疑问。按键本身工作正常,正如我所希望的那样,但由于两个玩家可以同时按下 4 个键(比如 W、A、UP 和 LEFT) 如果他们都在超速前进并且想向左或向右躲闪,似乎其中一个键对其中一个不起作用如果同时按下所有 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
按下 A 时 player1
和 player2
都按下了(W & UP) 同时...然后 player1
不会向左移动除非 player1
放开 W 或者player2放开UP。
它根本不影响 player2
(UP, DOWN, LEFT, RIGHT) 或 player1
的任何其他方向,除了左 A?
这是键盘的硬件限制。由于它们的制造方式,它们中的大多数将无法注册同时按下的 4 个非修改键
我不确定这是我的编码问题还是我的电脑限制,但我似乎对在双人游戏中按下多个键有疑问。按键本身工作正常,正如我所希望的那样,但由于两个玩家可以同时按下 4 个键(比如 W、A、UP 和 LEFT) 如果他们都在超速前进并且想向左或向右躲闪,似乎其中一个键对其中一个不起作用如果同时按下所有 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
按下 A 时 player1
和 player2
都按下了(W & UP) 同时...然后 player1
不会向左移动除非 player1
放开 W 或者player2放开UP。
它根本不影响 player2
(UP, DOWN, LEFT, RIGHT) 或 player1
的任何其他方向,除了左 A?
这是键盘的硬件限制。由于它们的制造方式,它们中的大多数将无法注册同时按下的 4 个非修改键