pygame
シンプルなパイゲームウィンドウを作成する
サーチ…
完全なコード
import pygame
pygame.init()
WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('My Game')
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)
SCREEN.fill(RED)
pygame.display.flip()
is_running = True
while is_running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
is_running = False
pygame.quit()
パイゲームのインポートと初期化
私たちはPythonでモジュールを扱うので、Pygameをインポートする必要があります:
import pygame
次に、インポートされたすべてのpygameモジュールを初期化します。
pygame.init()
これは、すべてのパイゲームモジュールを初期化するために使用されます。これがなければ、モジュールは動作しません
定数の定義
ここでいくつかの定数を定義します:
WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))
WIDTH
およびHEIGHT
定数は、幅300ピクセル、高さ200ピクセルのウィンドウを作成するために使用されます。 SCREEN
、 pygame.display.set_mode((WIDTH, HEIGHT))
で使用される関数は、ディスプレイのモードを設定し、 Surfaceオブジェクトを返します 。この関数のパラメータは、前に定義したWIDTH
定数とHEIGHT
定数であることに注意してください。
ウィンドウの名前を設定する
この関数を使用して、ウィンドウの名前をMy Gameに変更します。
pygame.display.set_caption('My Game')
色の定義
その後、ウィンドウで使用できる6色を定義します。
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)
色を定義するとき、0から255までの3つの値を入れます。通常、 pygame.Colorクラスは次の形式で表示されます:
COLOUR = (r, g, b, a)
rパラメータが赤色の値を設定する場合、gパラメータは色の緑色の値を設定し、bパラメータは色の青色の値を設定します。 aパラメータは、色のアルファ値を設定します。
次に、このコマンドを実行します。
SCREEN.fill(RED)
これはpygame.Surface.fill関数で、サーフェスオブジェクト(画面)に赤色で塗りつぶします。
次に、この関数を使用します
pygame.display.flip()
これは、基本的には、私たちが描いたスクリーンの表面上のすべてを可視にして、ディスプレイ全体の内容を更新します。この行がなければ、ユーザーは自分のパイゲーム画面に何も表示されません。
ゲームループ
次の数行は「ゲームループ」と呼ばれるものです。
これを開始するには、変数を作成してTrueにします。
is_running = True
whileループを開始するには、次のようにします。
while is_running:
これはゲーム全体で実行されます。
それは最も基本的なフォームで、pygameにはボタン入力やマウスクリックなどのユーザー入力を受け取る「イベント」があります。 Pygameはイベントキューを通じてこれらのイベントを処理します。このforループを使用して、イベントキューからこれらのイベントを取得できます。
for event in pygame.event.get():
これは基本的にイベントのリスト、つまりイベントキューを通過します。これらは次の2行です:
if event.type == pygame.QUIT:
is_running = False
これにより、ユーザが上隅の終了ボタンを押すと、タイプpygame.QUIT
イベントが発生するようになります。
これで、 is_running
がFalse
なり、スクリプトが最後の行に移動するため、whileループが終了します。
pygame.quit()
Pygameモジュールを初期化しない。