この記事では、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()
player = pygame.image.load("player.png").convert_alpha()
rect_player = player.get_rect()
rect_player.center = (300, 100)
while (1):
pygame.display.update() # 画面更新
pygame.time.wait(30) # 更新時間間隔
screen.fill((0, 20, 0, 0)) # 画面の背景色
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()
実行結果
サンプルプログラムの実行結果です。

-|おすすめ関連記事
–|–
1|■Pygameでゲームプログラミング
2|■Python入門 基本文法


コメント