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