Scratch(スクラッチ)を使用した簡単ゲーム作り、第3弾です!
今回はブロック崩しを作ってみますが、キーワードは
クローンと変数
です。
クローンと変数を組み合わせればたった1つのスプライトから無数のブロックを作ることができ、これを覚えておけば色々なゲーム作りに応用できます。
プログラミングやスクラッチを始めたばかりの方や、プログラミング必修化に向けた家庭学習を考えている親子の方々にオススメです!

初めての方はこちらの基礎からどうぞ。
-
-
プログラミング学習はスクラッチから!だれでも簡単・使い方入門
プログラミング学習を始める入り口として最適なScratch(スクラッチ)の始め方や基本操作を解説します。 小中学生のお子さんを持つご両親はもちろん、プログラミング初心者の方にもオススメで ...
続きを見る
この記事のもくじ
ボール・パドル・バーを作る
ではまずゲームに必要な備品準備から始めましょう。
ボールとパドルはスプライトを使い、バー(ボールを打ち損じた時の判定用)は描画します。
Scratchの「作る」画面を開いたらまずはネコを消し、ボールのスプライトとパドルのスプライトを探しましょう。
パドルの動きを作る
早速動きを作りますが、一番簡単なパドルから作ります。
また、マウスに合わせた動きではなく←や→のキーで動くようにしてもOKです。
ボールの動きを作る
次にボールの動きを作っていきますが、背景もここで決めてしまいましょう。
先ほどスプライトを描いたのと同じように背景も自分で描くことができます。

背景を自分で描く場合は「背景を選ぶ」ではなく「描く」を選択し、描画画面で好きなように描いてみてください。

「描く」から描画画面へ

ニャアはシンプルにベタぬりニャア
背景が決まったら、次のようにしてボールの動きを作っていきます。
さて、これが基本的なボールの動きです。
試しにを押してみると、ボールがステージ内を動き回るのがわかると思います。
では次に、パドルに当たったらボールが跳ね返るプログラムです。
次にボールがbarに当たったときの動きを決めます。

を押してプレイしてみてください。
barにボールが当たったらすべての動きが止まるようになりましたか?

ブロックを作る
次にブロック崩しのブロックを作ります!
スプライトからブロックっぽいもの(例:Button3)を選んでも良いですし、自分で描いても良いです。
ニャアはこんな風に書きました。※スクリプト名を「block」にしておくことを忘れずに!
ブロック崩しのスクリプトを作る
ブロックができたら、ボールを当てて崩す(消す)ためのスクリプトを作りましょう。
クローンでブロックを量産!(変数を使用)
これでブロック崩しの基本形ができました!
しかしブロックがたったひとつではゲームにならないので、ブロックを増やしたいですよね。

スプライトを複製(コピー)すればブロックはいくらでも作れますが、スプライトの数が膨大になってしまって、ちょっと大変です。
そこで今回のキモとなるのが「クローン」です。
クローンを使えば、ブロックのスプライトがひとつあるだけでブロックを量産することができます。
ここまでできたら、を押して確認です!
プログラムができていれば、を押した瞬間にブロックが5列4行の計20個、画面に現れます。
このように均等に配置されましたか?
もしそうでなかったら、ニャアの課題に取り組んでみてください。
・
・・
・・・
では正解です。
○と◇はクローンのスタート位置、△は横方向の間隔、□は縦方向の間隔です。
ちなみに参考画像と全く同じ値にしたとしても、ブロックの大きさによっては位置や間隔がずれるので、うまく調整してみてください。
ボールがブロックを突き抜ける?!
さて、ちょっとプレイしてみると感じたかもしれませんが、今のプログラムではボールがブロックに当たっても壁まで突き進んでしまい、あっという間にすべてのブロックを消してしまいます。
ということで、ブロックに当たると跳ね返るようにしたいと思います!
ボールがPaddleに当たった時の設定を思い出して、さっそくスクリプトを追加してみましょう。
このようになります。
ゲームクリアの設定
ブロック崩しゲームが形になってきたと思います。
最後にニャアの課題をこなして、素敵にゲームクリアをしましょう。
・
・・
・・・
では答えです。
このブロック崩しには20個のブロックがあり、すべて消すとクリアです。
つまりscoreが20になった時ブロックを20個消したことになるので、scoreを使います。
ボールのスクリプトの最後にこちらを加えましょう。

プログラムのおさらいは動画でもどうぞ。
発展させよう
ここまではブロック崩しの最低限の仕組み作りなので、この先は自由にアレンジしたり発展させたりしてみてほしいと思います。
特にボールの跳ね返り方やクローンの並ばせ方、ゲームクリアの判定方法など、他のプログラム方法の可能性を考えたり実践して分析したりすることがプログラミング的思考を育むのに効果的です。
今回作成したニャアのブロック崩しはScratchのシェアページからプレイしたりスクリプトを見ることができるので参考にどうぞ。
Scratchのサイトには世界中のユーザーの作ったゲームがシェアされているので、とても刺激になります。

『変数とリストがわかるScratchゲーム作り3レッスン』のnoteも作りました!
よかったらあわせてどうぞ?
ではまた次回お会いしましょう。