Scratch(スクラッチ)

【スクラッチゲームの作り方】はじめての当たり判定を使ったゲームの作り方

このシリーズでは、Scratchではじめてゲームをつくりはじめた方向けに、ゲームをつくるときに便利な機能について解説していきます。

今回は、当たり判定の使い方です。

当たり判定は、自分と敵が触れた時にライフ(残り機体数)を減らすなど、ゲームの中で何かと何かが触れたことをとらえて、続きの処理を実行することをいいます。

ゲームを作るときによく使う機能でなので、ここで身につけておきましょう!

当たり判定がどんなものか実験で確かめてみましょう

まず、スクラッチで新しいプロジェクトをつくって、何か一つスプライトを追加して、ネコから少しはなしておいておきましょう。

下の図では、ボールを追加しています。

次に、コードタブの「調べる」カテゴリから、「マウスのポインターに触れた」というブロックを出してください。

「マウスのポインター」になっていたところを、自分が選んだスプライトの名前に変更し、このブロックをクリックしてみましょう。

すると、ブロックの下に「false」という文字が表示されると思います。「false」は、この調べるブロックの条件が満たされていないという意味です。

上の例でいうと、「ネコがボールに触れた」という条件が満たされていない、つまり、「ネコとボールが触れていない」という意味です。

今度は、ボールを、ネコと触れている場所まで移動させ、もう一度ブロックをクリックしてみましょう。

すると、ブロックの下に「true」という文字が表示されると思います。

「true」は、この調べるブロックの条件が満たされているという意味です。

上の例でいうと、「ネコがボールに触れた」という条件が満たされている、つまり、「ネコとボールが触れている」という意味です。

当たり判定を使って、ネコを鳴かせてみよう!

この性質を使うと、例えば下の画像のように、ネコがニャーとなくプログラムを作ることができます。

「もし〜なら」でかこまれたプログラム(上の例では「終わるまでニャーの音を鳴らす)は、「もし〜なら」の条件が「true」のとき(上の例では「Ballに触れた」という条件が満たされている時)に動きます。

逆に「false」のときは、「もし〜なら」でかこまれたプログラムは動きません。

上の例では、ネコとボールが触れているときはニャーの音がなりますが、はなれているときは鳴りません。

シューティングゲームで当たり判定を使う

実際のゲームで、当たり判定がどんなふうに使われるのが見てみましょう。

まずは、シューティングゲームです。

シューティングゲーム

シューティングゲームで、「自分の飛行機と敵の飛行機が当たったら、ゲームオーバーにしたい」ときに、当たり判定を使うことができます。

下の図のように、自分の飛行機(Rocketship)のコードタブ中に、「もしPlanet2(敵キャラ)に触れたなら」というプログラムを作り、その中にゲームオーバーをスタートさせるメッセージを入れます。

すると、自分の飛行機と敵キャラがぶつかった瞬間に、ゲームオーバーの処理が実行されます。

くわしい作り方は、下の記事を確認してみてください。

ピンポンゲームでボールを打ち返す

次に、ピンポンゲームでボールを打ち返すときの当たり判定を見てみましょう。

ピンポンゲームは、画面の下にボールが落ちないように、パドルを動かしてボールを打ち返すゲームです。

ピンポンゲーム

ボールを打ち返すという動きを分解すると、ボールとボールを打ち返すパドルが触れたら、ボールが進む方向を変えるとなります。

この動きは、下のようなプログラムで実現されています。

ピンポンゲームの詳しい作り方は、以下の記事をご覧ください。

ゲーム制作やプログラミングをさらに学びたい方へ!

本ブログでは、Scratchを使ったゲーム制作の基本について解説していますので、ぜひご覧ください!

「お家でやったけれども、うまくいかなかった」「さらに高度なことをやってみたい!」という方へ

最近は、プログラミングを学習するためのアプリや本、無料のプラットフォームも増えてきて、子どもがプログラミングを学習する機会や環境も整ってきました。

しかし、保護者の方とお話ししていると

  • あきてしまって、長続きしなかった
  • 本やアプリで自習してみたけど、うまくいかなかった
  • 保護者の方がプログラミングの経験がなく、子どもに教えるのが難しい

といったお話をよくうかがうことも多いです。

そんな方は、一度当ブログを運営するプログラミング教室MYLABのレッスンを体験してみませんか?

MYLABのレッスンの特徴は以下のような特徴があります。

  • お子さまが楽しくプログラミングを続けることができるカリキュラム
  • 一人ひとりの「創りたい!」にこたえられる知識を持ち、成長をサポートできるメンター陣
  • 初学者だけでなく、ロボコンにチャレンジしたり、本格的な3Dゲームをつくったりする上級コースまで継続できる

「本当に楽しめるのかな?」「うちの子に合うかしら?」「飽きっぽいうちの子が続けられるかしら?」と思う方もいるかもしれません。

そんな方は、ぜひ一度無料で開催している体験レッスンに来て、実際に体験してみてください!

ゲーム・プログラミング体験(70分)

  • どんなゲームをつくることができるのか、まずは遊んでみる
  • ミッションをクリアするためのアイデアを考える
  • コーチのサポートを受けながら、自分のアイデアを実現する!

体験会では、お子さまが集中してプログラミングしたり、作品を作ったりしている普段とは違う姿をみられるはずです!

ご興味をもっていただいた方は、ぜひ下のボタンからお申し込みください!

オンラインまたはMYLAB中目黒校での
体験授業お申込みはこちら

 

 

ABOUT ME
柿沼 功
MYLAB事業責任者。経営学修士(MBA)。株式会社明光ネットワークジャパンにて、明光義塾のeラーニングシステム開発・運用の責任者をつとめ、2020年2月よりMYLAB事業に従事。