Scratchスクラッチでゲームを作ってみた!ブロック崩しゲーム
子ども向けビジュアルプログラミング言語のScratch(スクラッチ)で、とても簡単なゲームを作ってみました。
同じように作れば10分程度で完成できますよ。
プログラムの中身も解説していますので、ぜひ挑戦してください。
スクラッチのプログラミンが初めての方はこちらを参考にしてみて下さい。
ブロック崩し スクラッチで作ってみよう!
「ブロック崩し」は、バーを移動させてボールをはね返らせたボールがブロックに当たるとブロックが崩れる。
ボールがバーより下にきたらゲームオーバーになります。
・用意するスプライトは3つ
サッカーボール
バー(Paddle)
ボタン(Button3)
・ステージは1つ
背景はありません。
スプライトごとにプログラミングすれば、ブロック崩しのゲームは完成するよ。
3つのスプライトを用意しよう!
ブロック崩しゲームを作るには3つのスプライトが必要になります。
スプライトリストの右下にある猫の顔のデザインのボタンを押します。
その前に、ネコの絵のスプライト1はネコの右上にあるゴミ箱のボタンを押して消しておいてください。
サッカーボールのスプライトを用意する
上の図にあるスプライトを選ぶをクリックします。
スプライトライブラリーが出てきます。
たくさんのスプライトがカテゴリーごとに整理されています。
その中からスポーツのカテゴリーを選んでください。
スポーツのボタンを押しましょう。
サッカーボールがあるのでクリックしてください。
サッカーボールのスプライトをクリックした後はコード(ブロック選ぶ)を記述します。
コードエリア(上の図の赤い四角で囲ってあるところ)にブロックを組み合わせていきましょう。
使うブロックは、
「イベント・動き・見た目・制御・演算・調べる」とたくさんあるけど、まずは図の通りにブロックを組み合わせていきましょう。
これで、サッカーボールの準備ができました!
まだ、何が何だかわからないかもしれませんが、とにかく作ってみよう!
完成してから考えればOK!
バーのスプライトを用意する
勝手にバーと呼んでます。
スプライトを選ぶをクリックします。
スプライトライブラリーが出てきます。
サッカーボールはスポートと言うカテゴリーからすぐに選べました。
でも、バーはカテゴリーから選べません。
下の図にある検索窓(赤い四角で囲ったところ)に半角のアルファベッドで「pa」と入力してみてください。
検索窓に「pa」と入力すると絞り込まれてくるので、赤い四角枠の「Paddle」を選んでください。
バー(Paddle)のスプライトをクリックした後はコード(ブロック選ぶ)を記述しましょう。
これは簡単ですよ。
コードエリア(上の図の赤い四角で囲ってあるところ)にブロックを組み合わせていきましょう。
使うブロックは、
「イベント・動き・見た目・制御」とたくさんあるけど、まずは図の通りにブロックを組み合わせていきましょう。
サッカーボールより、ブロックは少ないですが慎重に行きましょう。
簡単なところほど、気を緩めてミスしやすいですからね。
さぁ、あと一つですよ~
ブロックのスプライト
スプライトを選ぶをクリックします。
スプライトライブラリーが出てきます。
赤い四角枠の「Button3」をクリックしましょう。
コードエリア(上の図の赤い四角で囲ってあるところ)にブロックを組み合わせていきましょう。
使うブロックは、
「イベント・動き・見た目・制御・調べる」とたくさんあるけど、図の通りにブロックを組み合わせていきましょう。
これで、3つのスプライトの準備ができました。
スクラッチで作ったブロック崩しをやってみよう
準備ができたら、ちゃんと動くかやってみよう。
緑の旗のマークをクリックすると始められますよ。
どうですか?
ちゃんと動きましたか?
もし、ちゃんと動かないときは、一つずつスプライトの記述したコードを見直してみましょう。
たったこれだけのことですが、プログラミングでゲームができることが分かった貰えたと思います。
最初は、一から作るのは大変なので、いろいろな人の真似をたくさんして覚えればいいんです。
勉強に例えるなら、テストの答えを見て問題を解けばいいんです。
プログラミングを覚えるのは、答えを見ながら自分で作ることを何度も繰り返すと状たるしますよ!
コードの説明
ブロック崩しで3つのスプライトを使いました。
それぞれにコードを記述しました。
ブロックを組み合わせたというのが正確なところですね。
では、それぞれのコードの説明をします。
サッカーボールのコード
・旗が押されたときに、サッカーボールの大きさと位置を決め、移動する角度に向けます。
・y座標(縦の位置)が-170より小さくなったら「ゲームオーバー」になります。
・「もし端に着いたら、跳ね返る」はステージ内のどこかにた触れたらと言うこと。
・「もしPaddleに触れた」ときの動作は、メッセージ1を送ります。
メッセージ1は何を送ったのかと言うと、サッカーボールがバー(Paddle)に触れたよという事です。
・送られたメッセージを受け取ったら、サッカーボールの向きを変えます。
最初に135度の角度で10歩ずつ下に向けて移動します。
メッセージを受け取った後は、180-135=45度の向きに変わり移動します。
今度は上に向かって10歩ずつ移動するということになります。
ゲームオーバーになるまで、繰り返し動作します。
バー(Paddle)のコード
・旗が押されたら、y座標(縦の位置)を-135の位置にします。
・y座標の位置はそのままで、「ずっと」を繰り返します。
「ずっと」の内容は、x座標(横の位置)をマウスの横の動きに合わせて動きます。
マウスを右に動かせばバーは右に動き、
マウスを左に動かせばバーは左に動きます。
バーが縦に移動しないように位置は-135で固定されています。
ボタン(Button3)のコード
・旗が押されたら、ボタンの大きさを50%にします。
・X座標を-200、y座標を80にします。
この位置からボタンを配置していきます。
・「9回繰り返す」はボタンを複製して配置していきます。
・サッカーボールがボタンに触れるまで待ちます。
サッカーボールが触れたならメッセージ1を送ります。
・サッカーボールに触れたボタンを削除します。
メッセージ1はサッカーボールに送られます。
サッカーボールのコードに、メッセージ1を受け取った時の処理を実行します。
スプライトのコード記述のまとめ
これでコードの説明は以上です。
どうでしょうか。
1回読んだだけでは理解できないと思いますので、同じように作ってみて下さい。
その後、もう一度説明を読めば、より理解が深まります。
サッカーボールの動き、ボタンの配置、バーの移動など、それぞれに働きがあります。
サッカーボールがバーやブロックに触れると、それぞれが次の動きをします。
どのスプライトが、どんな動きをした時に次の動きを考えてコードを記述します。
その結果としてブロック崩しというゲームが完成します。
さらに、得点を計算したりボタンを2段3段することもできます。
ぜひ、チャレンジしてみてください。
こちらは、あのマリオのようにジャンプするプログラムです!