Pygameの使い方・サンプルゲームまとめ

Pythonモジュール「Pygame」で2Dゲームを簡単に制作する方法を解説します。

スポンサーリンク

Pygameとは

「Pygame」は、2Dゲームを制作するための有名なPythonもジューです。
際の最も有名なゲームライブラリです。Pythonで2Dゲームを作るには、ゲームライブラリを使うのが一般的です。

【Pygame】ブロック崩しの作り方(効果音付き)
Pygameを用いてブロック崩しを作る方法とソースコードを解説します。
スポンサーリンク

【基礎編】画面設定、画像と図形の描画、イベント処理、スプライト管理、音声処理

画面設定、画像と図形の描画、イベント処理、スプライト管理、音声処理など、Pythonモジュール「pygame」の基礎的な使い方については個別に記事で解説しています。
各記事へのリンクと概要を以下の表に整理しました。

動画解説

本ページの内容は以下動画でも解説しています。

記事リンク 概要
インストール Pygameモジュールをインストールする方法について解説します。
画面設定 画面サイズ、タイトル、背景色、文字、フルスクリーンの有効化などの設定方法を解説します。
図形描画 円、直線、長方形などの図形を描画する方法について解説します。
画像描画 背景や主人公などの画像を描画する方法について解説します。
キー操作 矢印キー操作する方法について解説します。
キー操作(長押し) 矢印キー操作(長押し)する方法について解説します。
キャラクター操作 矢印キーでキャラクター操作する方法について解説します。
長押しでキャラクター操作 矢印キー(長押し)でキャラクター操作する方法について解説します。
マウスクリックで操作 マウスクリックでキャラクター操作する方法について解説します。
マウスクリック(長押し)で操作 マウスクリック(長押し)でキャラクター操作する方法について解説します。
マウスポインタで操作 マウスポインタでキャラクター操作する方法について解説します。
MP3ファイルの再生 BGMやSEをゲームに入れるためのMP3ファイルの再生を行う方法を解説します。
WAVファイルの再生 BGMやSEをゲームに入れるためのWAVファイルの再生を行う方法を解説します。

スプライト管理

スプライトとは、キャラクターを低いCPU負荷で滑らかに動かすグラフィック技術のことです。これまでにもキャラクターの操作(移動や回転など)を行ってきましたが、複数のキャラクターを扱うとコード量がどんどん増えていく問題があります。Pygameでは「pygame.sprite」を使うとスプライトの管理、描画、衝突判定等を簡単にできます。キャラクター操作に関する各種機能をスプライトクラスとして1つにまとめ、複数のキャラクターを扱いやすくします。

記事リンク 概要
スプライト
スプライトグループ スプライトグループの使い方を解説します。
スプライトグループ(デフォルト) スプライトグループ(デフォルト)の使い方を解説します。
スプライトグループ(高速描画) スプライトグループ(高速描画)の使い方を解説します。
スポンサーリンク

【応用編】ブロック崩し、卓球ゲーム(PONG)など

ブロック崩し、卓球ゲーム(PONG)など、Pythonモジュール「pygame」の応用例については個別に記事で解説しています。
各記事へのリンクと概要を以下の表に整理しました。

記事リンク 概要
ブロック崩しの作り方 ブロック崩しの作り方について解説します。
卓球ゲーム(PONG風) 卓球ゲーム(PONG風)の作り方について解説します。
デジタル時計 デジタル時計を作成します。
RPGゲーム(マップ作成) RPGゲームのマップを作成します。
レーダー レーダーの画面を作成します。
Pygame関連 Pygame公式サイトPythonでゲーム作りますが何か?
ゲーム素材(画像) RPGツクール2000無料素材旅のヤドカリシアンのゆりかごRPGツクール素材支部
ゲーム素材(BGM) H/MIX GALLERY煉獄庭園DOVA甘茶の音楽工房無料効果音素材
Python
スポンサーリンク

コメント

  1. ss より:

    Pygameの基本操作の各々にサンプルプログラム、の項がありますが
    多くのものが記載されていません。
    サンプルプログラム見たいのですが、記載していただけないでしょうか??

    • 管理人 より:

      ※ss様
      コメントありがとうございます。
      ソースコードを表示するリンクが崩れてておりました。
      申し訳ありません、今から修正します。
      ご連絡ありがとうございました。

  2. papipo より:

    「Pygameの基本操作」のサンプルプログラムに player.png 等の画像が必要ですが、これらはどこで入手できますか。

    • 管理人 より:

      ※papipo様
      コメントありがとうございます。
      「ゲーム素材(画像)」に記載されている外部サイト様より入手可能です。

  3. tk より:

    「Pygameの基本操作<」が「フルスクリーン表示」が「フリスクリーン表示」になってますよ

  4. はやたか より:

    Spriteクラスの__init__の引数はPython3ではエラーになります。注釈をつけるか、今はPython3が主流なのでPython3対応のコードに書き換えていただけると困る人が減ると思います。

    https://teratail.com/questions/195209

    • 管理人 より:

      ※はやたか様
      コメントありがとうございます。
      Python3でも動くようコードを修正致しました。

  5. 匿名 より:

    勉強させて頂いております。

    スプライトの作成すると
         ↑
         を?

  6. 山田 一 より:

    貴サイトでPythonの学習を始めて、ウルトラ超初心者です。
    開発環境は、Windows10(Home) VsCode

    貴サイト、
    【基礎編】画面設定、画像と図形の描画、イベント処理、スプライト管理、音声処理
    で、学習を始めました。

    具体的には、コードをコピーする程度です。
    が、”記事リンク”13項目の内、7項目が上手くいきません。

    どの項目が、上手くいかないのかというと、
    ④、⑦、⑧、⑨、⑩、⑪、⑫です。
    (番号は、私が勝手にふりました。)

    具体的には、

    ④【Pygame】主人公と背景の描画にて、「ターミナル」実行すると、
    ・黒い画面が…パット現れるだけ。
    ・「エラー」もなし。
    で、下記に「ターミナル」に表示されたのを記します。

    ”PS C:\Users\genki\OneDrive\デスクトップ\Python> & C:/Users/genki/AppData/Local/Programs/Python/Python39/python.exe c:/Users/genki/OneDrive/デスクトップ/Python/game.py
    pygame 2.0.1 (SDL 2.0.14, Python 3.9.1)
    Hello from the pygame community. https://www.pygame.org/contribute.html
    Traceback (most recent call last):
    File “c:\Users\genki\OneDrive\デスクトップ\Python\game.py”, line 40, in
    main()
    File “c:\Users\genki\OneDrive\デスクトップ\Python\game.py”, line 14, in main
    bg = pygame.image.load(“bg.jpg”).convert_alpha()
    FileNotFoundError: No such file or directory.
    PS C:\Users\genki\OneDrive\デスクトップ\Python> ”

    お忙しい中、大変恐縮ではございますが、ご教授お願い致します。

    • 管理人 より:

      コメントありがとうございます。
      背景画像のファイルパス“bg.jpg”を、ご自身の画像ファイルのパスに変更する必要があります。

  7. kimama より:

    pygameでホーミング弾(ミサイル)のサンプルプログラムをお願いします。