【Python初心者向け】先輩と一緒にゲームを作ろう!【第4回】【ChatGPTさん作成記事】

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()

🐍「おぉ!矢印キーでキャラクターが動かせる!」

ちょっと感度が高い。。。
私の環境だけかしら。。。
とりあえず、このまま進めてみるけども。。。

👨‍💻「これでゲームっぽくなってきたな!」

🐍「楽しい! 次は何をするんですか?」

👨‍💻「次回は、当たり判定をつけて障害物をよけるゲームを作ってみるぞ!」

🐍「え、マジで!? もうゲームじゃないですか!」

👨‍💻「そういうこと!楽しみにしておけよ!」


▶ 次回:当たり判定をつけて障害物をよけるゲームを作ろう!

タイトルとURLをコピーしました