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

    ジオメトリーダッシュの作り方⑥ 当たり判定の改善

    ジオメトリーダッシュの作り方⑥ 当たり判定の改善
    この記事は スクラッチコーチで掲載されているオリジナル記事 のバックアップです。
    スターター作品
    なし
    今回の完成サンプル
    なし

    いい感じで進んでいるところなんだけど、先日こんな声をいただいた。

    ジオメトリーダッシュの作り方⑥ 当たり判定の改善を語るok-scratch ok-scratch

    u003cpu003eめっちゃ分かるw 作者も跳べなくて悩んでたwu003c/pu003e

    ということで今回は当たり判定(衝突判定)を改善することで、スパイク(トゲトゲ)に触れるときの判定を緩めていこうと思う。そのほうがゲームが面白くなるから、これは必要な改善なんだ。易しすぎてもゲームが退屈になるけど、難しすぎると飽きられちゃうからね。ゲームバランスってやつだ。

    今回のゴール

    今回は衝突判定を改善するだけだから少し短い。でも大切。

    最終的にこんな感じで3マスでもまぁまぁ飛べるようになることがゴールだ。

    ジオメトリーダッシュの作り方⑥ 当たり判定の改善を語るok-scratch ok-scratch

    u003cpu003eデバッグのためにスプライト「コース」のコスチューム1(の右端)にトゲトゲを追加しておくとテストが楽だよ。u003c/pu003e

    スプライト「プレイヤー」

    プレイヤーに衝突判定用のコスチュームを追加していくよ。

    コスチューム名も「プレイヤー」に変えておこうか。

    コスチューム「衝突判定_スパイク」を追加する

    新しいコスチュームを作って「衝突判定_スパイク」って名前にしておく。このコスチュームは20x20のサイズにしておこう。プレイヤーが34x34だから、ちょい小さい正方形になる。色はぶっちゃけ何色でもいい!

    ゲームループを改修する

    「ゲームスタート」を受け取ったとき、から始まる処理のループを変えるよ。スクショを参考に、「もし」ブロックに一部の処理を移してみよう。

    こんな感じにする↓

    さらに「このスクリプトを止める」ブロックを「もし」の中に追加しておこう。

    これはループの中に設置する。

    そしてこの「◯まで繰り返す」ブロックを「ずっと」ブロックに置き換える。

    こういう感じ↓

    何も変わってないかテストする

    忘れないように最初にコスチュームを「プレイヤー」にしておこう。

    よし、これでいったんテストで動かしてみよう。

    うん、何も変わってないからOK。先に進もう。

    衝突判定用のコスチュームを適用する

    さっき作ったコスチュームに着替える処理を追加するよ。

    スクショをみて該当する2ヶ所にコスチュームを着替えるブロックを追加する。

    さらに「ゲームオーバー」を受け取ったときもコスチュームを着替えるようにしよう。

    衝突判定が改善されてスパイクが乗り越えやすくなったかテストする

    おっけー!なんとか3回目でジャンプ成功!いままでは永遠にチャレンジしても飛び越えられなかったくらい難しかったけど、これですっきり飛べるようになった!

    まとめ

    ジャンプしたら衝突判定用の一回り小さいコスチュームに着替えることで、体が少しかすった程度ではゲームオーバーにならなくなったね。小さい工夫だけど、これによってジャンプして障害物を乗り越えていくゲーム体験が大きく飛躍したぞ!

    次回はダッシュしている最中のパーティクル(キラキラ)を実装する!これも楽しいところ!

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