Tôi đang tạo một trò chơi nhỏ và tôi muốn tạo một cửa sổ khác riêng biệt với cửa sổ chính của mình.Hiển thị nhiều trong Pygame
Tôi có trò chơi chính trong cửa sổ chính và tôi muốn mở một cửa sổ mới và thực hiện một hoạt ảnh nhỏ khi người dùng làm điều gì đó.
Trong mã ví dụ của tôi bên dưới, khi người dùng nhấn "a" tôi muốn nó mở một cửa sổ mới và nhấp vào đó.
Ở đây tôi thành lập hai cửa sổ: (Tôi biết việc doesnt này, nó những gì tôi hỏi làm thế nào để làm)
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))
và sau đó chương trình:
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
Cho đến nay những gì này làm là rút ra màn hình chính, sau đó khi A được nhấn, nó dừng vẽ hình động màn hình chính, nhưng vẫn vẽ các hình động khác trên màn hình chính và vẽ ở góc trên cùng bên trái.
Tôi chắc chắn nó thực hiện điều này vì tôi đang thiết lập BATTLE_SCENE
nhỏ hơn màn hình chính, do đó khi blitting đến BATTLE_SCENE
nó sẽ chuyển sang khu vực tôi đã tạo (240x160) ở góc trên cùng của màn hình chính.
Tuy nhiên tôi muốn BATTLE_SCENE
là một cửa sổ riêng biệt, vì vậy khi tôi nhấn 'a' nó sẽ bật lên, làm điều của nó, sau đó đóng hoặc ít nhất là đi phía sau màn hình chính.
Cách thực hiện việc này? Thậm chí có thể không?
Bạn không nên làm điều này anyway –
Điều đó có nghĩa là có cách tôi nên làm? giải thích một chút sẽ tốt hơn :) – hammythepig
Tạo một khu vực trong cửa sổ hiện có cho hoạt ảnh. –