動き

【Pygame Zero】キャラクターが 斜めに動き続ける

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

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

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

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

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

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

参考記事
【Pygame Zero】スクリーンに画像を 表示させる
【Pygame Zero】スクリーンに画像を 表示させる
スポンサーリンク
boonボーンを 斜めに向けて 動かす
上下の端に 触れたら、跳ね返る
左右の端に 触れたら、跳ね返る
プログラムを 実行してみよう
ラッチ先生
ラッチ先生

まずは、
Actorアクター()クラスの属性angleアングルboonボーンを 斜め60°に向けます

Actor()クラスとは?

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

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

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

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

def update()関数
Python
def update():
    boon.move_forward(5)
スック
スック

あららっ! 消えていったよ

ラッチ先生
ラッチ先生

つぎに、
上下の端に 触れたら 跳ね返るようにします。
boonが 上下の端に触れた時の y座標を確認しましょう

boonが上端に触れたy座標
Python
    if boon.y < 50
Python
    if boon.y < 50 or boon.y > HEIGHT - 50:
        boon.angle = -boon.angle
ラッチ先生
ラッチ先生

跳ね返った角度の求め方 『- boonボーン.angleアングル 』について
解説します

スック
スック

上下に跳ね返る時は、-angleに なるんだね

ラッチ先生
ラッチ先生

つぎに、
左右の端に 触れたら 跳ね返るようにします。
boonボーンが 左右の端に触れた時の x座標を確認しましょう

boonが右端に触れたx座標
Python
    if boon.x > WIDTH -50 
Python
    if boon.x > WIDTH - 50 or boon.x < 50:
        boon.angle = 180 - boon.angle
ラッチ先生
ラッチ先生

跳ね返った角度の求め方 『180 – boonボーン.angleアングル 』について
解説します

ラッチ先生
ラッチ先生

計算では、420°となりますが、
420°は、60°(420-360=60)です
-240°は、120°だよ

スック
スック

角度は、ややこしいなぁ… 

スック
スック

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

今回は、
boonボーンが 斜めに動き続けるプログラムを 作りました

ラッチ先生
ラッチ先生
boonが 斜めに 動き続ける
Python
import pgzrun
from pgzhelper import *

WIDTH = 800
HEIGHT = 590

boon = Actor("boon", (400, 300))
boon.angle = 60

def draw():
    screen.fill("white")
    boon.draw()
    
def update():
    boon.move_forward(5)
    
    if boon.y < 50 or boon.y > HEIGHT - 50:
        boon.angle = -boon.angle
      
    if boon.x < 50 or boon.x > WIDTH - 50:
        boon.angle = 180 - boon.angle

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

boonボーン.angleアングルに 好きな角度を入れて boonボーンを 動かしてみよう!

スック
スック

はぁ~い!

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

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

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