
このページではこどもプログラミング教材:Scratch(スクラッチ)の使い方と、最初に作るのに最適なシューティングゲームの作り方をご紹介します。はじめてScratchにログインしたはいいけれど、何を作ろうか迷いますよね。。
- 最初だからこそ、こどもたちがプログラミングに興味を持ってもらいたい
- 左右に歩くだけよりは、もう一歩すすんだ楽しいものがいい
- 難しすぎたら元も子もない
そんな方におすすめなのが、簡単なシューティングゲームです。完成してこどもと一緒に楽しめるだけでなく、キャラクター選びから動きをつける過程も相談しながら進めると結構楽しいですよ。 もっとシンプルなプログラミングもできるかもしれませんが、主要なブロックの組み合わせをご紹介したいと思いますので、ご参考にしていただける嬉しいです^_^
Scratch基本①「スプライト(キャラクター)と背景」を選ぼう
スプライトを選ぶ
まず最初に、スクラッチの世界ではキャラクターのことを「スプライト(妖精という意味)」と呼びます。
スクラッチでは、自分でスプライトを作成することももちろん可能ですが、よりゲーム制作とプログラミングに集中できるよう、最初の段階では用意されたスプライトを以下のように選ぶようにしましょう。

ログインして「つくる」をタップすると、上の画面が表示されます。ここでネコの右横の十字マークをタップするとスプライトが追加でき、鉛筆アイコンで自作が、虫眼鏡アイコンから用意されたスプライトが選べます。

ここでは、お化けを倒したい、という事でPico(プレイヤー)、ゴースト(敵)、カミナリ(敵の攻撃)、ロケット(プレイヤー攻撃)、虹(バリアー)を選択しました。
ここで、使わないスプライトは、スプライト長押し(右クリック)から削除が選択できるので、今回であればネコを削除しましょう。(ネコをプレイヤーにするならそのまま)
また選択したスプライトは、そのままでは大きいので、右上のステージの表示で確認しながら、好みの大きさに変更しましょう。

背景を選ぶ
続いて背景を選びます。右下の背景の欄に十字アイコンがあるので、そこをタップして、好きな背景を選びましょう。

ここでは、カラフルでかわいい街中の戦いを選択しました。
Scratch基本② スプライトを動かしてみよう:「イベント」と「制御」
スプライト・背景を選んだら、スプライトを動かしてみましょう。まずはゴーストが上空で左右に動くようにしたいと思います。 以下二つのブロックを使いましょう。
- 「イベント:緑の旗がクリックされたら」…プログラムの始まる条件の役割。
- 「うごき:10ほうごく」…少しだけ動く命令。ドラッグ&ドロップして、「緑の旗〜」の下にくっつけて下さい。
これで緑の旗をクリックすると、ゴーストが少しだけ右に動くようになります。

ただイメージとしては、ゴーストはずっと左右に動き続けるようにしたいので、続いて以下のブロックを加えてみましょう。

最初なので、それぞれのブロックの働きを説明すると、
「せいぎょ:ずっと〜」ブロックは、逆コの字の中に入れられた命令をずっと繰り返す命令ブロックです。これによって、ずっと動き続けるようになります。
「うごき:かいてんほうほうを さゆうのみにする」ブロックは、何もしないと折り返したときに上下も反転してしまうところを、このブロックを使うことで、左右反転するのみにできます。
「うごき:もしはしについたら、はねかえる」ブロックは、このままでは右端まで行って帰ってこないところを、反転させるための命令ブロックです。
最後に「せいぎょ:1びょうまつ」ブロックですが、上記のブロックだけで実行するとゴーストがすごい速さで動きます。
そこでこのブロックを「10ほうごく」の下にドラッグすることで、少しゆっくり動くように調整できます。
1秒を0.2秒などいじることで好みの早さにできますよ。
これで主要キャラのゴーストの動きを設定することが出来ました!
ずっとブロックからの命令は、1つずつ緑の旗で実行しながら段階的にやってみてください。
「あれ?こうしたいのに…」という問題を一緒に解決した方がプログラミングの醍醐味を味わえますし、何より変な動きをするのもこどもたちにとって面白く、結構盛り上がりますよ^_^
Scratch基本③ 「クローン」機能を使いこなそう
続いて、2秒毎にゴーストからカミナリが発射される動きをプログラミングしてみます。
初めてスクラッチでシューティングゲームを作ろうとした際に、1番悩むのはこのカミナリの動きだと思います。
ここでは、「クローン」という機能を使うことでプログラミングをしていきたいと思いますが、まずはクローンを使わずに敵の攻撃をプログラミングしてみましょう。

