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