Как сделать анимированный задний фон в меню игры в pygame?

Как правильно встроить исполняющий код которой создает анимированный фон в игре в цикле игрового меню, которое представлено ниже, так же есть картинка этого игрового меню.

import pygame
from pygame.sprite import Sprite
import sys

pygame.init()


class Flame(Sprite):

    def __init__(self, images, time_interval):
        super().__init__()
        self.images = [pygame.image.load(f'images/{i}.jpg') for i in range(1, 61)]
        self.image = self.images[0]
        self.time_interval = time_interval
        self.index = 0
        self.timer = 0
    
    def update(self, seconds):
    self.timer += seconds
        if self.timer >= self.time_interval:
            self.image = self.images[self.index]
            self.index = (self.index + 1) % len(self.images)
            self.timer = 0


def create_images():
    images = []
    for i in range(4):
        image = pygame.Surface((256, 256))
        images.append(image)
    return images


def main():
    images = create_images()
    a = Flame(images, 0.25)
    
# Main loop.
    while True:
    seconds = clock.tick(FPS) / 300.0
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        
    a.update(seconds)
    screen.fill((230, 230, 230))
    screen.blit(a.image, (0, 0))
    pygame.display.update()
    
    
if __name__ == '__main__':
    screen = pygame.display.set_mode((1920, 1080))
    clock = pygame.time.Clock()
    FPS = 60
    main()
    

Фрагмент меню игры ниже-из основного кода

class Menu:
    ## Покрытие False по-умолчанию
    hovered = False
    ## Инициализация строк меню
    def __init__(self, text, pos):
        self.text = text
        self.pos = pos
        self.set_rect()
        self.draw()
    ## Рисование и рендер
    def draw(self):
        self.set_rend()
        screen.blit(self.rend, self.rect)
    ## Сам рендер
    def set_rend(self):
        self.rend = menu_font.render(self.text, True, self.get_color())
    ## Указание цветов (Покрытый\Не покрытый)
    def get_color(self):
        if self.hovered:
            return (255, 255, 255)
        else:
            return (0, 255, 0)
    ## Рендер углов
    def set_rect(self):
        self.set_rend()
        self.rect = self.rend.get_rect()
        self.rect.topleft = self.pos
## Главное Меню
def mmenu():
    ## Пункты меню
    menus = [Menu("NEW GAME", (870, 605)),
             Menu("Help", (920, 655)),
             Menu("AUTORS", (890, 705)),
             Menu("EXIT", (920, 755))]
    begin = True
    screen.blit(mm, (0, 0))
    ## Рабочий цикл
    while begin:
        pygame.event.pump()
        ## Проверка пунктов меню
        for menu in menus:
            if menu.rect.collidepoint(pygame.mouse.get_pos()):
                menu.hovered = True
            else:
                menu.hovered = False
            menu.draw()
        pygame.display.flip()
        ## Создал практически с нуля
        for event in pygame.event.get():
            if event.type == pygame.MOUSEBUTTONDOWN:# and event.button == 1: ## Небольшая правка
                for menu in menus:
                    if menu.hovered and menu.text == "NEW GAME": 
                        print("NEW GAME?")
                        click.play()
                        novel()
                    elif menu.hovered and menu.text == "Help":
                        print("Help?")
                        click.play()
                        helps()
                    elif menu.hovered and menu.text == "AUTORS":
                        print("AUTORS?")
                        click.play()
                        authors()
                    elif menu.hovered and menu.text == "EXIT":
                        begin = False
                        click.play()
                        pygame.quit()
##Анимация меню:

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