
Pythonのお勉強第4回目です。
今回もChatGPTさんに教えてもらったよ。
ちょこちょこ補足していくので、よろしくお願いします。
第4回:Pygameでキャラクターを表示してみよう!
🐍後輩:「先輩!ついに本格的なゲームっぽいことができますか!?」
👨💻先輩:「おう!今回は”Pygame”を使って、画面にキャラクターを表示してみるぞ!」
🎮 Pygameって何?
🐍「Pygameって何ですか?」
👨💻「Pygameは、Pythonでゲームを作るためのライブラリだ。画面を表示したり、キャラクターを動かしたり、音を鳴らしたりできるぞ。」
🐍「めっちゃ便利そうですね!」
👨💻「実際、Pygameを使えばシンプルな2Dゲームならサクッと作れるんだ。」
🐍「早く試してみたいです!」
📥 まずはPygameをインストールしよう!
👨💻「Pygameを使うには、まずインストールが必要だ。ターミナル(またはコマンドプロンプト)で次のコマンドを実行してみろ。」
pip install pygame
🐍「これを実行すればOKですか?」
👨💻「そうだ。もしエラーが出たら、pip
が最新じゃない可能性があるから、pip install --upgrade pip
を試してみるといいぞ。」
🐍「なるほど! じゃあ、次は?」
🖥 画面を表示してみよう!
👨💻「まずは、ゲームのウィンドウを作ってみよう。」
🐍「おお、それっぽくなってきましたね!」
import pygame
# Pygameを初期化
pygame.init()
# 画面のサイズを設定
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# ウィンドウのタイトルを設定
pygame.display.set_caption("Pygameでゲームを作ろう!")
# ゲームループ
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT: # ウィンドウの×ボタンが押されたら終了
running = False
# Pygameを終了
pygame.quit()
🐍「実行すると…」
👨💻「黒いウィンドウが開くはずだ。閉じるボタンを押せば終了する。」
🐍「おお! なんかゲーム作ってる感があります!」

Google Colabだといまいち動いた感が感じられない(私が分かってないだけだと思う)ので、
拡張子pyでファイル作成して実行した方が良いかも。
Windowsなら、Pythonインストールしていれば、ダブルクリックで実行できる(と思う)よ。
🎭 キャラクターを表示してみよう!
🐍「でも、まだ画面が黒いだけですね…。」
👨💻「そうだな。じゃあ次はキャラクターを表示してみよう。画像を使うぞ!」
🐍「画像って、どこから持ってくるんですか?」
👨💻「ネットで探してもいいし、自分で描いてもいい。試しに character.png
というファイルを用意して、それを表示してみよう。」
import pygame
# Pygameを初期化
pygame.init()
# 画面サイズ
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("キャラクターを表示しよう!")
# キャラクター画像を読み込む
character = pygame.image.load("character.png")
character = pygame.transform.scale(character, (50, 50)) # サイズ変更
# キャラクターの座標
x, y = WIDTH // 2, HEIGHT // 2
# ゲームループ
running = True
while running:
screen.fill((255, 255, 255)) # 背景を白にする
screen.blit(character, (x, y)) # キャラクターを描画
pygame.display.update() # 画面更新
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
🐍「これを実行すると、キャラクターが表示されるんですね!」
👨💻「そうだ! screen.blit(character, (x, y))
でキャラクターを (x, y)
の位置に表示している。」
🐍「おお、なんかゲームっぽくなってきました!」

当たり前だけど、「character.png」が同じフォルダに無いと、正常に動かないよ。
🕹 キャラクターを動かしてみよう!
🐍「でも、まだキャラクターが動かせませんね…。」
👨💻「お、やる気だな!じゃあ、キーボードの矢印キーでキャラを動かせるようにしよう!」
import pygame
# Pygameを初期化
pygame.init()
# 画面サイズ
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("キャラクターを動かそう!")
# キャラクター画像を読み込む
character = pygame.image.load("character.png")
character = pygame.transform.scale(character, (50, 50))
# キャラクターの初期位置
x, y = WIDTH // 2, HEIGHT // 2
speed = 5 # 移動速度
# ゲームループ
running = True
while running:
screen.fill((255, 255, 255)) # 背景を白にする
screen.blit(character, (x, y)) # キャラクターを描画
pygame.display.update() # 画面更新
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# キー入力をチェック
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed # 左に移動
if keys[pygame.K_RIGHT]:
x += speed # 右に移動
if keys[pygame.K_UP]:
y -= speed # 上に移動
if keys[pygame.K_DOWN]:
y += speed # 下に移動
pygame.quit()
🐍「おぉ!矢印キーでキャラクターが動かせる!」

ちょっと感度が高い。。。
私の環境だけかしら。。。
とりあえず、このまま進めてみるけども。。。
👨💻「これでゲームっぽくなってきたな!」
🐍「楽しい! 次は何をするんですか?」
👨💻「次回は、当たり判定をつけて障害物をよけるゲームを作ってみるぞ!」
🐍「え、マジで!? もうゲームじゃないですか!」
👨💻「そういうこと!楽しみにしておけよ!」
▶ 次回:当たり判定をつけて障害物をよけるゲームを作ろう!