さぁ、スクラッチでナニ作る!?
乱数を回転角度と移動距離の2箇所に同時に適用している点が効いている。角度だけランダムにすれば方向が変わり、距離だけランダムにすれば速さが変わるが、両方に乱数を入れると「どこへ向かうか」も「どこまで進むか」も毎フレーム完全に予測不能になる。最小限のコードでこれだけ複雑に見える動きを生み出せる発想が面白い。どう組み立てているのか、作り方を見ていこう。
動画で見てみよう
チュートリアルの元になった作品
今回の目標
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1ネコの準備
準備
スプライト「ネコ」を開く
| スプライトについて |
|---|
| ランダムな方向と歩幅で画面内を動き回るネコ。端に当たると跳ね返り、コスチュームを交互に切り替えて歩行アニメーションを表現する。 |
| どんな役割か |
| ネコが画面の中をランダムにうろうろ動き回るようにするよ。端っこに当たったら跳ね返る設定もして、コスチュームを切り替えることで歩いてるアニメーションも付けちゃおう! |
実装
旗が押されたらネコを画面の真ん中(x:0, y:0)に置いて、向きを90度にリセット。回転方法を ( ) にするを「左右のみ」にするのがポイントで、こうしないとネコが逆さまにひっくり返るんだよね。
#2ランダムに歩かせる
まずずっとを置いて、この中にランダム移動のコードを入れていくよ。いよいよネコをランダムに歩かせよう。方向も歩幅も乱数で決めるから、毎回予測不能な動きになるんだ。
( ) ( ) 度回すで0〜30度のランダムな角度だけ回転して、( ) 歩動かすで5〜30歩のランダムな距離を進むよ。移動距離がバラバラだから、ネコが速く歩いたりゆっくりになったりしているように見えるんだ。方向と速さの両方がランダムになることで、完全に予測不能な動きが生まれる。
#3歩くアニメと跳ね返り
次のコスチュームにするでコスチュームを切り替えると、ネコが足を交互に動かす歩行アニメーションになるよ。もしもし端に着いたら、跳ね返るを入れなかったら、ネコは画面の外に飛び出してそのまま戻ってこないから、ちゃんとこれを追加して端で自動的に跳ね返るようにしよう。これでネコがずっと画面の中を歩き続ける仕組みの完成。
まとめ
乱数ブロックって、こんなシンプルな使い方でこれだけ面白い動きが作れるんだよ。方向と距離の2箇所に乱数を使うだけで、ネコの動きが一気に生き生きとしてくる。次はランダムな場所に移動するブロックも組み合わせてみたり、複数のスプライトを同じ仕組みで動かしてみたりすると、さらに面白いことができるよ!