【Pygame】主人公と背景の描画

この記事では、Python言語とPygameを用いてウィンドウ(画面)に主人公と背景画像を描画する方法とソースコードを解説します。

スポンサーリンク

主人公と背景の描画

Pygameでは「pygame.image.load()」で画像を読み込めます。
また、「screen.blit」で読み込んだ画像をウィンドウに貼り付けることができます。
今回はこれらを用いて、背景画像を読み込んでゲーム画面に主人公と背景を描画してみました。

処理手順
「pygame」モジュールをインポートする。
画面のサイズを設定する。
Pygameを初期化する。[pygame.init]
画面(ウィンドウ)を生成する。[pygame.display.set_mode]
背景画像を取得する。
画面を更新する。
更新時間の間隔を設定する。
画面の背景色を黒に設定する。
背景と主人公を画面に描画する。
イベント処理をする。画面の閉じるボタンが押されたら終了する。
6-10の処理を繰り返す。
# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import sys

def main():
    (w,h) = (400,400)   # 画面サイズ
    (x,y) = (w/2, h/2)
    pygame.init()       # pygame初期化
    pygame.display.set_mode((w, h), 0, 32)  # 画面設定
    screen = pygame.display.get_surface()

    # 背景画像の取得
    bg = pygame.image.load("bg.jpg").convert_alpha()
    rect_bg = bg.get_rect()

    # プレイヤー画像の取得
    player = pygame.image.load("player.png").convert_alpha()
    rect_player = player.get_rect()
    rect_player.center = (300, 200) # プレイヤー画像の初期位置

    while (1):
        pygame.display.update()             # 画面更新
        pygame.time.wait(30)                # 更新時間間隔
        screen.fill((0, 20, 0, 0))          # 画面の背景色
        screen.blit(bg, rect_bg)            # 背景画像の描画
        screen.blit(player, rect_player)    # プレイヤー画像の描画

        # 終了用のイベント処理
        for event in pygame.event.get():
            if event.type == QUIT:          # 閉じるボタンが押されたとき
                pygame.quit()
                sys.exit()
            if event.type == KEYDOWN:       # キーを押したとき
                if event.key == K_ESCAPE:   # Escキーが押されたとき
                    pygame.quit()
                    sys.exit()

if __name__ == "__main__":
        main()

画面に背景画像(bg.jpg)と主人公画像(player.png)を描画できました。

関連記事
1 【Pygame入門】ゲームプログラミング
2 【Python入門】サンプル集・使い方
Python
スポンサーリンク

コメント

  1. ジェンナー より:

    画像の読み込みがうまくいきません。名前が同じ画像ファイルを同じファイルの中に入れておきました。

    • 管理人 より:

      コメントありがとうございます。
      エラーメッセージで、ある程度原因がわかると思いますので(保存先の指定が間違っているか、そうでないか等)ご確認ください。