一度「隠す」ブロックで表示を消した上で、「ゴーストへ行く」ブロックで移動させます。
そこから「表示する」ブロックでカミナリを発生させ、端に触れるまで下に落ちてくるようにします。
あとは端に到達したらもう一度隠し、また1秒後に発射されるようにプログラミングしています。
実行してみると、これでも問題なく一定間隔でカミナリが発射されます。
しかし、これではカミナリの数は一つだけなので、ゲームとしては簡単になってしまいます。
難易度をあげようと、どんどん発射されるようにしようとしても、2つ、3つのカミナリが飛んでくるようにはなりません。
クローンを使いこなす
このように「同じスプライトをたくさん表示・使用したいとき」に使う便利なブロックが「クローン」です。
使い始めると本当に便利なブロックで、色々なゲームを作る上で非常に重要なので、ぜひ習得してください(^ ^)
このクローンには以下3種類のブロックがあります。

今回であれば、「じぶんじしんのクローンをつくる」で一定時間ごとにカミナリのクローンを作ります。
そして「クローンされたとき」の下に命令ブロックを組んでいくことで、複数のカミナリを同時に登場させることができます!
そのためには、以下のようにプログラムを組んでみましょう。

上のブロックの固まりでは、緑の旗をタップしたら、オリジナルを隠した上で、2秒ごとにクローンを作るようにプログラミングします。
そして下の固まりが、クローンが作られた後の動作となります。
まずゴーストの位置まで移動してから表示し、そのあと発射される(端まで下に落ちてくる)、というプログラムです。
下に移動するブロックは、「yざひょうを-10ずつかえる」になります。
このとき、一番下に「このクローンをさくじょする」ブロックを置くだけではクローンが表示されたまま消えないので、一個前に「かくす」を追加することがポイントです。
これで、画面のようにカミナリが複数発射できるようになりました。
Scratch基本④ 操作ボタンを作ってスプライトを動かそう
これで敵の動きのプログラミングができましたので、次にプレイヤーを動かすためのプログラミングをします。
なお、タブレット端末に対応したScratch3.0ではありますが、実は「キーボード入力には対応していません」。
そこで、キーボードの代わりとなるコントロールキーを画面上に設け、そこをタップして動かすようにプログラミングすることが必要となります。
少々面倒ですが、ここはちゃちゃっと作成してしまいましょう。
コントローラー(操作ボタン)を作る
まずはコントロールキーとなるスプライトを用意します。
今回は、横移動とロケット発射、バリアー展開、の4つの動作になるので、4つスプライトを用意しましょう。(あとで分かりやすいように名前もつけておくと良いです。)

まずは「ひだりキー」からプログラミングします。
Scratchには、「他のスプライトがタッチされたら〜」というイベントブロックはありません。
そこで、他のスプライトがタッチされた際に合図を送り、その合図に反応して動くようにプログラミングをすることができます。
それがイベントブロックの下部にある「メッセージ」関連のブロックです。

使い方は簡単で、まずドロップダウンリストを開くと、新しいメッセージが設定できます。
そこで「みぎ」「ひだり」といった自分なりのメッセージ名を登録します。
その次に、片方のスプライトに「メッセージをおくる」ブロックを設定し、動かしたいスプライトに「メッセージをうけとったとき」を設定してブロックを組んでいきます。
今回の「ひだりキー」を例とすると、以下のようになります。

