はじめに
こんにちは。デジタルステーション習志野スタッフの荒井です。
今回の記事では、前回のpygame導入の記事で紹介したサンプルプログラムについて、より詳しい解説をしていきたいと思います。
この記事で紹介する文の構造は、ゲームを作るときの基礎になるので、これを応用することで様々なゲームを作れるようになります。
前回のコードのおさらい
前回の記事では、以下のプログラムを書き、実行しました。

そして実行結果は、下記のようになります。

では今回の記事では、このコードで使われている関数などの意味を、一つずつ解説していきます。
1,2行目:import pygame, sys
初めに、ライブラリを使うために、ファイルのインポートをする文です。
pygameは、そのまんまpygameライブラリをインポートしているわけですが、sysライブラリも一緒にインポートしています。では、この「sys」とは何でしょう?
pythonのsysライブラリは、pythonのインタプリタや実行環境の情報を取得するための標準ライブラリです。今回は、21行目の「sys.exit」で使っています。
sys.exitは簡単に言うとプログラムを終了させる関数になります。詳しくは後ほど説明します。
5行目:pygame.init()
pygame.initは、importしたpygameのモジュールを初期化するための変数で、戻り値として初期化に成功したモジュールの数と失敗したモジュールの数をタプル型で返します。
pygameを使うときは、初めにpygame.initでモジュールを読み込む必要があります。また、プログラムの高速化などのために、必要なモジュールのみを個別に読み込むこともできます。
8行目:screen = pygame.display.set.mode((800, 600))
この部分では、変数screenに「pygame.display」モジュールの「pygame.display.set.mode」という関数の戻り値を代入しています。戻り値の型はSurface型です。
この関数を使うことで、ウィンドウを生成することができます。
引数は、((x, y) flags)のように指定し、x、yはそのままx方向(横方向)の大きさとy方向(縦方向)の大きさを指定します。xまたはyに0を入れると、現在使用しているパソコンのモニターと同じ大きさになります。
flagsは、0にしたり、設定しない場合は規定値の標準的なウィンドウが生成されます。また、pygame.FULLSCREENを入れるとフルスクリーンに、pygame.RESIZABLEにするとサイズ変更可能なウィンドウが生成できます。
また、(pygame.RESIZABLE | pygame.NOFRAME)のように複数のウィンドウタイプを組み合わせて入力することで、サイズ変更可能で外枠、GUI部品非表示のウィンドウなども作ることができます。他にもいくつか種類があるので、気になったら調べてみると良いでしょう。
ゲームを作る場合は、pygame.FULLSCREENを使ってフルスクリーン表示にすることが多いと思います。

上部にUIがないウィンドウを生成できた
まとめ
内容が多かったため、一旦記事を区切りたいと思います。
今回解説した内容の中では、恐らくpygame.display関係が一番難解に感じたと思います。実際、私もpygameで初めてゲームを作ったときは、display関連の理解で相当苦戦しました。
もし余裕があれば、display関係の仕組みを理解しておくとかなりゲームが作りやすくなりますので、一度pygameのドキュメントに目を通しておくことをお勧めします。
デジタルステーション習志野
〒274-0063 船橋市習志野台4-1-7 習志野駅前郵便局2F
- 駅から徒歩一分
- 入り口はこちら
- 駐輪場