スクラッチ

スクラッチで背景画像を切り替える 〜スコアでゲームオーバーを実現〜

最終更新日 2025年4月24日 by toytune

スクラッチはアメリカの大学、MIT(マサチューセッツ工科大学)メディアラボで開発されたビジュアルプログラミング言語です。

はじめに

前回のプログラムでは、「Snake(ヘビ)」のスプライトを追加し、触れるとスコアが減る仕組みを作成しました。今回は、スコアが「-1」になったときに背景を「Game Over」画面に切り替えるプログラムを作っていきます。

まずは切り替え先の「Game Over」背景を作成し、続いて背景を切り替えるプログラムを追加していきましょう。

※背景の基本的な切り替え方法については、以下の記事も参考にしてください。

また「背景」の切り替えについては、こちらの記事もご参考ください。

▼ 今回作成するプログラム(の旗をクリックして動作を確認することができます)

「Game Over」の背景を作成する

右下の「背景を選ぶ」から、ペンのアイコン(描画)をクリックすると、背景の編集画面に移ります。

背景を選ぶところにカーソルを重ねペンマークをクリック

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

タブが背景になっていて4番目に背景が追加されている

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

正方形アイコンをクリック

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

ドラッグで描画

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

矢印のアイコンをクリック

ここでは画面全体よりも小さい四角のままドラッグを離したので、描画した周りにある点のところでドラッグし全体が紫色の視覚になるようにドラッグで広げ調整します。

下記画像のように白い境界線をはみ出しても表示されないだけで問題ありません。

ドラッグで調整

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

ステージを確認すると紫色の背景に変わっている

次に色を「Game Over」っぽく紫でなく黒にしたいので色を調整します。

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

塗りつぶしをクリックし明るさをドラッグして一番左にする

「Game Over」の文字を追加する

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

T(テキスト)アイコンをクリック

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

塗りつぶしをクリックして明るさを一番右にドラッグ

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

GAME OVERと記入する

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

矢印のアイコンをクリックする

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

GAME OVERを中央にドラッグする

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

ステージを確認するとGAME OVERの背景に切り替わっている

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

コスチュームのところに「GAME OVER」と入力してください。

コスチュームにGAME OVERと入力

背景を切り替えるプログラムを追加する

スコアが「-1」になったら背景を切り替えるように、ネコのスプライトに以下のようなコードブロックを追加します。

背景を切り替える条件は、操作をするネコの「スプライト」が持つことになりますので、画面右下の「スプライト」の中から、ネコの「スプライト」をクリックで選択します。

ネコのスプライトをクリック

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

コードのタブをクリック

では、コードを追加していきます。

今回は、いったん小さいコードブロックのかたまりを作ってから、既存のコードブロックのかたまりにまとめていきます。

空いているスペースに「もし〜なら」のブロックをドラッグしてください。

もし〜ならをドラッグ

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

〜=50をドラッグしもし〜ならの〜へドラッグしていれる

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

スコアをドラッグし〜=50の〜へドラッグしていれ50を-1に変更する

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

「背景を〜にする」の「〜」部分をクリックして「GAME OVER」を選択してください。

背景を〜にするをドラッグしもし〜ならにいれ背景をGAME OVERに変更する

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

すべてを止めるをドラッグし背景をGAME OVERにするの下にくっつける

最後に以前の記事で作成した背景やセリフのコードブロックのかたまり中に入れます。
入れるところは、「ずっと」の中の一番下にドラッグで入れます。

少しわかりにくいかと思うので、画像を参照してください。

ずっとの一番したにドラッグする

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

背景を〜にするをドラッグして旗が押された時の下にいれ背景をForestに変更する

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

全体のコード

動作確認

の旗をクリックし、動作を確認します。

スコアは「0」からスタートし、ジャンプでButterfly 2(蝶)に触れると、スコアは+1加算され、Snake(ヘビ)に触れてしまうとスコアが-1減算されるていて、前回までと変わっていません。

スコアが「0」よりも下の「-1」まで減算されると「Game Over」の画面に切り替わりました。

再度ゲームを再開するには、の旗をクリックすれば再開します。

もし、ゲームの難易度が高すぎる場合、「スコア=-1」のところを「スコア=-5」とかに変更してみてください。

ステージんスコアが-1になったら背景がGAME OVERに変更される

まとめ

  • 差し替える背景を作成
  • 切り替え条件を設定
  • 背景を切り替えるコードを追加

今回は「ゲームオーバー」の演出を通して、背景の切り替えと条件分岐の使い方を学びました。背景の切り替えは、ゲームの場面転換やステージ変更にも応用できます。

これまで11回にわたって、Scratchの基本を学びながらゲームを作成してきました。今回の内容をベースに、自分だけのゲームにアレンジしたり、新しいアイデアを取り入れてみてください。

さらに深く学びたい方は、手引き記事もぜひご覧ください!