【Python】Pygameでゲーム制作NO.1 ウィンドウ作成まで
Pythonでゲーム制作をするのに最も適したライブラリとして、Pygameがあります。
この記事では、Pygameのインストールからウィンドウ表示までを行ってみます。
Pygameとは?
Pygameとは、Pythonでゲーム開発をするためのライブラリです。
https://www.pygame.org/news
「ゲーム」と言っても、3Dの市場に出回っているレベルのものを製作することは難しく、Pygameでできるのは簡単な2Dゲームです。
では、早速使っていきましょう。
インストール
pipで以下のコマンドを実行します。
pip install pygame
以上です。
もし、この方法でできなかった場合は、
https://www.lfd.uci.edu/~gohlke/pythonlibs/
このサイトから、適切なバージョンのPygameのwhlファイルをダウンロードして、それを実行するとインストールできます。
↑のサイトはPythonのほぼすべてのライブラリを扱っており、Pygame以外でも何かライブラリをダウンロードしたい時によく使います。
Windowの表示
Pygameを使用して、簡単なウィンドウを作ってみます。
以下のプログラムを実行してください。
import pygame import sys def main(): pygame.init() # Pygameを初期化 screen = pygame.display.set_mode((640, 480)) # 画面を作成 pygame.display.set_caption("Hello, World") # タイトルを作成 running = True #メインループ while running: screen.fill((0,0,0)) #画面を黒で塗りつぶす pygame.display.update() #描画処理を実行 for event in pygame.event.get(): if event.type == QUIT: # 終了イベント running = False pygame.quit() #pygameのウィンドウを閉じる sys.exit() #システム終了 if __name__=="__main__": main()
このような画面が現れれば成功です。
解説
簡単に上のプログラムの解説を行います。
(3)メインループ
以下がメインループの構造です。
running = True while running: (ループ処理) if event.type == QUIT: # 終了イベント running = False pygame.quit() #pygameのウィンドウを閉じる sys.exit() #システム終了
while文の中身をrunningがTrueの間ずっと繰り返します。
screen.fill((0,0,0)) #画面を黒で塗りつぶす pygame.display.update() #描画処理を実行
この2行でウィンドウの描画処理を行っています。それぞれの関数の意味はコメントに書いてある通りです。
(4)イベント処理
キーボードから何か入力されたりマウスがクリックされて、その入力に対応した特有の処理が行われることをイベントといいます。
pygame.event.get():
この関数の戻り値はそのイベント(のリスト)を示します。
そして、for文で受信したイベントの内容を1つずつ調べ、if文で判定します。
そして、イベント内容が終了イベントであれば、
event.type == QUIT
がTrueとなり、
running = False pygame.quit() #pygameのウィンドウを閉じる sys.exit() #システム終了
の3行が実行されます。
※終了イベントとは、ウィンドウ右上のバツ印が押されたり、ESCキーが押されたときに発生する、アプリケーションを終了するイベントです。