#005 ランダムなダッシュを作る

ok-scratch

スクラッチに挑戦している皆さん、どうも!スクラッチコーチです。

乱数ブロックを使うと、毎回ちがう速さでネコが画面を走るアニメーションが作れます。スクラッチの「端に着いたら跳ね返る」ブロックと組み合わせて、自動で行き来する仕組みを学びましょう。

さぁ、スクラッチでナニ作る!?

移動距離を毎フレーム乱数で変えることで「速さが変わる」ように見せる発想が効いている。等速移動ではなく「1回あたりの歩数を不確定にする」という考え方で、わずか1行のブロックから動きの揺らぎが生まれる設計になっている。速さを直接操るのではなく距離の確率的な変化を利用する点が興味深い。どんな組み方でこの揺らぎが作られているのか、見ていこう。

動画で見てみよう

ok-scratch ok-scratch
チャンネル登録して応援よろしく!チャンネル登録する

チュートリアルの元になった作品

今回の目標

  • 乱数ブロックで毎回ちがう歩数を使い、ネコの速さをランダムに変える
  • 端に着いたら自動で向きを変えて、画面を行ったり来たりするネコのアニメーションを完成させる

スターター作品をリミックスしよう

このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード

#1スタート位置の設定

ok-scratch ok-scratch
前回はコスチュームの切り替えでネコに歩くアニメーションをつけたよね。今回は「乱数」を使って、ネコの走る速さを毎回ランダムに変えてみよう。

準備

スプライト「ネコ」を開く

ネコネコ
スプライトについて
画面の中をランダムに歩き回るネコのキャラクター。端で跳ね返りながら動き続ける。
どんな役割か
ネコが画面をランダムに歩き回るよ!コスチュームが交互に切り替わるから、歩いてるみたいに見えるんだ。端に当たったら跳ね返るから、ずっと動き続けるね。

実装

step-0

動きx座標を ( ) 、y座標を ( ) にするでネコの位置をx: 0、y: -100にセットするよ。

ok-scratch ok-scratch
Scratchの座標は数学の「直交座標系」と同じ仕組みで、ステージの中心がx: 0、y: 0になってるよ。右に行くほどxが増えて、上に行くほどyが増えるから、y: -100は中心から下に100の位置なんだ。横は-240〜240、縦は-180〜180が動かせる範囲だね。この座標の考え方はゲームエンジンでもほぼ同じだから、覚えておくと他のプログラミングでも役立つよ。
画面のちょっと下のほう、ちょうど地面のあたりに立つ位置だね。

#2回転方法を固定する

ok-scratch ok-scratch
回転方法を「左右のみ」にしておかないと、端で跳ね返ったときにネコが逆さまになっちゃう。(やってみても面白いかも)
step-1
確認プレビューしておこう 確認プレビューしておこう
旗を押すとネコが5〜30のランダムな歩数で左右に走って、端で跳ね返るようになったね。

#3ランダムに走らせる

ok-scratch ok-scratch
いよいよ今回のメインだよ。ネコを毎回違う速さで走らせて、端まで行ったら自動で折り返す仕組みを作ろう。
step-2

制御ずっとの中で演算( ) から ( ) までの乱数を使い、5から30までの乱数を歩数にするよ。1回に動く距離をランダムにすることで、速さが毎回変わって見えるんだ。

#4アニメーション

step-3

コスチュームも毎回切り替えて走るアニメーションにして、動きもし端に着いたら、跳ね返るで画面端に着いたら自動で折り返すよ。

ok-scratch ok-scratch
乱数ってサイコロと同じ仕組みだよ。「5から30」って指定すると、実行するたびにその範囲でバラバラな数字が出てくる。ゲームでは敵の出現位置やダメージ量にも使われていて、「同じゲームでも毎回ちょっと違う」っていう面白さを生み出してるんだ。
次回は条件分岐を学んで、ネコに判断力を持たせるよ!

まとめ

乱数を使うと、同じプログラムでも毎回ちがう動きが楽しめるよ。距離をランダムにするだけで速さが変わって見えるのが面白いよね。次回は条件分岐を使って、ネコに判断力を持たせてみよう!

ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!