スクラッチコーチキャンプ スクラッチで使える無料素材集
  • 素材
  • 修行
  • はじめての方へ
  • スクラッチゲームの作り方

    #006 ウロチョロしてみよう!

    #006 ウロチョロしてみよう!
    この記事は スクラッチコーチで掲載されているオリジナル記事 のバックアップです。
    スターター作品
    なし
    今回の完成サンプル
    なし

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

    乱数を回転角度と移動距離の2箇所に同時に適用している点が効いている。角度だけランダムにすれば方向が変わり、距離だけランダムにすれば速さが変わるが、両方に乱数を入れると「どこへ向かうか」も「どこまで進むか」も毎フレーム完全に予測不能になる。最小限のコードでこれだけ複雑に見える動きを生み出せる発想が面白い。どう組み立てているのか、作り方を見ていこう。

    動画で見てみよう

    [talk]チャンネル登録して応援よろしく!チャンネル登録する[/talk]

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

    [prj-embed prj="1309260256" mini="1" title="プレイしておこう" prj-title="d6" prj-author="ok-scratch"]今回の[prj-link prj="1309260256" title="d6" author="ok-scratch"]スクラッチを作る参考作品[/prj-link]です。[/prj-embed]

    今回の目標

    乱数ブロックで回転角度(0〜30度)と移動距離(5〜30歩)を毎フレームランダムに決定し、ネコが画面内を予測不能な動きで歩き回るアニメーションを作ります。端に当たると自動的に跳ね返り、コスチュームの切り替えで歩行アニメーションも表現します。

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

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

    #1ネコの準備

    [talk class="m-l-n"]ネコが画面の中をランダムにうろうろ歩き回るプログラムを作るよ。まずはスタート位置と動き方の設定から始めよう。[/talk]

    準備

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

    ネコネコ
    スプライトについて
    ランダムな方向と歩幅で画面内を動き回るネコ。端に当たると跳ね返り、コスチュームを交互に切り替えて歩行アニメーションを表現する。
    どんな役割か
    ネコが画面の中をランダムにうろうろ動き回るようにするよ。端っこに当たったら跳ね返る設定もして、コスチュームを切り替えることで歩いてるアニメーションも付けちゃおう!

    実装

    step-0

    旗が押されたらネコを画面の真ん中(x:0, y:0)に置いて、向きを90度にリセット。動き回転方法を ( ) にするを「左右のみ」にするのがポイントで、こうしないとネコが逆さまにひっくり返るんだよね。

    確認プレビューしておこうという口コミを寄せてくれた方 確認プレビューしておこう
    旗を押すとネコが真ん中に移動して、回転方法が左右のみに設定されたね。

    #2ランダムに歩かせる

    step-1

    まず制御ずっとを置いて、この中にランダム移動のコードを入れていくよ。いよいよネコをランダムに歩かせよう。方向も歩幅も乱数で決めるから、毎回予測不能な動きになるんだ。

    動き( ) ( ) 度回すで0〜30度のランダムな角度だけ回転して、動き( ) 歩動かすで5〜30歩のランダムな距離を進むよ。移動距離がバラバラだから、ネコが速く歩いたりゆっくりになったりしているように見えるんだ。方向と速さの両方がランダムになることで、完全に予測不能な動きが生まれる。

    [talk]乱数はゲーム作りで超重要な要素だよ。敵の出現位置やアイテムのドロップ率、ダメージのばらつき——ゲームに「毎回違う体験」を生み出してるのは、だいたい乱数のおかげ。サイコロを振るのと原理は同じだけど、プログラムなら0〜30みたいに好きな範囲を自由に指定できるのが強いよね。[/talk]

    確認プレビューしておこうという口コミを寄せてくれた方 確認プレビューしておこう
    ネコがランダムな方向に、ランダムな歩幅で動き回るようになったね。

    #3歩くアニメと跳ね返り

    [talk class="m-l-n"]ネコの動きはできたけど、このままだとネコが滑って移動してるみたいだし、画面の外に出ちゃう可能性もある。仕上げとして見た目と移動範囲を整えよう。[/talk] step-2

    見た目次のコスチュームにするでコスチュームを切り替えると、ネコが足を交互に動かす歩行アニメーションになるよ。もし動きもし端に着いたら、跳ね返るを入れなかったら、ネコは画面の外に飛び出してそのまま戻ってこないから、ちゃんとこれを追加して端で自動的に跳ね返るようにしよう。これでネコがずっと画面の中を歩き続ける仕組みの完成。

    [talk]「端に着いたら跳ね返る」っていう処理、実はゲーム作りでめちゃくちゃよく使う考え方なんだよね。ブロック崩しのボールが壁で跳ね返るのも、ピンボールの球が反射するのも、全部「当たり判定+方向反転」っていう仕組み。Scratchだと1ブロックで済むけど、中身でやってることはプロのゲームと同じ原理なんだ。自分でシューティングゲームとか作るときにも、この「端で跳ね返る」は絶対使うから覚えておくといいよ。[/talk]

    まとめ

    乱数ブロックって、こんなシンプルな使い方でこれだけ面白い動きが作れるんだよ。方向と距離の2箇所に乱数を使うだけで、ネコの動きが一気に生き生きとしてくる。次はランダムな場所に移動するブロックも組み合わせてみたり、複数のスプライトを同じ仕組みで動かしてみたりすると、さらに面白いことができるよ!

    ブクマよろしくお願いします!という口コミを寄せてくれた方 ブクマよろしくお願いします!
    どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!