Wiele wyświetlaczy w Pygame

Robię małą grę i chcę zrobić kolejne okno oddzielnie od mojego głównego.

Mam główną grę w głównym oknie i chcę otworzyć nowe okno i zrobić małą animację, gdy użytkownik coś zrobi.

W poniższym przykładowym kodzie, gdy użytkownik naciśnie „a”, chcę, aby otworzyło ono nowe okno i przejdzie do niego.

Tutaj ustawiam dwa okna: (wiem, że to nie działa, o co pytam, jak to zrobić)

SCREEN_X = 400
SCREEN_Y = 400
BSCREEN_X = 240
BSCREEN_Y = 160

BATTLE_SCENE = pygame.display.set_mode((BSCREEN_X, BSCREEN_Y))
SCREEN = pygame.display.set_mode((SCREEN_X, SCREEN_Y))

a następnie program:

def run_ani ():
    #Do animation, blitting to BATTLE_SCENE
    return

def main_game():
    ending=False
    while ending==False:
        clock.tick(30)
        for event in pygame.event.get():
            if event.type == pygame.QUIT: ending=True
            if event.type == KEYDOWN: # key down or up?
                if event.key == K_ESCAPE:
                    ending=True # Time to leave
                    print("Stopped Early by user")
                elif event.key == K_a:
                    run_ani()
        #Normal screen motion, blitting to SCREEN
        if ending: pygame.quit()
    return

Do tej pory rysuje główny ekran, a po naciśnięciu A przestaje rysować animacje na głównym ekranie, ale nadal rysuje inne animacje na głównym ekranie i rysuje w lewym górnym rogu.

Jestem pewien, że to robi, ponieważ ustawiamBATTLE_SCENE być mniejszy niż główny ekran, a więc podczas blittingu naBATTLE_SCENE pasuje do obszaru, który stworzyłem (240x160) w górnym rogu ekranu głównego.

Jakkolwiek chcęBATTLE_SCENE być oddzielnym oknem, więc gdy nacisnę 'a', pojawi się, zrobi swoje, a następnie zamknij lub przynajmniej przejdź za główny ekran.

Jak to zrobić? Czy to możliwe?

questionAnswers(2)

yourAnswerToTheQuestion