Несколько дисплеев в Pygame
Я делаю небольшую игру и хочу создать другое окно отдельно от моего основного.
У меня есть основная игра в главном окне, и я хочу открыть новое окно и сделать небольшую анимацию, когда пользователь что-то делает.
В моем примере кода ниже, когда пользователь нажимает & quot; a & quot; Я хочу, чтобы он открыл новое окно и зашел туда.
Здесь я установил два окна: (я знаю, что это не работает, это то, что я спрашиваю, как это сделать)
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))
а затем программа:
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
До сих пор это рисует главный экран, затем, когда нажимается A, он прекращает рисовать анимации основного экрана, но все равно рисует другие анимации на главном экране и рисует в верхнем левом углу.
Я уверен, что это так, потому что я настраиваюBATTLE_SCENE
быть меньше, чем основной экранBATTLE_SCENE
он переместится в область, которую я создал (240x160) в верхнем углу основного экрана.
Однако я хочуBATTLE_SCENE
быть отдельным окном, так что когда я нажимаю «a»; он всплывет, сделает свое дело, затем закроется или хотя бы зайдет за главный экран.
Как это сделать? Это вообще возможно?