Scratchで はじめようゲームプログラミング
3.すばやくタッチゲームを作ろう②完
[ すばやくタッチゲームを作ろう① ] の続きです。
前のページで分からない所がありましたか?
初心者のときは分からないことがあっても、あまり悩まず先に進んだ方がいいです。
分からない点を検索して解決できれば一番いいのですが、とりあえず先に進んで学習を続けることが大切です。
一回検索して分からなかったら、先に進みましょう。
制限時間を入れよう
ずっとクリックするだけのゲームでは面白くないので、制限時間ありにします。
のこり時間をカウントダウンして、0になったらゲームオーバーにします。
制御から◯まで繰り返すを持ってきます。
演算から等しいかどうかを調べるブロックを持ってきます。
変数からのこり時間を持ってきます。
そして、のこり時間が 0 と等しいか判断させます。
変数からスコアを1ずつ変えるを持ってきます。
スコアからのこり時間に変更します。
そして -1 ずつ変えるようにします。
これで変数のこり時間が 0 になるまで 1 ずつ減らしていく処理が出来ました。
しかしこのままでは処理が一瞬で終わってしまいます。
そうならないように待ち時間を入れます。
制御から1秒待つを持ってきます。
これで 1 秒間に 1 ずつカウントダウンしていきます。
どうして1秒待つをのこり時間を-1ずつ変えるの上に入れるか分かりますか?
この順番が逆だと 7 からカウントダウンが始まり、のこり時間 0 を表示したまま 1 秒間待つことになります。
旗をクリックして、ステージを確認してください。
のこり時間が 1 ずつ減っていき 0 で止まれば OK です。
ゲームオーバーを入れよう
のこり時間が 0 になったらゲームオーバーにします。
キャラがしゃべるだけの簡単なものにします。
しかしゲームオーバーの瞬間キャラがどこにいるか分からないので、ステージ中央に持ってきましょう。
動きからx座標を0、y座標を0にするを持ってきます。
座標が 0 でなければ 0 に変更します。
見た目からこんにちは!と言うを持ってきます。
メッセージを「ゲームオーバー」に変更しましょう。
テストしましょう。
のこり時間が 0 になって、キャラが中央に移動して「ゲームオーバー」を表示すれば OK です。
バグを修正しよう
ゲームは完成しました。お疲れさまでした。
下図は全プログラムです。シンプルですね。
いやいや、待ってください。
プログラムにバグ(不具合)がないか調べてみましょう。
調べてみるとゲームオーバーになった後も、ネコをクリックすればスコアが入ります。
ありがちなバグです。
ゲームオーバーになったらクリックを無効にする必要があります。
では、ゲームオーバーは何で判断すればいいのでしょうか?
そう、のこり時間で判断します。
制御からもし◯ならを持ってきます。
上図のようにはさむには、下図のように3つのブロックを囲んだ影が出たときにドロップします。
うまく操作できないときは、一度外へ置いてから3つのブロックを移動させるのが簡単です。
移動が終わったらもし◯ならをこのスプライトが押されたときにくっ付けます。
演算から◯<◯を持ってきます。
変数のこり時間を右へ入れて、左は 0 に変更します。
この処理は…
もしのこり時間が 0 より大きければ、その中のブロックを実行します。
つまり、のこり時間が 0 になったとき(ゲームオーバーのとき)ネコをクリックしても何も起こりません。
これでバグは解決です。実際に確認してみてください。
音を入れてみよう
そういえば何か少しさびしいですね。
うーん、ネコをクリックしたとき音が出るようにしてみます。
音からニャーの音を鳴らすを持ってきます。
ネコをクリックして音を確認してください。音が聞こえないときは音量を確認しましょう。
命令ブロックが並んでいるところの上を見ると、3つのタブがあります。
コード、コスチューム、音のタブです。
音をクリックすると、このスプライトに登録された音を見ることができます。
「ニャー」という音が少しうるさいので別の音を追加してみます。
左下にあるアイコンをクリックしてください。
音の一覧が表示されます。
検索欄に boin と入力してみましょう。
結果から Boing をクリックします。
「Boing」が追加されましたね。
コードのタブをクリックしてプログラミング編集に戻ります。
「ニャー」のところをクリックしてみると「Boing」が追加されています。
「Boing」を選択してください。
ステージでネコをクリックして音が変わったことを確認しましょう。
「すばやくタッチゲームを作ろう」はこれで終了です。
ここから何か改造する習慣を持てるといいですね。
プログラムの理解が深まります。
例えば、ネコをクリックするたび違うコスチュームにするとか楽しそうです。