最終更新日 2025年4月24日 by toytune
スクラッチはアメリカの大学、MIT(マサチューセッツ工科大学)メディアラボで開発されたビジュアルプログラミング言語です。
はじめに
前回のプログラムでは、「Snake(ヘビ)」のスプライトを追加し、触れるとスコアが減る仕組みを作成しました。今回は、スコアが「-1」になったときに背景を「Game Over」画面に切り替えるプログラムを作っていきます。
まずは切り替え先の「Game Over」背景を作成し、続いて背景を切り替えるプログラムを追加していきましょう。
※背景の基本的な切り替え方法については、以下の記事も参考にしてください。
また「背景」の切り替えについては、こちらの記事もご参考ください。
▼ 今回作成するプログラム(の旗をクリックして動作を確認することができます)
「Game Over」の背景を作成する
右下の「背景を選ぶ」から、ペンのアイコン(描画)をクリックすると、背景の編集画面に移ります。

すると、画面が遷移し背景を描画する画面になります。
右上のタブが背景になっており、「Forest」の下にあらたに背景が追加されています。

画面の中に「矢印」や「ペン」、「バケツ」といった描画するためのツールのアイコンも確認できると思います。その中から「正方形」のアイコンをクリックで選択します。

選択できたら青くなります。できたら次に画面中央の描写するところでドラッグすると、四角がドラッグした分だけ描画されると思います。

途中でドラッグを止めても矢印のアイコンをクリックし、ドラッグで大きさを調整することができます。

ここでは画面全体よりも小さい四角のままドラッグを離したので、描画した周りにある点のところでドラッグし全体が紫色の視覚になるようにドラッグで広げ調整します。
下記画像のように白い境界線をはみ出しても表示されないだけで問題ありません。

この段階でステージを確認すると、全体が紫色の背景に変わっていると思います。

次に色を「Game Over」っぽく紫でなく黒にしたいので色を調整します。
色の調整は、描画画面の上にある「塗りつぶし」のところをクリックして、色を調整するパレットを表示させます。スライダーが3つありますが、一番下の「明るさ」んスライダー全てを左いっぱいにドラッグし黒にします。

「Game Over」の文字を追加する
ツールの「T(テキスト)」アイコンを選び、色を赤に変更してから、画面中央をクリックして「Game Over」と入力します。

文字の初期設定は黒色になっているので、黒色の四角の中に入るとどこにいったかわからなくなります。なので先に色を赤色に変えておきたいと思います。
「塗りつぶし」のところをクリックし、パレットを表示させます。今度は一番下のスライダーを右いっぱいにドラッグします。

色の調整ができたら、画面の中央あたりをクリックし、「Game Over」と入力してください。

もし中央からずれていたら、ツールのアイコンから「矢印」のアイコンをクリックで選択してドラッグ、またはカーソルキーを使ってで中央に調整してください。

これで、切り替える背景となる「GAME OVER」の背景が作成できました。

この段階でステージを見てみると変わっていることが確認できます。

後で、コードブロックで背景を変更する際にどの背景にするかをわかりやすくしておくために「GAME OVER」という名前をつけておきます。
コスチュームのところに「GAME OVER」と入力してください。

背景を切り替えるプログラムを追加する
スコアが「-1」になったら背景を切り替えるように、ネコのスプライトに以下のようなコードブロックを追加します。
背景を切り替える条件は、操作をするネコの「スプライト」が持つことになりますので、画面右下の「スプライト」の中から、ネコの「スプライト」をクリックで選択します。

コードブロックの画面になっているか確認してください。
もし、コードブロックの画面になっていなかったら、画面左上のタブの中から「コード」をクリックで選択してください。

では、コードを追加していきます。
今回は、いったん小さいコードブロックのかたまりを作ってから、既存のコードブロックのかたまりにまとめていきます。
空いているスペースに「もし〜なら」のブロックをドラッグしてください。

「演算」のところから「〜=〜」のブロックをドラッグし、「もし〜なら」の「〜」の部分にドラッグしてください

「変数」から「スコア」のブロックをドラッグで入れてください。「スコア」は、「〜=〜」の左側にいれてください。右側は「-1」と入力します。

さらに空いているスペースに「見た目」から「背景を〜にする」をドラッグし、「もしスコア=-1なら」の中に入れます。
「背景を〜にする」の「〜」部分をクリックして「GAME OVER」を選択してください。

もう一つ、「制御」から「すべてを止める」をドラッグし、「背景をGAME OVERにする」の下にくっつけます。

最後に以前の記事で作成した背景やセリフのコードブロックのかたまり中に入れます。
入れるところは、「ずっと」の中の一番下にドラッグで入れます。
少しわかりにくいかと思うので、画像を参照してください。

スタートのタイミングでは、背景は今回作成した「GAME OVER」でなく「Forest」にしたいので、「が押されたとき」の下に「背景を〜にする」をドラッグして入れます。そして「〜」のところをクリックして「Forest」に変更します。

これでスコアが「-1」になった場合、背景が「Game Over」に切り替わるプログラムは完成です。

動作確認
の旗をクリックし、動作を確認します。
スコアは「0」からスタートし、ジャンプでButterfly 2(蝶)に触れると、スコアは+1加算され、Snake(ヘビ)に触れてしまうとスコアが-1減算されるていて、前回までと変わっていません。
スコアが「0」よりも下の「-1」まで減算されると「Game Over」の画面に切り替わりました。
再度ゲームを再開するには、の旗をクリックすれば再開します。
もし、ゲームの難易度が高すぎる場合、「スコア=-1」のところを「スコア=-5」とかに変更してみてください。

まとめ
- 差し替える背景を作成
- 切り替え条件を設定
- 背景を切り替えるコードを追加
今回は「ゲームオーバー」の演出を通して、背景の切り替えと条件分岐の使い方を学びました。背景の切り替えは、ゲームの場面転換やステージ変更にも応用できます。
これまで11回にわたって、Scratchの基本を学びながらゲームを作成してきました。今回の内容をベースに、自分だけのゲームにアレンジしたり、新しいアイデアを取り入れてみてください。
さらに深く学びたい方は、手引き記事もぜひご覧ください!






