「Scratchでゲームを作ってみたい」と思っても、最初の一歩が難しく感じる子は少なくありません。でも実際は、シンプルなゲームなら短時間で形になります。今回は「ぶつかったらアウト」ゲームを作りながら、当たり判定の基本的な仕組みを一緒に学んでいきましょう。

「ぶつかったらアウト」ゲームとは?

プレイヤーキャラクターを矢印キーで動かし、敵キャラクターに当たったらゲームオーバーになる、シンプルな避けゲームです。

Scratchで最もよく作られるジャンルの一つで、ゲーム制作の基本要素が凝縮されています。

矢印キー操作・敵の動き・当たり判定・ゲームオーバー演出——この4つを習得すると、そこからさまざまなゲームへの応用が利きます。

ステップ1:スプライトを2つ用意する

まず、プレイヤー用と敵用の2つのスプライトを用意します。

プレイヤーは猫スプライトをそのまま使うのが手軽です。敵はライブラリの中から見やすいものを自由に選んでください。

それぞれのスプライトに名前をつけておくと、後でプログラムを組むときに混乱しません。

スプライトの名前を最初につけておくことは、教室でも必ず伝えている基本ルールです。

ステップ2:プレイヤー(猫)を矢印キーで動かす

猫のプログラムを作ります。旗が押されたときに初期位置(X座標・Y座標)をリセットし、「ずっと」ループの中に4方向の「もし〜なら座標を変える」ブロックを組み込みます。

上下はY座標、左右はX座標を変えます。「Y座標を変える」は値を「にする」ではなく「ずつ変える」を選ぶのがポイントです。数値は5〜10程度で速さを調整しましょう。

ステップ3:敵キャラクターを動かす

敵の動きは2パターン用意されています。

一つは「乱数を使ってランダムに動く」方法、もう一つは「プレイヤーを追いかける」方法です。

初心者にはランダム移動が作りやすく、追いかける動きは少し応用が必要です。敵の速さを変数で管理しておくと、後から「時間が経つほど速くなる」などの仕掛けを加えやすくなります。

ステップ4:当たり判定を作る

ゲームの核心部分です。「ずっと」ループの中に「もし〔敵〕に触れたなら」ブロックを組み込み、触れたときの処理(ゲームオーバー)へとつなぎます。

ここで注意したいのが「どのスプライトのプログラムに書くか」という点です。

この構造を間違えるとバグの原因になるので、スプライトの選択状態を必ず確認してください。

ステップ5:ゲームオーバーの演出を作る

当たり判定の後に「すべてを止める」ブロックをつなぐとゲームが停止します。

そこに「〔ゲームオーバー〕と2秒言う」ブロックを追加するだけで、シンプルなゲームオーバー演出ができます。

コスチュームを変えたり音を鳴らしたりすることで表現の幅が広がります。

完成したゲームを動かしたとき、子どもたちの顔が一気に輝くのがこのステップです。

できた人への応用ミッション3選

基本が完成したら、次のミッションに挑戦してみましょう。

①敵を2体に増やす(クローンを使うか、スプライトをもう一つ追加する)

②時間が経つほど敵の速さが上がる(変数と「1秒待つ」ループを組み合わせる)

③1秒ごとにスコアが増えるカウンターをつける(変数+「1秒待つ」ループ)

これらをクリアすると、ゲーム制作の基本的なパターンがほとんど身につきます。

動画でも詳しく解説しています

冒頭の動画では、実際の画面操作を見ながら手順を追えるようになっています。

「バグが起きた原因は?」の解説パートも含まれており、よくある失敗と対処法を一緒に学べます。

お子さんがパソコンの前で動画を再生しながら作業するのに最適なつくりになっています。

プログラメイクでは、東京都中央区で小学生・中学生を対象にScratchを使ったゲーム制作授業を行っています。

小学生向けのプログラミングの習い事として中央区でプログラミング教室をお探しの保護者の方はぜひ体験授業へお越しください。