プログラミング言語の代わりにブロックでプログラミングが学べるScratchが評判です。
Scratch(スクラッチ)とは?- 子供も親しみやすい言語でプログラミングをはじめよう
ではScratchの基本的な情報や使い方について説明しています。
しかし実際にアカウントを作ってはみたものの、何から始めたらいいかわからない…という人も多いのではないでしょうか? 本記事では初めてScratchにふれる人が操作に慣れるところから、簡単なゲームを作るまでを紹介します。
操作に慣れよう
最初に上段の「メニュー」をクリックして、新規ファイルをクリックすると、プロジェクトの編集画面が開きます。
プロジェクトの編集画面は3つのエリアに分かれています。
①ブロックパレット…スプライト(操作で動かすキャラクター)を動かすためのブロックが置いてあります。
②スクリプトエリア…ブロックパレットの中から「動き」や「イベント」の中から必要なブロックを選び、組み立てます。
③スプライト…プログラムで動かすキャラクターです。デフォルトはネコですが、③のネコのアイコンをクリックすれば、スプライトを選ぶことができます。
④背景…背景アイコンをクリックして、背景画像を選びます。
では実際に動かしてみましょう。
①右下の画像アイコンをクリックして、最初に背景を選びます。ここではお城へ通じる道の背景を選びました。
②隣のネコアイコンをクリックしてスプライトを選びます。ここでは魔女を選びました。
ブロックエリアから使いたいブロックをスクリプトエリアにドラッグします。
③イベントの開始の合図である「フラグが押されたら」という条件をドラッグします。
④フラグがクリックされたら「魔女が10歩歩くこと」を組み合わせました。
⑤「魔女がクリックされた時」という条件を設定しました。
⑥魔女をクリックすると「効果音」が鳴るように、「音」のフォルダから「Magic Spell」を選びました。
⑦さらに魔女が「こんにちは」と話すように「動作」から選びました。
自分でストーリーを作りながら、ストーリーに合わせて背景やスプライトを選び、ブロックの組み合わせ方に慣れてください。
ゲームを作ってみよう
では「スター・ハンター」というゲームを作ってみましょう。海の中でネコが星をキャッチするゲームです。
背景を選ぶ
右下の背景アイコンをクリックして、背景を選びます。
スクリプトを作る
スプライトを思い通りに操作するスクリプトを作成します。
①最初にプログラムの開始を設定します。ブロックパレットの「イベント」カテゴリーから緑の旗がクリックされたとき」をスクリプトエリアにドラッグして開始を設定します。
②動きが繰り返されるように、「制御」から「ずっと」のブロックを選びます。
③「動き」から「マウスのポインターへ行く」を選ぶことで、スプライトをマウスで操作することができるようになります。
スクリプトを追加する
海の底らしい効果音をつけます。
①「イベント」から「緑の旗がクリックされたとき」で開始を設定します。
②「制御」から「ずっと」のブロックを選びます。
③「音」のタブをクリックし、「終わるまでbubblesの音を鳴らす」で効果音が設定されます。
敵を作る
スプライトの行動を邪魔する敵を作成します。右下のネコのアイコンをクリックし、タコを選びます。
①ゲームの開始を示す「緑の旗がクリックされたとき」をドラッグします。
②いきなり敵が動き出さないように、「制御」から「〇秒待つ」を選びます。ここでは0.5秒にしました。
③「ずっと」のブロックで繰り返しを設定します。
④タコの動きとして「10歩動かす」「もし端についたら跳ね返る」を選びます。
これでスクリプトを実行してみましょう。タコが動きまわりますね。
次に、ネコがタコにふれてしまったらゲームオーバー、というスクリプトを作成します。
⑤「制御」から「もし~なら」という条件分岐のブロックを選びます。
⑥「調べる」のカテゴリーから「スプライト1に触れた」ブロックを選びます。
⑦「イエス」の場合に作動する「すべてを止める」のブロックを「制御」から選びます。
これでネコがタコにふれてしまうとゲームオーバー、というスクリプトができました。
敵の数や大きさ、動きを変える
次にタコを敵らしくするために、数を増やしたり動きを変えてみましょう。
①スプライトのタコをコピーし、増やします。ここでは1つだけですが、敵の数はいくらでも増やすことができます。
②タコの大きさを変えます。「見た目」から「大きさを〇パーセントにする」のブロックを選び、ウインドウをクリックして数字を入力します。ここでは35%としました。
③タコの動きの方向を決めます。「動き」から「〇度に向ける」を選びます。このままだとタコは上下や左右の一定方向にしか動かないので、乱数を使ってみましょう。ブロックの緑(演算)のカテゴリーから「~から~までの乱数」を選びます。ここではさまざまな向きに動かしたいので、「-179から180まで」とすることで、乱数によってさまざまな方向にタコを動かすことができるようになります。
④タコの速度も変更してみましょう。現在のタコの動きが10歩では速すぎると思ったら、数を減らします。ここでは5歩を選びました。数字で速さを選ぶことができます。
ターゲット(星)を作る
スプライトのターゲットとなる星を作成します。
①ネコのアイコンをクリックして、スターを選びます。
②プログラムの開始を表す「緑の旗がクリックされたとき」をドラッグします。
③「制御」から「ずっと」をドラッグします。
④「制御」から「もし~なら」のブロックを選び、「スプライトが星にタッチしたら」得点するという条件を設定します。
⑤タッチしたことがわかるように効果音を入れます。音ライブラリーの中から好きな音を選んでください。ここではFairydustを選びました。
⑥次に星が表示される場所を作成しましょう。ここでは座標と乱数を使います。ステージ上のどこに星を表示するか「動き」のカテゴリーから「x座標を~にする」と「y座標を~にする」のブロックを選びます。その「~」の中に「演算」の「乱数」のブロックを挿入します。ステージが横長のため、x軸を-200から200までの乱数、y軸を-150から150までの乱数にします。この設定で、星が乱数によって表示されるようになります。
スコアを設定する
ゲームらしくするために、スコアを設定しましょう。
ブロックパレットから「変数を作る」のボタンを押します。すると「新しい変数」のウインドウが表示されます。変数名に「スコア」を入れ、「すべてのスプライト用」を選んで、OKを押します。
その後、ブロックパレットに「スコア」というブロックが表示されるようになります。このブロックのチェックを外すと、スコアは消えます。
星のスクリプトにスコアの要素を加えます。
①最初にゲーム開始時のスコアを設定しておきます。「変数」のブロックから「スコアを0にする」を選んでドラッグします。
②次に、スプライトの動きに合わせてスコアが1ずつ変わっていくように、「スコアを1ずつ変える」のブロックをドラッグします。これでネコが星にタッチするたび、効果音が鳴り、スコアが増えていきます。
これでゲームを始めることができます。緑の旗をクリックして、実際にゲームをしてみましょう。
アレンジを加えよう
ゲームの難易度を上げるために、タコを増やしたり、動き方を座標と乱数を使うことで複雑化することができます。
Scratchに親しもう
「スター・ハンター」というゲームの作成を通じて、「プログラムの開始と終了」や「繰り返し」「分岐」「乱数」「座標」を学ぶことができました。
プログラムは実際に触れて、動かしながら覚えていくのが一番の早道です。Scratchであれば、基本の動かし方はすべてブロックで用意されているので、「どのように組み合わせるか」を理解することで思い通りに操作できるようになります。ぜひScratchに親しんでください。
なお、本記事の作成は『10才からはじめるゲームプログラミング図鑑』を参考にしています。本書では「スター・ハンター」を始め、さまざまなゲームのプログラミング方法が紹介されているので、ぜひ参考にしてください。