6

pygame にこれに似た機能はありますか?

screen.fill(pygame.image.load('brick.bmp').convert()) 

ウィンドウ(背景)を画像で塗りつぶして、次のような効果を生み出したいと思います。

ここに画像の説明を入力

私の唯一のアイデアは、各レンガを画面に吹き飛ばすことですが、それではゲームが遅くなると思います. これを行う方法を知っている人はいますか (また、いくつかのサンプルコードを提供しています)?

機能するが遅くなるメソッドのスニペットを次に示します

    While True:
        for y in range(0,600,32):
            for x in range(0,800,32):
                screen.blit( self.img,(x,y))
        ...
        pygame.display.flip()
4

2 に答える 2

5

各レンガを画面に吹き飛ばしますが、ゲームが遅くなると思います。

おそらくあなたが思っているほどではありません。blit は非常に高速です。ある種の「塗りつぶし」コマンドがあったとしても、表面が覆われるまで画像を表面にコピーすることになります。

背景画像が静止している場合は、プログラムの開始時にオフスクリーン サーフェスにレンダリングできます。単色で塗りつぶして画面を消去する代わりに、事前にレンダリングされた背景をブリットするだけです。

于 2012-06-02T00:18:04.647 に答える