Python プログラム

Pythonを使ってpygameで画像表示や描画をする方法

最近pythonの勉強用にゲームを作りながら楽しく学べるPythonプログラミング を購入して、勉強したみたものの、画像表示の部分でつまづいたので、その箇所の解決方法の紹介。

spyderのインストール

自分はWindowsを使用しているため、いろんなサイトでオススメにあったanacondaを使用。

より効率よく開発できる!AnacondaでPythonの環境を構築する方法

anacondaをインストールすると一緒についてくるspyderが良いらしくそれを使って説明します。アイコンはクモの巣のマークなのでわかりやすいと思います。

spyderを開くとこんな画面が表示されると思います。

pygameで画像表示(描画)

下記のコードをコピペして貼り付け。実行します。
ここで、注意していただきたいのが、penguin.pngのところ。

初心者だった自分はpathのことを知らなかったため、ここで画像表示に悩むことになりました。
pythonのファイルが置いてあるフォルダに画像が置いていれば、penguin.pngのみで構わないのですが、違うフォルダから読み込む場合はC:\Program Files・・・・などの絶対パスで入力しておかないと画像表示されません。

相対パス・絶対パスは今後絶対に必要になりますので注意が必要です。
初心者はここでつまずく可能性がありますので、ここを注意してもらえらば問題なく動きます。

import sys
import pygame
from pygame.locals import *
def main():
    pygame.init()                                               # Pygameの初期化
    screen = pygame.display.set_mode((600, 500))                # 大きさ600*500の画面を生成
    pygame.display.set_caption("image")                         # タイトルバーに表示する文字
    logo = pygame.image.load("penguin.png")                     # ペンギンの画像取得

    while (1):
        screen.fill((0,0,0))                                    # 画面全体を黒色に塗りつぶし
        screen.blit(logo,(20,50))                               # 左上(20,50)の配置に画像描画(表示)
        pygame.display.update()                                 # 画面を更新
        # イベント処理
        for event in pygame.event.get():
            if event.type == QUIT:                              # 閉じるボタンが押されたら終了
                pygame.quit()                                   # Pygameの終了(画面閉じられる)
                sys.exit()

if __name__ == "__main__":
    main()

そしたらこのように表示されました。

今回使用したテキスト

-Python, プログラム