'Why is does my screen freeze when I enter my game screen?

basically the title, i am making a game where you avoid objects (the circles), I tried looking up solutions and the problem appears to be in the event handling, but none of the solutions worked for me.what can I do to fix this?

run = True
    
while run:

    pygame.time.delay(10)
    
    for event in pygame.event.get(): ##cycles through event list
            
        if event.type == pygame.MOUSEBUTTONDOWN:
            if pygame.mouse.get_pos()[0] >= 500 and pygame.mouse.get_pos()[1] >= 500:
                if pygame.mouse.get_pos()[0] <= 530 and pygame.mouse.get_pos()[1] <= 560:
                        pygame.quit()
                        sys.exit(0)
            if pygame.mouse.get_pos()[0] >= 500 and pygame.mouse.get_pos()[1] >= 350:
                if pygame.mouse.get_pos()[0] <= 530 and pygame.mouse.get_pos()[1] <= 410:
                        key = pygame.key.get_pressed()
        
                        if key[pygame.K_a] and character_x>0: ##move left when A is pressed
                            character_x -= character_vel
                        if key[pygame.K_d] and character_x<1000 - character_width: ##move righ when D is pressed
                            character_x += character_vel
                        if key[pygame.K_w] and character_y>0: ##move up when W is pressed
                            character_y -= character_vel
                        if key[pygame.K_s] and character_y<700 - character_height - 10: ##move down when S is pressed
                            character_y += character_vel
                        
                        character_rect = pygame.Rect((character_x, character_y, 30, 30))

                        win.fill((0, 0, 0))
                        win.blit(bg, (0, 0))
                        pygame.draw.rect(win, (255, 0, 0), character_rect) ##draws characters
                        win.blit(Character_image, (character_x, character_y))
                        
                        for count in range(numEnemies):
                            pygame.draw.circle(win, EnemiesColorList[count], EnemiesPosList[count], EnemiesSizeList[count])
                        
                        for count in range(numEnemies): ##asteroid movement
                            EnemiesPosList[count][0] -= 10
                            
                        if EnemiesPosList[count][0] < 0 - EnemiesSizeList[count]: ##makes sure the enemies reset when reaching the end of the screen
                            EnemiesPosList = []
                            for count in range(numEnemies):
                                EnemiesPosList.append( [screen_width,random.randint(0,480)] )
                                pygame.draw.circle(win, EnemiesColorList[count], EnemiesPosList[count], EnemiesSizeList[count])      
                        

                        
                        label = myfont.render(str(lives), 1, (255,255,0)) ##displays score and lives on screen
                        label_2 = myfont.render(str(score), 1, (255,255,0))
                        win.blit(label, (20, 20))
                        win.blit(label_2, (screen_width - 20, 20))
    
        if event.type == pygame.quit:
            pygame.quit()
            sys.exit()
    
    pygame.display.flip()
    pygame.display.update()
        
pygame.quit()

everything works fine for the menu screen, the quit button does what it should and the begin button takes me to the gameplay screen, but as soon as i get there everythinng freezes, my character wont respnd to the controls and the enemies won't actually move.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source