動き

【Pygame Zero】キャラクターを上下キーで動かす

ratch2025
ラッチ先生
ラッチ先生
スック
スック

スックです。よろしくね!

今回のプロジェクトは、こちら!
ラッチ先生
ラッチ先生

今回のプロジェクトは、
基礎プログラムに 追加していきます。
下の「pygame zero」zipファイルを
ダウンロードしてください

pythonしよう!00:boonを表示する
boonを表示する
pythonしよう!動き03:pygame zeroフォルダ
pygame zeroフォルダ
スック
スック

この基礎プログラムは、こちらの記事で解説しています

参考記事
【Pygame Zero】スクリーンに画像を 表示させる
【Pygame Zero】スクリーンに画像を 表示させる
スポンサーリンク
上キーで boonボーンを 上に動かす
下キーで boonボーンを 下に動かす
プログラムを 実行してみよう
ラッチ先生
ラッチ先生

まずは、boonボーンを 上に動かします
boonボーンを動かすプログラムは、「def update():」関数で 作ろう

def update()関数の解説
Python
def update():
    if keyboard.up:
pythonしよう!動き03:if keyboard.upの解説
ラッチ先生
ラッチ先生

上キーが 押されたら
 ・方向は 上
 ・5ピクセル 動かす
 ・上端より 上に行かない
この3つのプログラムを 書いていきましょう

pythonしよう!動き03:boon = Actor("boon", (400, 300))の解説
Python
        boon.angle = 90
pythonしよう!動き03:boon.angle = 90 の解説
ラッチ先生
ラッチ先生

プログラミングの世界では、
「=」は、代入する。
つまり、
boonボーン.angleアングルに、「90(データ)」を 代入する と言うこと
数学の「=(イコール)」と 違うからね

angle
pythonしよう!動き03:Actor()クラスのangle属性の解説
Python
        boon.move_forward(5)
pythonしよう!動き03:boon.move_forward(5)の解説
move_forward()メゾット
pythonしよう!動き03:Actor()クラスのmovr_forwardメゾットの解説
スック
スック

これで、上キーを押して、動かしてみよう

スック
スック

あらら! 上端へ 消えていったよ…

ラッチ先生
ラッチ先生

boonボーンが、上端より先に 行かないようにプログラムしましょう。
boonボーンが上端に当たる時の y座標を考えます。

pythonしよう!動き03:boon.png
pythonしよう!動き03:boonが上端に触れるy座標
boonが上端に触れたy座標
Python
        if boon.y < 50:
            boon.y = 50
pythonしよう!動き03:if boon.y < 50: boon.y の解説
スック
スック

これで、上端に当たると 進まなくなったね

ラッチ先生
ラッチ先生

次は、boonボーンを 下に動かします
上に動かすプログラムの 下に 書きましょう

Python
    if keyboard.down:
pythonしよう!動き03:if keyboard.downの解説
ラッチ先生
ラッチ先生

下キーが 押されたら
 ・方向は 下(-90度)
 ・5ピクセル 動かす
 ・下端より 下に行かない
この3つのプログラムを 書いていきましょう

Python
        boon.angle = -90
pythonしよう!動き03:boon.angle = -90の解説
Python
        boon.move_forward(5)
pythonしよう!動き03:boon.move_forward(5)の解説
ラッチ先生
ラッチ先生

そして、
boonボーンが、下端より先に 行かないようにプログラムしましょう。
boonボーンが下端に触れる時の y座標を考えます。

pythonしよう!動き03:boonが下端に触れた時のy座標
boonが下端に触れたy座標
Python
        if boon.y > HEIGHT - 50:
            boon.y = HEIGHT -50
pythonしよう!動き03:if boon.y > HEIGHT -50: boon.y = HEIGHT -50 の解説
スック
スック

これで、今回の学習は終了! おつかれさま

今回は、
上下キーを 押して boonボーンを 動かすプログラムを 作りました

ラッチ先生
ラッチ先生
上下キーで ボーンを 動かす
Python
import pgzrun
from pgzhelper import *

WIDTH = 800
HEIGHT = 590

boon = Actor("boon", (400, 300))

def draw():
    screen.fill("white")
    boon.draw()

def update():
    if keyboard.up:
        boon.angle = 90
        boon.move_forward(5)
        if boon.y < 50:
            boon.y = 50
    
    if keyboard.down:
        boon.angle = -90
        boon.move_forward(5)
        if boon.y > HEIGHT - 50:
            boon.y = HEIGHT -50

pgzrun.go()
ラッチ先生
ラッチ先生

キャラクター「boonボーン」のangleアングルは、
右が 0°、上が 90°、下が-90° 左が 180°
覚えておこうね!

pythonしよう!動き03:Actor()クラスのangle属性の解説
スック
スック

はぁ~い!

スポンサーリンク
ABOUT ME
ラッチ先生
ラッチ先生
こんにちは!
「Pythonしよう!楽しく学べるプログラミング教室」の学長、ラッチです。

scratchのように楽しく学べるPython講座です。
・図やアニメーションを使って、わかりやすく楽しく学べる!
・毎回の授業が新しい発見の連続!
・プログラミングの考え方が身につき、自分のやりたいことが形にできるように。

この3点をモットーにサイトを立ち上げました。 よろしくお願いします
記事URLをコピーしました