Я не уверен, является ли это моим кодированием или только моими компьютерными ограничениями, но, похоже, у меня проблема с нажатием нескольких клавиш в игре для двух игроков. Сами клавиши работают правильно, и я тоже их хочу, но поскольку два игрока могут одновременно нажимать 4 клавиши (скажем, W , A , UP и LEFT ) если они оба ускоряются вперед и хотят увернуться от чего-то влево или вправо, кажется, что одна из клавиш не будет работать для одного из игроков, если все 4 будут нажаты одновременно ... ' left '( A ) внезапно сработает, если player1
отпустит' up '( W ) - это когда одновременно player2
нажимает кнопку "вверх" ( UP *) 1016 *) и скажите правильно ( ВПРАВО )
Есть ли лучший способ запросить событие нажатия клавиши /, чтобы это прекратилось, или мой код в порядке, и, возможно, мой компьютер просто отстает ?
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
То же самое go для player2
, за исключением [K.LEFT, K.RIGHT, K.UP, K.DOWN]
Любая помощь будет оценена
При дальнейшем тестировании кажется, что player1
нажимает A только тогда, когда оба player1
& player2
нажимают вверх ( W & UP ) одновременно ... тогда player1
не будет двигаться влево, если player1
не разрешит go из W или player2 не позволит go из UP . Это никак не влияет на player2
( UP , DOWN , LEFT , RIGHT ) или любое другое направление player1
кроме левого A ?