今回の記事では、迷路ゲームをさらに発展させて、もっとゲーム性を高めていきます。
この記事で学べることは、以下の通りです。
- タイマーをつけることができる
- BGMをつけることができる
- 効果音をつけることができる
特に、難しいのは効果音の設定です。
今回の迷路ゲームでは、効果音を一回だけ鳴らしつつ、ゲームを継続させる場面があります。
後編で作ったコードを少し組み替える必要が出てくるので、ぜひ頑張って最後までゲームを完成させてみましょう。
Table of Contents
スクラッチの迷路ゲームの作り方①タイマー機能をつける
まずは、ゲーム開始から時間をカウントするためのタイマー機能を作りましょう。

最初に、左側にある「変数」の「変数を作る」をクリックします。

変数名は、タイマーと名付けておきましょう。

タイマーという変数を作ると、上の画像のように「タイマー」が出てくるので、カギの邪魔にならないように移動させておいてください。

タイマーの管理は、ゲーム全体の話なので、背景でコードを書いていきます。
上の画像のように、タイマーを0にしてから、「1秒待って、タイマーを1ずつずらす」をずっとのブロックの中に入れていきます。
わかりやすさの観点から、タイマーはさかなやサメなど特定のキャラクターではなく、背景でコードを作りましょう。

今後は、ゲームクリアした時点における時間を表示させます。
そのためには、まず「演算」から「りんごとバナナ」と書かれたものを真ん中に引っ張ってきます。
そして、りんごにタイマー変数を入れてください。
バナナの部分には、「でついた!」と直接打ち込みましょう。
できたら、「見た目」の「こんにちは!」に緑色の演算のブロックをはめ込んでください。
この時点でゲームクリアをしても、「タイマーでついた!」と表示されません。
理由は、「タイマーでついた!」と表示する前に、ゲームクリアを受け取った時に、ゲームクリアのスプライトにある「すべてを止める」が優先されてしまうからです。

最後に、ゲームクリアのスプライトで、「1秒待つ」と「2秒待つ」を表示するの上下に入れておいてください。
このように、時間を作ることで、すべて止める(=このゲーム全体が止まる)が遅くなります。
スクラッチの迷路ゲームの作り方②BGMをつける

では、次にゲーム全体のBGMを設定していきましょう。
BGMは基本的に、背景に付けます。
背景を選択した上で、画面左上にある「音」をクリック。

音をクリックしたら、画面左下にあるボタンを押して、BGMを検索しましょう。

今回は、「Dance」と検索ボックスに打ち込んで、「Dance Music」を選びましょう。
ちなみに、カーソルを再生ボタンにかざすと、音が流れますよ!
好きな音楽を選んでみましょう。

音楽を選択すると、上の画像のように追加されていることがわかりますよね。

BGMを鳴らすには、背景のコードから、上の画像のように、制御の「ずっと」の中に、「終わるまで〜の音を鳴らす」を入れるだけです。
こうすることで、ゲーム開始時にBGMが作動するようになります。
スクラッチの迷路ゲームの作り方③カギを取得したときの効果音をつける

現状では、さかながカギを取得しても音が鳴らないので、取ったことがよりわかるように、効果音を設定していきます。
カギの効果音を設定するのは、少し難しいので、上の画像のように「カギを取るまでのプログラム」と「カギを取った後のプログラム」に分けて、作りましょう。
さかなに触れたらまず「カギをゲットする」を送り、このスクリプトを終わりにするために、「このスクリプトを止める」を設定します。(とても重要です!)
スクリプトを止めてから、送った「カギをゲットする(メッセージ)」を受け取り、カギをさかなに追従させる動きを設定しましょう。
スクラッチの迷路ゲームの作り方④ゲームオーバーになった時の効果音をつける

次は、ゲームオーバーになった時の効果音を設定しましょう。
上記の画像のように、Bite(サメに当たった時に使う)とOops(黒い線に当たった時に使う)を探しておいてください。

さかなに元々設定してあったコードに、上記の画像のように「Oops」と「Bite」を入れ込んでおいてください。
サメに当たった場合には、Biteに効果音を変えておいてください。

そして、ゲームオーバーの効果音も設定しておきます。
上記の画像のように「Lose」を探しておいてください。

ゲームオーバーのスプライトを選択して、「Loseの音を鳴らす」を上記の画像のように設定しておきましょう。
これで、ゲームオーバーの効果音の設定は完了しました。
スクラッチの迷路ゲームの作り方⑤ゲームクリアになった時の効果音をつける

最後に、ゲームクリアになった時の効果音を設定しましょう。
上記の画像のように、「Win」の効果音を探しておいてください。

ゲームクリアのスプライトを選択した上で、「Win」の音を鳴らすを「ゲームクリアを受け取ったとき」の下に入れておいてください。
これで、ゲームクリアの効果音の設定は完了しました!
まとめ:スクラッチに慣れてきたらUnityに挑戦してみよう!

ここまで、スクラッチで迷路ゲームを作る方法を詳しく紹介しました。
発展系の内容なので、難しく感じた方もいるかもしれませんが、もしもここまでゲームを作ることができたなら、スクラッチではないプログラミングにも挑戦しても良いでしょう。
おすすめは、Unity(ユニティ)というゲーム開発エンジンを使ったプログラミングです。
スクラッチよりも見た目もよくて、複雑なゲームを作ることができますよ。
ちなみに、Unityは小学生が独学で勉強するのはかなり難しいので、プログラミング教室を活用しましょう。
興味のある方は、ぜひこちらの記事を参考にしてみてください。