Pygameでシンプルなウィンドウを表示する
マリオをPythonで作成するハンズオン動画を見つけたので、まずは環境構築をしてみる。
参考:【#2 Window表示】マリオを一緒に作ってみませんか!pythonで!【ハンズオン実践解説
1. pygameをインポートして初期化
まず、pygame
をインポートし、初期化を行います。
import pygame
pygame.init()
を呼び出すことで、ライブラリが正しく動作するように準備されます。
pygame.init()
2. 画面サイズを指定
ウィンドウのサイズを設定します。
W, H = 320, 270
win = pygame.display.set_mode((W, H))
このコードで、横320ピクセル、縦270ピクセルのウィンドウが作成されます。
また、ウィンドウのタイトルを設定することもできます。
pygame.display.set_caption("Pygame Window")
3. イベントループ定義
Pygame では、イベントループを作成し、ウィンドウが閉じられるなどのイベントを処理する必要があります。
running = True
while running:
for e in pygame.event.get():
if e.type == pygame.QUIT:
running = False
pygame.event.get()
を使ってイベントを取得し、ウィンドウの ×
ボタンが押された場合に running = False
でループを抜けるようにしています。
4. 背景塗りつぶし
ウィンドウの背景を塗りつぶす処理を追加します。
win.fill((135, 206, 235)) # 空のような水色
ここでは (135, 206, 235)
というRGB値を指定し、背景を水色に設定しています。
5. 画面を更新
Pygame では、変更を画面に反映するために pygame.display.flip()
を呼び出す必要があります。
pygame.display.flip()
また、FPSの制限を設けることで、処理負荷を抑えます。
clock = pygame.time.Clock()
clock.tick(30) # 30FPS
完全なコード
import pygame
# 画面サイズを定義
W, H = 320, 270
def main():
'''メイン関数'''
# pygame初期化
pygame.init()
# 画面を構築
win = pygame.display.set_mode((W, H))
pygame.display.set_caption("Pygame Window")
# クロックを生成
clock = pygame.time.Clock()
# 背景色の初期値(黒)
bg_color = (0, 0, 0)
# イベントループ
running = True
while running:
for e in pygame.event.get():
if e.type == pygame.QUIT:
running = False
# 背景を塗りつぶす
win.fill((135, 206, 235))
# 画面の更新
pygame.display.flip()
clock.tick(30) # FPS制限 (30FPS)
pygame.quit()
# Pythonのファイルが直接実行された場合のみmain()を実行
if __name__ == '__main__':
main()
このコードを実行すると、シンプルなウィンドウが表示されます。
まとめ
次はマリオ表示についてきじをかきまs