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)

Извините, если это беспорядок, я довольно новичок во всем этом. Однако, когда я поместил тестовый оператор печати внутри бита, который обнаруживает щелчки мыши, я обнаружил, что при нажатии клавиши ввод мыши не будет выполняться. Я понятия не имею, какова причина этого.

0 ответов

Другие вопросы по тегам