動き

【Pygame Zero】キャラクターの座標を 表示する

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

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

今回のプロジェクトは、こちら!
pythonしよう!00:boonを表示する
pythonしよう!動き10:pygame zeroフォルダ
スック
スック

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

参考記事
【Pygame Zero】スクリーンに画像を 表示させる
【Pygame Zero】スクリーンに画像を 表示させる
スポンサーリンク
コードを 書こう
boonを クリックすると ランダムな場所へ 移る
boonの座標を 表示する
pythonしよう!動き10:boonの座標を 表示する
プログラムを 実行してみよう
ラッチ先生
ラッチ先生

boonボーンの座標を ランダムに決めるので、
まず、
ランダムモジュールを用意しよう

Python
import pgzrun
import random #この部分を 追加する
import pgzhelper #削除する
pythonしよう!10:import randomを解説する
pythonしよう!10:pgzhelperモジュールを解説する
ラッチ先生
ラッチ先生

onオン_mouseマウス_downダウン( ) 関数で
boonボーンをクリックしたらランダムな場所へ移る
プログラムを 作ります。

スック
スック

引数「posポス」の 中に、
クリックした地点の座標(x, y) が 代入されるよ

Python
def on_mouse_down(pos):
    if boon.collidepoint(pos):
ラッチ先生
ラッチ先生

Actorアクター()クラスにあるcollidepointコライド・ポイント()メゾットを使うと
boonボーンに クリックしたか判定してくれるよ

cillidepoint( )メゾット
pythonしよう!10:collidepoint()メゾットの解説
スック
スック

boonボーンをクリックすると、
boonボーン.collidepointコライド・ポイント(posポス)が 『Trueトゥルー』に なります。
そうしたら、
boonボーンを ランダムに決めた新しい場所へ 表示させるよ

ラッチ先生
ラッチ先生

boonボーンの新しい座標(x、y)は、
Actorアクター()クラスの 属性xと属性y に
ランダムに決めたデータを代入します

Actor()クラスとは?
pythonしよう!10:Actor()クラスの解説
スック
スック

まずは、boonボーンのx座標を 決めるよ

Python
        boon.x = random.randint(50, 750)
randint(a,b)関数
pythonしよう!07:randint関数を解説する
pythonしよう!10:boonのx座標の範囲を解説する
スック
スック

つぎは、
boonボーンのy座標を 決めるよ

Python
        boon.x = random.randint(50, 750)
スック
スック

これで、
boonボーンがクリックされたら、ランダムに動くようになったね

pythonしよう!07:boonの座標をj表示するスクリプト
ラッチ先生
ラッチ先生

最後に boonボーンの座標を スクリーンに 表示します。
screenスクリーン.drawドローにあるtextテキストメゾットを 使いましょう。

スック
スック

テキストをスクリーンに表示するから
defデフ drawドロー()関数の 中に プログラムを書いていくよ

text( )メゾット
pythonしよう!動き10:draw.text()メゾットの解説
スック
スック

”文字列”の所、
なんかf”({intイント(boonボーン.x), {intイント(boonボーン.y)})” と 書くみたいだけど
ややこしいなぁ…

ラッチ先生
ラッチ先生

f 文字列は、
変数のデータを 簡単に文字列に入れてくれる
pythonパイソンの便利な機能です

f 文字列
pythonしよう!動き10:f 文字列の解説
Python
    screen.draw.text(f"({boon.x}, {boon.y})", center=(boon.x, boon.y+70), size=70, color="blue")
pythonしよう!動き10:draw.text()メゾットの解説
スック
スック

変数boonボーン.xには、『400.0』
変数boonボーン.yには、『300.0』 と データが 入っているんだね

小数第1位以下を 切り捨てて、整数にしてしまう
pythonの中に入っている便利な関数です

Python
    screen.draw.text(f"({int(boon.x)}, {int(boon.y)})", center=(boon.x, boon.y+70), fontsize=70, color="blue")
pythonしよう!動き10:int()の解説
pythonしよう!動き10:boonの座標を表示するスクリプト
スック
スック

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

今回は、
boonボーンをクリックしたら ランダムに場所を移し、座標を表示するプログラムを
作りました

ラッチ先生
ラッチ先生
pythonしよう!動き10:まとめ 文字を表示させる
クリックするとランダムに 場所を 移す
Python
import pgzrun
import random

WIDTH = 800
HEIGHT = 590

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

def draw():
    screen.fill("white")
    boon.draw()
    screen.draw.text(f"({int(boon.x)}, {int(boon.y)})", center=(boon.x, boon.y+70), size=70, color="blue")

def on_mouse_down(pos):
    if boon.collidepoint(pos):
        boon.x = random.randint(50, 750)
        boon.y = random.randint(50, 540)

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

f 文字列の使い方が わかったな。
これは、変数のデータを 表示できる とても便利な機能なので、
覚えておくと いいよ!

スック
スック

はぁ~い!

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

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

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