こんにちは!デジタルステーション習志野スタッフの山本です。
今回はScratchプログラミングで、「クローンの位置にキャラクターを動かすためにはどうすればいいか?」という内容を、作品例を交えながら解説していきます!
「[スプライト] へ行く」ではダメ?

Scratchには「[スプライト] へ行く」というブロックがあります。
このブロックを実行すると、スプライトを指定した別のスプライトの位置に移動させることができます。
マウスのポインターやどこかの場所(ランダムな位置)に移動させることも可能です。
「それなら、このブロックを使ってクローンに移動すればいいのでは?」と思われるかもしれません。
ただ残念ながら、このブロックでは移動先をクローンにすることはできません。
Scratchの言い方をするなら、「[スプライトのクローン] へ行く」ブロックは作れないのです。
では、クローンの位置にキャラクターを動かすにはどうすればいいのでしょうか?
変数で座標の情報を伝えよう
「[スプライト] へ行く」ブロックの動きは、自分をほかのスプライトの座標に移動させるとも言いかえられます。

プログラムで表すとこんな感じ
スプライトの座標に移動させるということは、クローンについても座標が分かっていれば同じように同じ座標へ移動できるはずです。
そのクローンの座標を知るためには、変数を使ってクローンから自分の座標を伝えてもらいましょう!

「クローンのX座標」「クローンのY座標」という二つの変数を作ります。
そして、クローンのX座標とY座標を「ずっと」の繰り返しで、常にこの変数に記録させておきます。

クローンの座標が変数で分かるようになった!
これによって、クローンのX座標とY座標を、変数を通して確認できるようになりました。
あとは、変数で記録された座標へスプライトを移動させれば「クローンの位置にキャラクターを動かす」ことができます!

まとめ
今回はクローンの位置にスプライトを動かす方法を解説していきました。
プログラミングをする時に作りたいプログラムの作り方がわからなくなったときは、「スプライト へ行く」を「自分をほかのスプライトの座標に移動させる」と言い換えたように、プログラムの働きを別の視点から見てみることで解決策が見えてくることもありますよ。
また、ここで解説した内容を実際に動かして確認できるサンプルを公開しましたので、ぜひご覧ください。
→ https://scratch.mit.edu/projects/1171307937/
解説はこれで以上となります。お疲れさまでした!
デジタルステーション習志野
〒274-0063 船橋市習志野台4-1-7 習志野駅前郵便局2F
- 駅から徒歩一分
- 入り口はこちら
- 駐輪場