私はちょっとした試合をしています。私はメインのものとは別に別のウィンドウを作りたいと思っています。Pygameの複数のディスプレイ
メインウィンドウにメインゲームがあり、ユーザーが何か操作をしたときに新しいウィンドウを開き、少しアニメーションを行いたいと思います。
私の例のコードでは、ユーザーが "a"を押すと、新しいウィンドウを開き、そこでblitしたいと思います。
ここで私は2つのウィンドウを設定します(私はこのdoesntの仕事を知っている、その私は何をどのように求めている)
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'を押すとポップアップし、そのことを行い、その後閉じるか、少なくともメイン画面の後ろに移動します。これを行うにはどのように
?それも可能ですか?
とにかく –
これを行うべきではないことは、私はそれを行うべき方法があることを意味していますか?もう少し説明するといいだろう:) – hammythepig
アニメーションのための既存のウィンドウ内の領域を作る。 –