我正在制作一个小游戏,我想制作另一个与我的主窗口分开的窗口。
我在主窗口中有主游戏,我想打开一个新窗口并在用户做某事时做一些动画。
在我下面的示例代码中,当用户按下“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'时它会弹出,做它的事情,然后关闭或至少在主屏幕后面。
这个怎么做?甚至可能吗?