広告

【Scratch】【ブロック崩し】5日目 タイトルとゲームクリア

2022.10.10更新

【Scratch】【ブロック崩し】のタイトル画像になります

Scratch(スクラッチ)を使って入門プログラムの定番、ブロック崩しを作っていきます。

ブロック崩しを通してたくさんのプログラムの組み合わせ方、キャラクターの移動方法、簡単な場面の切り替えなどを学んでいきます。

「Scratch(スクラッチ)でプログラミング入門」の応用編になりますので、まだ終えてない方はそちらを先にご覧ください。

タイトルとゲームクリア

今回はささやかにタイトルとゲームクリアを加えていきます。

ゲームが始まっているかどうかを判断する為の変数と点数用の変数をそれぞれ「ゲームスタートフラグ」、「score」という名前で用意しておいてください。

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像1

それではいってみましょう!

タイトルを作成

前回までは旗を押したと同時にりんごが並べられて、ボールも動き始めるという感じでしたよね。

りんごを並べている最中にボールが動くのも見た目があまりよくないので、旗を押したときにゲーム開始前の準備としてりんごを並べてタイトルを表示、タイトルをクリックしたらボールが動き出してゲームが開始されるという流れに変更したいと思います。

13日目の後半、「テキストを入れる」で学んだ手順で簡単なタイトルを作ってみましょう。

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像2

ひとまず簡単にタイトルを作ってみました。

「START」の四角はお絵描き画面の左側のメニューの下の方の「四角」で描く事ができます。

色は「塗りつぶし」というトコロから変更する事ができます。

プログラムの説明がメインなのでこの通りでなくて適当なタイトルでもぜんぜん大丈夫です。

タイトルのプログラム

タイトルのプログラムを作ります。

動作としては、旗を押すとタイトルが表示されて、タイトルを押すとゲームスタートの合図である変数の値を変更するという流れになります。

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像3

実行してみると・・・、

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像4

こんな感じですね。

旗とタイトルを順番に押して動作を確認してみてください。

ゲーム開始と終了

ではゲーム開始の合図である「ゲームスタートフラグ」の値に合わせてそれぞれのスプライトを動くようにします。

ちょっとめんどくさいですが、それぞれのスプライトの動作部分を「もしゲームスタートフラグが1なら」で囲んでいってください。

※プログラムを大幅に変更するのはエラーを招く元になったりしてあまりよくないので普通はタイトル部分からきちんとプログラミングしていきます!

そして「ゲームスタートフラグ」と「score」の値を使ってゲーム開始とゲームクリアの切り替えをしていきます。

ネコちゃん

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像5

ネコちゃんは「ずっと」部分を「もしゲームスタートフラグが1なら」で囲むだけです。

ボール

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像6

「ボール」も「ずっと」の中身を「もしゲームスタートフラグが1なら」で囲むようにしてさらに後半部分、ボールが底についてゲームオーバーになった時に「ゲームスタートフラグ」を元に戻してあげます。

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像7

りんご

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像8

「りんご」では変数「score」の初期化部分を加えて、同じように「ずっと」の中身を囲んで、ボールに触れたときに「score」を追加、りんごが全て取られた時、つまり「score」が「16」の時に「ゲームスタートフラグ」を元に戻してゲームクリアの合図など加えていきます。

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像9

あとは合図に合わせてゲームクリアに移行するだけですね!

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像10

では実行してみます。

【Scratch】【ブロック崩し】タイトルとゲームクリアの説明画像11

ゲームクリアができました!

ここまでのプログラム全体になります。

中間プログラム4(ネコちゃん)

中間プログラム4(ボール)

中間プログラム4(りんご)

中間プログラム4(タイトル)

次回は跳ね返りをもう少し工夫してみたいと思います。

次回

6日目 跳ね返りを工夫その1

広告

Copyright 2016 K.N/petitetech.com