そして受け取り側のスプライトに以下のように設定をします。

これで、画面上でひだりキーをタップすると、プレイヤーが左に動くプログラムが組めます。
なお、上の例では、「マウスがおされた ではない までくりかえす」という制御ブロックを追加しています。
これは、「このスプライトがおされたとき」+「ひだりをおくる」の組み合わせだけでもメッセージを送って動かすことはできるのですが、やってみるとスプライトが少ししか動かず、また連打への対応力があまりありません。
そこで、長押しタップし続ける限り左右に動くようにするため、上記ブロックを追加しています。これは本当に便利なので、オススメの処理です!!
このようにして、他のコントロールキーなどにも同様のプログラミングをしましょう。
Scratch基本⑤ アニメーション設定をしよう:「コスチューム」をつかいこなす
ここまでで組み立てて来たプログラムを実行すると、お互いの攻撃が相手をすり抜けるだけになってしまっています。バリアーも効きません。
そこで、お互いの攻撃が相手に当たった時のプログラミングをここでは行いましょう。
こうげきが当たったら、こうげきを消す
相手に当たってもすり抜けているとリアリティがありません。
そこで、まずは相手・自分に攻撃があたったとき、それらが消えるようプログラミングしたいと思います。
例えばカミナリのプラグラムを以下のように書き換えましょう。

「はしにふれた までくりかえす」としていた部分に、演算ブロック「◇または◇」を使います。
それを2つ使い、「はしにふれた、または Pico(プレイヤー)にふれた、またはRainbow(バリアー)にふれた」と条件を設定しましょう。
これでカミナリがプレイヤーまたはバリアーに触れても消えるようになりました。
これと同様の手順で、ロケットについてもゴーストに当たったら消えるよう設定します。
こうげきが当たったら、アニメーションさせる
さらに、こうげきが当たって無反応なのも面白くないので、スプライトに変化をつけましょう。
Scratchで用意されているスプライトには、コスチュームという欄に異なるイラストが用意されています。
そこで、こうげきが当たったら一瞬違うコスチュームになるよう、以下のように設定してみましょう。

もしカミナリにふれたなら、コスチュームを一瞬変化させるプログラムになりました。
ゴーストにも同じようにやられた際のコスチュームがありますので、そちらも是非設定してみてください。
なお、自作のスプライトや、思ったようなイラストがなければ、色をすこし変えるということも可能ですので、そちらも試してはいかがでしょうか?
Scratch基本⑥ ダメージ判定を設定しよう:「変数」をつかいこなす
いよいよシューティングゲームも大詰めとなりました。
最後に、プレイヤー・敵のライフ設定をし、ゲーム終了までのプログラミングをしましょう。
ここでは、ブロックカテゴリーの下の方にある「変数」というブロックを使っていきます。

今回のゲームではプレイヤーと敵2つのライフ設定をしたいので、「へんすうをつくる」をタップし、「ゴースト」と「プレイヤー」という変数を作成します。
変数を作成するとドロップダウンリストから作成した変数を選ぶことができるようになります。
そこで、以下のようにゴーストのプログラミングを書き換えましょう。

追加したのは以下3点です。
- 緑の旗をおしたら、ライフを5にする。
- ロケットに触れたら、ライフを-1する。
- もしライフが0になったら降参し、プログラムを止める。
これと同じようにプレイヤー側にもライフ設定をして、ついにシューティングゲームの完成です!!
非常に単純なシューティングゲームですが、Scratchの基本的なプログラミング方法が凝縮されていて、一度作れれば他のゲームも作ろう!と意欲が湧いてきます。
既製品のゲームには程遠いですが、小さなお子さんはゲーム作成の過程のいろんなことに楽しみを覚え、そして自分で作れるんだ!ということに達成感を覚えるようです。
プログラミング初めてという方も、Scratchなら本当に簡単に楽しめますので、ぜひこの週末は一緒にプログラミングデビューしてはいかがでしょうか?