こんにちは、ECF Techブログ
担当のMichiです。
今回はScrathを使った間違い探しゲーム作りにチャレンジしたいと思います。
Scratchとは、ブロックを使って簡単にプログラムが作れるブロックプログラミングが楽しめるサイトで、初めての方でもお子様の方でも手軽にプログラミングに触れられるサイトです。MITメディアラボのライフロングキンダーガーテングループのプロジェクトで、無償で提供されています。
ゲームの概要を紹介します。まずは下の動画を再生してみてください。再生すると最初の絵がしばらく出て、3カウントの後に絵が変わっています。どこが変わったか探してみましょう。
わかりましたか?答えは本記事の作成過程を読み進めていくとわかると思います。すぐ知りたい方は時間のスライダーを使って、動画の最初と最後の部分を行ったり来たりするとすぐわかりますよ。
それでは早速始めていきましょう。
対象読者
本記事は、次のような読者を想定して記述されています。
- Scratchの基本的な操作がわかる方
スプライトの準備
はじめに必要なスプライトです。今回もほぼすべてScratchに最初からある画像を利用しています。
画像を選ぶ際、下のようにコスチュームがいくつかあるスプライトを選ぶのがコツです。下の画像はたて1列がそれぞれ同じスプライトです。
また、数字のカウントダウンのスプライトもコスチュームとして準備しておくと楽です。
黒画面のスプライトは、描画機能を使って描いています。描画機能はスプライトを追加するときに次のようにします。
また、Drum-highhatのスプライトは洋服かけとして使っていますので、上にDressのスプライトが重なります。
プログラム
スプライトの準備ができたら、プログラムを作成していきましょう。
数字スプライトのプログラム
プログラムの説明
最初に「3」のスプライトにしてから、スプライトを表示します。あとは「1秒待つ」をはさみながら、次のコスチュームにしていくだけです。
コスチュームが「3」「2」「1」の順になっているので、「次のコスチュームにする」を使うだけで実現できます。
メッセージ1は「ステージ」に向けたものです。「ステージ」はメッセージ1を受け取ると、各スプライトに変化するように指示をだします。
メッセージ3は、黒画面に消えるように促します。
ステージのプログラム
プログラムの説明
2つのイベントブロックがあります。
メッセージ1は数字のスプライトによって送信されます。それを受けたら、変数「場面」を0から1(または1から0)に切り替えてメッセージ2を送信しています。メッセージ2は各スプライトに変化するように指示するためのメッセージです。
「ステージが押されたとき」のスプライトは、答え合わせしやすくするためのものです。クリックするたびに暗くなる前後の絵に切り替わります。
各スプライトのプログラム
各スプライトのプログラムはシンプルです。指示を受けたら変化するだけです。それぞれに「場面1」「場面2」に対応した動作が記述されています。
黒画面のプログラム
各スプライトのプログラム
最後は、画面が暗くなった後に変化するスプライトたちです。こちらもシンプルで、メッセージ2を受け取ったタイミングで変化します。それぞれのスプライトは変数「場面」が1の場合と2の場合の動作をもっています。
バスケットボールは前後の画面で左右に移動するだけという、難易度の高い間違いになります。
プログラムはこれで以上になります。スタートボタン(みどりの旗)をクリックすると、黒画面のカウントダウンが始まり、絵が切り替わります。
おわりに
今回はこれで終わりです。最後までご覧くださりありがとうございました。コスチュームを活用して手軽に作れるプログラムだと思います。Scratchにはコスチュームが豊富なイラストもまだまだたくさんありますので、ぜひオリジナルの間違い探しを作ってみてください。
今回のサンプルプログラムは、Scratchで共有していますので、こちらよりご活用ください。