- スターター作品
- なし
- 今回の完成サンプル
- なし
さぁ、スクラッチでナニ作る!?
移動距離を毎フレーム乱数で変えることで「速さが変わる」ように見せる発想が効いている。等速移動ではなく「1回あたりの歩数を不確定にする」という考え方で、わずか1行のブロックから動きの揺らぎが生まれる設計になっている。速さを直接操るのではなく距離の確率的な変化を利用する点が興味深い。どんな組み方でこの揺らぎが作られているのか、見ていこう。
動画で見てみよう
[talk]チャンネル登録して応援よろしく!チャンネル登録する[/talk]チュートリアルの元になった作品
[prj-embed prj="1309214972" mini="1" title="プレイしておこう" prj-title="sb3_20260419163145" prj-author="ok-scratch"]今回の[prj-link prj="1309214972" title="sb3_20260419163145" author="ok-scratch"]スクラッチを作る参考作品[/prj-link]です。[/prj-embed]今回の目標
- 乱数ブロックで毎回ちがう歩数を使い、ネコの速さをランダムに変える
- 端に着いたら自動で向きを変えて、画面を行ったり来たりするネコのアニメーションを完成させる
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1スタート位置の設定
[talk class="m-l-n"]前回はコスチュームの切り替えでネコに歩くアニメーションをつけたよね。今回は「乱数」を使って、ネコの走る速さを毎回ランダムに変えてみよう。[/talk]準備
スプライト「ネコ」を開く
| スプライトについて |
|---|
| 画面の中をランダムに歩き回るネコのキャラクター。端で跳ね返りながら動き続ける。 |
| どんな役割か |
| ネコが画面をランダムに歩き回るよ!コスチュームが交互に切り替わるから、歩いてるみたいに見えるんだ。端に当たったら跳ね返るから、ずっと動き続けるね。 |
実装
x座標を ( ) 、y座標を ( ) にするでネコの位置をx: 0、y: -100にセットするよ。[talk]Scratchの座標は数学の「直交座標系」と同じ仕組みで、ステージの中心がx: 0、y: 0になってるよ。右に行くほどxが増えて、上に行くほどyが増えるから、y: -100は中心から下に100の位置なんだ。横は-240〜240、縦は-180〜180が動かせる範囲だね。この座標の考え方はゲームエンジンでもほぼ同じだから、覚えておくと他のプログラミングでも役立つよ。[/talk]画面のちょっと下のほう、ちょうど地面のあたりに立つ位置だね。
#2回転方法を固定する
[talk class="m-l-n"]回転方法を「左右のみ」にしておかないと、端で跳ね返ったときにネコが逆さまになっちゃう。(やってみても面白いかも)[/talk]
#3ランダムに走らせる
[talk class="m-l-n"]いよいよ今回のメインだよ。ネコを毎回違う速さで走らせて、端まで行ったら自動で折り返す仕組みを作ろう。[/talk]ずっとの中で( ) から ( ) までの乱数を使い、5から30までの乱数を歩数にするよ。1回に動く距離をランダムにすることで、速さが毎回変わって見えるんだ。
#4アニメーション
コスチュームも毎回切り替えて走るアニメーションにして、もし端に着いたら、跳ね返るで画面端に着いたら自動で折り返すよ。[talk]乱数ってサイコロと同じ仕組みだよ。「5から30」って指定すると、実行するたびにその範囲でバラバラな数字が出てくる。ゲームでは敵の出現位置やダメージ量にも使われていて、「同じゲームでも毎回ちょっと違う」っていう面白さを生み出してるんだ。[/talk]次回は条件分岐を学んで、ネコに判断力を持たせるよ!
まとめ
乱数を使うと、同じプログラムでも毎回ちがう動きが楽しめるよ。距離をランダムにするだけで速さが変わって見えるのが面白いよね。次回は条件分岐を使って、ネコに判断力を持たせてみよう!