この記事では、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入門】サンプル集・使い方 |
コメント
画像の読み込みがうまくいきません。名前が同じ画像ファイルを同じファイルの中に入れておきました。
コメントありがとうございます。
エラーメッセージで、ある程度原因がわかると思いますので(保存先の指定が間違っているか、そうでないか等)ご確認ください。