・ゲームオーバーとゲームクリア(ブロック「すべてを止める」)
・効果音の付け方(「~の音を鳴らす」)
下の画面の旗のボタンをクリックしてください。(効果音があります)
うまくボールをよけながら風船をとれたらゲームクリア!です。
○背景とスプライトの追加
(背景の設定とスプライトの追加の仕方は、前回のチャプターを参照)

「Basketball」、「Balloon1」をそれぞれ追加します。


○ねこ
スプライト名=ねこ、X座標=-180、Y座標=-110にしました。
初期化のためのブロック設定も忘れず行いましょう。

○バスケットボール
スプライト名=ボール、X座標=0、Y座標=0にしました。
また、ボールは画面上を斜めに動き回るようにしたいので、向き=140°に設定しています。
初期化のブロック設定は上のようになります。
○風船
スプライト名=風船、X座標=180、Y座標=70にしました。
風船に動きはないので、初期化の設定は必要ありませんが、
風船の青色が、背景と近い色で見づらいので、コスチュームを変更して黄色の風船にしましょう!
コスチューム選択画面から、「balloon1-b」をクリックして選択します。
以上で、背景/各スプライトの追加と初期設定は完了です。
次に、各スプライトの動きを作っていきますよ。
○マウスについてくるねこの動き
まずは、ねこの動きについて作っていきましょう!
スプライト選択をねこに戻してブロックを組んでいきます。
マウスについてくる動きを表現するには、いくつかの方法があります。
一番かんたんな例が、「ずっと」ブロックの中に「マウスのポインターへ行く」を入れたものです。
試しに、この状態で旗のマークをクリックしてみてください。
あっという間にねこがマウスのポインターの方に来て、マウスを動かすとねこがぴったりついてくるのがわかりますか?
これでもマウスについてくる動きは実現できていますし、ゲームによってはこのほうがいいと思います。
でも、あまりにすぐ風船にたどり着いてしまうので、今回のゲームには使えそうにありませんね、、、。
そこで、「マウスのポインターに向ける」ブロックを使った、別の方法を試しましょう。
これは、ねこをマウスのポインターの方に向けて、そのあと、5歩近づいてくる、
という形で動きを表現したものです。
再び、旗のボタンをクリックしてください。
どうでしょうか?先ほどよりもゆっくりとついてくる動きになりましたね。
(なお、ねこがマウスに近すぎると、カタカタくるくるして見える現象を回避する方法は、このチャプターの末尾をご参考ください)
ただ、このままだと、旗をクリックした瞬間からねこがカーソルの方に来てしまうので、
旗が押されてから1秒後にゲームが始まるようにしてみましょう。
このように、「ずっと」の上に「1秒待つ」のブロックを入れることで、ねこが動き始めるスタートを1秒遅らせることができます。
これで、ねこがマウスについてくる動きを作ることができました!
○ゲームオーバーとゲームクリア
次に、ゲームオーバーとゲームクリアを作っていきましょう。
どのようにブロックで表現していけばよいでしょうか。
まず、ゲームオーバーは、ボールに触れたなら、ですよね?
そんな時は、前回同様、「もし~なら」ブロックです!当たり判定ですね。
このように、もしボールに触れたなら、ねこがゲームオーバーと2秒言うようにして、
「ずっと」ブロックの中に配置しましょう。
できましたら、旗を押してボールに触れてみてください。
ねこがゲームオーバーと言うようになったと思います。
でも、ひとつ困ったことに気づきませんか?
このままだと、ゲームオーバーになった後でも、
ボールから離れればまた動き出して風船のところに行けてしまうのです。
ゲームオーバーになったら、ゲーム終了にしたい、、、!そんな時に使えるのが、「すべてを止める」ブロックです。
このように、「制御」欄から下部のほうにある「すべてを止める」ブロックを追加して、
ゲームオーバーと2秒言ったあとですべてを止めるようにしましょう。
「すべてを止める」は、
文字通り、すべてのスプライトなどの処理が止まるので、
これでゲーム終了を実現できます!
旗ボタンの横の赤丸を押したときと同じ効果が起きる、ということですね。
同様に、ゲームクリアも作っていきましょう。
ゲームクリアは、風船に触れた時です。完成後は、このようになりますよ。
以上で、ゲームオーバーとゲームクリア時のスクリプトを作ることができました。
今回は、それぞれの時の効果音も付けてみましょう。
○効果音の付け方
スクラッチには、スプライト同様、あらかじめ多くの効果音が用意されています。
まず、画面左上の、「音」タブをクリックしてください。
ねこのスプライトはあらかじめ「ニャー」の音が使えるようですが、
他の音を使いたい場合、左下ののボタンをクリックして、一覧から音を追加します。
今回は、ゲームオーバーの音に「Oops」、クリアの音に「Wand」をそれぞれ選択して追加していきましょう。
ご自身のお好きな音を選んでいただいても大丈夫ですので、試してみてください。
(それぞれの音の右上ののボタンにカーソルをのせると、音が聴けます。)
追加すると、
コードの「音」欄にある「~の音を鳴らす」ブロックで、追加した音が選べるようになっています。
「Oopsの音を鳴らす」のブロックと、「Wandの音を鳴らす」ブロックを、
それぞれゲームオーバー時とクリア時の部分に追加して、ねこのスクリプトは完成です。
ここで注意してほしいのは、ブロックの並び順です。
もし、
音を鳴らすブロックを、「~と2秒言う」のブロックより後に配置してしまうと、
風船に触れる→ゲームクリアと2秒言う(2秒待たされる)→音を鳴らすブロックが実行されると同時に、「すべてを止める」も実行されて、音が何も鳴らない、、、!
という順番の処理になってしまいます。
なお、一つ上に「終わるまで~の音を鳴らす」というブロックがありますが、
こちらのブロックは、「~と~秒言う」のブロックと同様、音が鳴り終わるまで次のブロックの処理は待機される使い方ができます。
「ずっと」ブロックの中に入れることで、BGMをループさせたいときなどにも使えるブロックです。
少々説明が多くなりましたが、最後にボールの動きを作ってプロジェクトは完成です!
○ボールの動きのスクリプト
斜めに動き回るボールのスクリプトは、<入門編>2-2 ねこを動かそう!その1で作った、
左右にウロウロするねこのスクリプトの応用です。
「ずっと」ブロックの中に「10歩動かす」と「もし端に着いたら、跳ね返る」を配置します。
初期設定の向きを斜めに変えておいたことで、画面上を斜めに動き回るようになります。
ねこと同様、「1秒待つ」のブロックで、
スタートして1秒後にゲーム開始するようにしましょう。
以上で、すべてのスクリプトが完成です!
実際に、旗ボタンでプロジェクトを動かしてみてください。
うまく動いていますでしょうか?
<入門編>作ってみよう!1 については、このチャプターでおしまいです。
お疲れさまでした。
次の <入門編>作ってみよう!2 では、
ゲームの条件などを作っていくのに欠かせない変数や演算について、
また実際に作品を作りながら学んでいきたいと思います!
今回もありがとうございました。
→次回 <入門編>3-1 りんごを数えてもらおう!(変数/クローン/メッセージ)に進む
※なお、マウスに近すぎるとねこがかたかたクルクルする現象を回避するには、
「5歩動かす」のブロックの部分を、上の図のように変更します。
かんたんに解説をしますと、
この現象は、マウスが近い時、つまり、
マウスのポインターまでの距離が5歩分より短いときにも5歩動かそうとする、
ことが原因で起きてしまっているので、
もし「マウスのポインターまでの距離<5」なら、
5歩動かすのではなく、マウスのポインターまでの距離だけ動かす、
そうでなければ、
5歩動かそう
という形に、「もし~なら、でなければ~」のブロックを使って修正すればよい、ということです。
なお、条件に、「演算」欄にある不等号(<)を使っていますが、
詳しくは次回以降のチャプターで学んでいきたいと思います。