Scratchで障害物競争ゲームを作ろう 発展編②ゲームクリアの文字を表示しよう
前回、BGMとSEをつけて、よりゲームらしくなりました。
今回は、ゴール時に、大きく『Game Clear!(ゲームクリア)』と表示するようにします。
発展編①はこちら↓
発展編① 音をつけよう
障害物競争ゲームを作ろうトップ記事はこちら↓
障害物競争ゲームを作ろうトップ記事
ゲームクリアの文字を表示する
「Game Clear!」のスプライトを作る
まずは、ゲームクリア時に表示する『Game Clear!』という文字のスプライトを作成しましょう。
①『スプライトを選ぶ』ボタンにマウスをのせます。
②メニューが出てくるので、『描く』ボタンをクリックします。

コスチューム(見た目)を描く画面になりました。

ここに、『Game Clear!』という文字を描いていきます。
①『テキストツール』をクリックします。
②キャンバス内のどこかをクリックします。クリックしたところから文字を入力できるようになります。

テキストエリアに『Game Clear!』と入力し、入力し終わったら、キャンバス内のどこかをクリックします。

今のままだと文字が小さいので、バウンディングボックス(水色の枠)の角をドラッグして、サイズを大きくします。
※画像内では「バウンディングオックス」になっていますが、正しくは「バウンディングボックス」です。

画面右側のプレビュー画面を確認しながら、文字の大きさを調整します。

文字の大きさを調整できたら、次はフォント(文字の見た目の種類)と色を変更しましょう。
『フォント欄』をクリックすると、使えるフォント一覧が出てくるので、その中から気に入ったものを選びましょう。サンプルでは、『Marker』というものを使っています。
色も好きなものに変えましょう。サンプルでは、色:96、鮮やかさ:59、明るさ:100のピンク色にしています。

『Game Over!』の文字を真ん中に表示するために、位置を調整します。
バウンディングボックス(水色の枠)の、線の上をドラッグすると、文字の位置を調整できます。
水色の「+」の字と、後ろに見える灰色の「+」の字が重なるように移動しましょう。

次に、スプライトの「x位置」「y位置」を両方0にします。
これで、画面の真ん中に『Game Clear!』の文字がくるようになりました。

今作った『Game Clear!』にスプライト名をつけましょう。『ゲームクリア』とします。

これで、スプライトの作成は完了しました。ここから、ゲームクリア時にこのスプライトが表示されるように、プログラミングしていきましょう。
ゴール時にスプライトを表示する
『コード』タブをクリックします。

『ゲームクリア』スプライトが、ゲームをスタートしたときに表示されていると困ります。
なので、最初は隠しておきましょう。
緑の旗ボタンが押されたとき、隠すようにコードブロックをつなげます。

これで一度ゲームを始めてみて、『Game Clear!』の文字が見えなくなったことを確認しましょう。
次に、ゴール時には表示するようにします。
ゴールのルールをコーディングしたのは、ねこのスプライトでしたね。
ねこのプログラムを見に行きましょう。
『ねこ』のスプライトをクリックします。

「もし(ゴールの)色に触れたなら」という部分が、ゴールの条件をあらわしたプログラムでしたね。
ここから、『ゲームクリア』スプライトに、ねこがゴールしたことを教えてあげるようにします。
メッセージを送る
ねこがゴールしたことを伝えるには、『メッセージ』という機能を使います。
①『イベント』→『(メッセージ1)を送る』の、(メッセージ1)部分をクリックします。
②『新しいメッセージ』をクリックします。

新しいメッセージを作成します。ここでは、「ゲームクリアしました」と入力します。
入力出来たら『OK』ボタンをクリックします。

今あたらしく作ったメッセージを、ねこがゴールしたしたときに送るようにしましょう。
『(ゲームクリアしました)を送る』ブロックを、『もし(ゴールの)色に触れたなら』ブロックの中に追加します。

これで、ねこがゴールした時、『ゲームクリアしました』というメッセージが送られるようになりました。
次に、そのメッセージを受け取って、ゲームクリアしたときに『Game Clear!』の文字を表示するようにしましょう。
『ゲームクリア』スプライトをクリックします。

「ねこがゴールした時、Game Clear!の文字を表示する」これをコード風にいいかえると、「(ゲームクリアしました)を受け取ったとき、『ゲームクリア』スプライトを表示する」となります。コーディングしていきましょう。
『イベント』→『(ゲームクリアしました)を受け取ったとき』ブロックを追加します。

『見た目』→『表示する』ブロックを追加します。

これで、ゴールした時に、『Game Clear!』と表示されるようになりました!
一度ゲームをプレイして、ちゃんと表示されるか確認してみましょう。
プログラムの調整をする
現在、ゴールした時に、ねこが『ゴール!」と言っていますが、もう『Game Clear!』と表示されているのでいりませんね。削除してしまいましょう。
『ねこ』スプライトのコードの、『(ゴール!)と言う』ブロックをドラッグして削除します。

また、今のままではゴールした後、ずっと音が鳴ったままで、ゲームが止まりません。
『制御』→『すべてを止める』ブロックを、ゴール条件のコードの最後に追加しておきましょう。

これで不要部分のプログラムが整理されました。
LET’S TRY!
ねこが壁にぶつかったときに『Game Over』と表示されるようにしてみましょう!考え方は、Game Clear!とほとんど同じです。
まとめ
お疲れ様でした!
「ゲームクリア」や「ゲームオーバー」が表示されるようになって、よりゲームらしい雰囲気が出てきましたね。
次は、タイムアタックで競えるように、プレイ時間を表示するようにしていきましょう。
次の記事「発展編③」こちら↓
発展編③ 経過時間を表示しよう
障害物競争ゲームを作ろうトップ記事はこちら↓
障害物競争ゲームを作ろうトップ記事
おすすめ
Scratchでのプログラミング学習におすすめの書籍です。
ディスカッション
コメント一覧
まだ、コメントがありません