【2020】Pygameのインストールから基本的な使い方について

今回は、以前から話していたPygameを導入します。

Pygameは、本格的なゲーム開発を行う為の拡張モジュールでしたね。

画像の拡大縮小や、同時にキー入力を行うなど、ゲーム開発において欠かせない機能が充実しているので、さっそくインストールしていきましょう。

スポンサーリンク

Pygameのインストールと基本的な使い方について

Pygameのインストール(Windows)

コマンドプロンプトを起動して「pip install pygame」と入力します。

Installing collected packages: pygame
Successfully installed pygame-1.9.6と表示されたら成功です。

尚、「’pip3′ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と表示され上手くインストール出来ない場合は下の記事を参考にしてみてください。

pip installでエラーになりインストールできない場合(Windows) - ガンマソフト株式会社
Pythonでは、ExcelやPDFのファイルを扱うのに、PyPIで公開されている外部ライブラリを使用します。インストールは、Pythonに同梱されているpipを用います。 例えば、Excelファイル...

Pygameの基本的な使い方について

インストール完了したら、早速Pygameを使ったプログラムを作成してみたいと思います。

Pythonについて本格的に学びたいなら

【Udemy】Pythonのおすすめコース7選!【2021】
最近当ブログでもPythonに関する記事を取り扱う事が多くなってきました。 しかし、正直上手く説明出来ている自信もあまりないので、今回は格安セールでおなじみのUdemyで学べるおすすめのPythonコースについてまとめておきたいと思い...

①画面の色を変更するプログラム

Pycharmを開いて、新規スクリプト「pgsample1」を作成します。

このスクリプトを実行すると、画面の色が黒から青に変わります。また、無限ループになっているのでずっと繰り返されます。

画面の色が青から黒に変わる様子

①import pygame

Pygameを使うために、pygameモジュールをインポートします。

②BLACK = (0,0,0)

色の指定は、RGB値にて指定します。この辺は、ネットで調べると色に対応したRBG値を簡単に取得出来るので、プログラムで使いたい色は予め定義しておくと良いでしょう。

③pygame.init()

pygameモジュールを初期化します。

④screen = pygame.display.set_mode((600,600))

サイズを指定して画面を初期化します。画面サイズを変えたい場合は括弧内の数値を変えます。

⑤pygame.display.set_caption(“画面の色”)

画面に表示するタイトルの文字です。

⑥clock = pygame.time.Clock()

時間を管理するためのclockオブジェクトを作成します。22行目でclock.tick(30)と記述していますが、ここでフレームレートを指定しています。このプログラムの場合は、1秒間におよそ30回の処理を行う事になります。この値は、制作するゲームによって変えるようにします。

⑦while True:

いわゆる無限ループってやつですね。Trueの間指定した処理を繰り返します。もしも、無限ループから抜けられなくなった場合は「Ctrl+C」で強制終了することが出来ます。

⑧for event in pygame.event.get():

pygameのイベントを繰り返して処理します。

⑨if event.type == pygame.QUIT:

ウィンドウ右上の閉じるボタンをクリックされたら、プログラムを終了します。

⑩screen.fill(BLACK)

画面全体を黒で塗りつぶします。最初に定義しておいた色から参考に。

⑪pygame.draw.rect(screen,col,[0,0,600,600])

(0,0)から(600,600)の矩形を作成することで、画面全体を覆います。後は、colの値を変えることで画面全体を黒から青にします。

この時点でお気づきかと思いますが、このプログラムにおいて「screen.fill(BLACK)」という記述は不要なんですよね。

私の場合は、画面全体の色を変えるようにしていますが、指定した場所だけ色を変えたい場合且つ、ベースとなる色を指定したい場合に「screen.fill(BLACK)」などと記述すれば良いでしょう。

⑫pygame.display.update()

画面を更新します。

⑬if __name__ == ‘__main__’:

Pythonのプログラムは、他のプログラムにインポートして使うことが出来ますが、インポートしたプログラムを起動させない場合にこの記述が役立ちます。

プログラムを直接実行すると「__name__」に「__main__」という値が入るので、このif文によってmain関数が呼ばれます。

インタプリタでモジュールが読み込まれた場合は、変数の中身が「__main__」とならず勝手に処理が実行されないようになります。

②Pygameを使った画像の表示方法

続いて、サンプルとしてフィールド用の画像を表示させたいと思います。

まずは、pygame.image.load()にて画像を読み込みます。読み込んだ画像の描画は、screen.blitで行います。tkinterとは異なり、一番左上がx,y座標となりますので気を付けてください。