Не работает наведение pygame

Суть в том, что когда я должен наводиться на кнопку, она должна сначала сменить цвет, а после клика на неё обновить экран и очистить его. У меня не работает смена цвета, но экран обновляется. Я новичок, прошу помогите, сам не могу разобраться.

import pygame

pygame.init()
screen = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("BlackJack")

icon = pygame.image.load('cards/icons8-blackjack-62.png')
pygame.display.set_icon(icon)

class ImageButton:
    def __init__(self, x, y, width, height, text, image_path=None,     hover_image_path=None, sound_path=None):
        self.x = x
        self.y = y
        self.width = width
        self.height = height
        self.text = text
        self.image = pygame.image.load(image_path)
        self.image = pygame.transform.scale(self.image, (width, height))
        self.hover_image = self.image
        if hover_image_path:
            self.hover_image = pygame.image.load(hover_image_path)
            self.hover_image = pygame.transform.scale(self.hover_image, (width, height))
        self.rect = self.image.get_rect(topleft=(x, y))
        self.sound = None
        if sound_path:
            self.sound = pygame.mixer.Sound(sound_path)
        self.is_hovered = False

    def draw(self, screen):
        current_image = self.hover_image if self.is_hovered else self.image
        screen.blit(current_image, self.rect.topleft)
        font = pygame.font.Font(None, 36)
        text_surface = font.render(self.text, True, (255, 255, 255))
        text_rect = text_surface.get_rect(center=self.rect.center)
        screen.blit(text_surface, text_rect)

    def check_hover(self, mouse_pos):
        self.is_hovered = self.rect.collidepoint(mouse_pos)

    def handle_event(self, event):
        if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1 and self.is_hovered:
            screen.fill((221, 227, 241))
            pygame.display.update()
            if self.sound:
                self.sound.play()


play_button = ImageButton(450, 400, 400, 200, 'Play', 'cards/button.png',     'cards/button_after.png', 'cards/zvuk11.mp3')
first_screen = pygame.image.load('cards/Blackjack-logo.png')
screen.fill((221, 227, 241))
screen.blit(first_screen, (300, 100))
play_button.draw(screen)

def main_menu():
    running = True
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
                pygame.quit()
            play_button.handle_event(event)
            play_button.check_hover(pygame.mouse.get_pos())
            pygame.display.flip()


main_menu()

Ответы (0 шт):