Pygame не будет принимать события нажатия клавиш и события щелчка мышью в одном тике
Привет, я работаю над очень простой игрой для летнего курса, который я беру, и недавно я обнаружил ошибку, которая не позволяет мне двигаться и стрелять одновременно. Вот код обработки события:
for event in pygame.event.get():
#create quit event
if event.type == QUIT:
pygame.quit()
sys.exit()
#checks for keyup events to stop movement
if event.type == KEYUP:
if event.key == pygame.K_w:
#stops player moving up
player.yVelocity += 8
if event.key == pygame.K_d:
#stops player moving right
player.xVelocity -= 8
if event.key == pygame.K_s:
#stops player moving down
player.yVelocity -= 8
if event.key == pygame.K_a:
#stops player moving left
player.xVelocity += 8
#checks for key presses
if event.type == KEYDOWN:
if event.key == pygame.K_w:
#sets variable to move player up
player.yVelocity -= 8
if event.key == pygame.K_d:
#sets variable to move player right
player.xVelocity += 8
if event.key == pygame.K_s:
#sets variable to move player down
player.yVelocity += 8
if event.key == pygame.K_a:
#sets variable to move player left
player.xVelocity -= 8
if event.key == pygame.K_ESCAPE:
#calls gameInit() to take player back to main menu
mainGame.gameInit()
#checks for clicks
if (pygame.mouse.get_pressed())[0] == 1:
#tells the game it should be firing
print("bam")
firing = True
if (pygame.mouse.get_pressed())[1] == 1:
#fires secondary ability
player.useAbility((0,0))
if (pygame.mouse.get_pressed())[0] == 0:
firing = False
if firing == True:
mainGame.bulletList = player.shoot(pygame.mouse.get_pos(), mainGame.bulletList)
Извините, если это беспорядок, я довольно новичок во всем этом. Однако, когда я поместил тестовый оператор печати внутри бита, который обнаруживает щелчки мыши, я обнаружил, что при нажатии клавиши ввод мыши не будет выполняться. Я понятия не имею, какова причина этого.