キャリまが

30代で未経験からグローバル企業に転職した筆者が、英語、お金、子育てなどについて語るブログ

Scratch Jr.作例「シューティングゲーム」を作ろう:「メッセージ」を使ってみる

こんにちは。キャリまが管理人のヘルペスもちです。
最近は小学生の息子の教育のためにプログラミング教育の勉強をしています。

その一環として、5歳から遊べるプログラミングソフト「Scratch Jr.」でゲームを作っています。
これまで作ったゲームは「Scratchで作ったゲームまとめ」にまとめていますので、是非ご覧ください。

Scratch Jr.の説明についてはこちらの記事をご覧ください↓

関連記事:5歳から出来る!?Scratch Jr.で学ぶ「プログラミング的思考」

というわけで引き続きScratch Jr.でゲームを作っていこうと思います。
前回までは全3回の超簡単なゲームの作成を通してキャラクターの動きや画面遷移などの基本的な操作を学びました。
今回の記事を読んでみて難しいと感じた方は、前回の記事から読んでもらえるとわかりやすいと思います↓

関連記事:Scratch Jr.で超簡単なゲームを作ってみよう①

さて今回は、もう少し複雑なプログラムの練習としてシューティングゲームを作っていきます。

完成形はこちら↓



月面のロケットからエイリアンにむけて弾を発射します。
弾がエイリアンに当たったらクリアです。
プログラム内容は

  • エイリアンは左右に動き回る
  • ロケットをタップで弾を発射
  • 弾がエイリアンに当たったらクリア画面

という感じですね。
それでは早速いってみましょう。


画面を作る

まず最初に、ゲームで使う画面を先に作ってしまいましょう。
このゲームで使う画面は

  1. スタート画面
  2. ゲーム画面
  3. クリア画面

の3つです。

「キノコ採りゲーム」で紹介したやり方で、画面を追加して、それぞれ「スタート」ボタンと「もどる」ボタンを設置しました。
背景はすべて「つき」にしました。
クリアの文字が背景にかぶって見づらかったので文字色を白に変更しています。


さらに、「スタート」ボタンをタップしたらゲーム画面へ遷移するように、「もどる」ボタンを押したらスタート画面に遷移するようにプログラムします。


これで画面の設定はとりあえず完了です。


エイリアンを配置する

続いて、ゲーム画面上にシューティングの的となるエイリアンを設定します。(ここでは「とっく」という名前のキャラクターを使いました)

エイリアンは左右に行ったり来たりしますので、このようにプログラムします。
スピードは一番速く設定しています。


Scratch Jr.の画面の幅について

動く距離は15マスに設定しました。
ちなみに、Scratch Jr.の画面は

  1. 上下の高さが15マス
  2. 左右の幅が20マス

と決まっていますので覚えておきましょう。

関連記事:Scratch Jr.で困ったときのTipsまとめ

さらに、弾が命中したら「クリア」画面に遷移するようプログラムして、エイリアンは完成です。


弾を発射するロケットを作ろう

さあ続いてこのゲームの目玉となるポイントです。

ロケットをタップしたらまっすぐに弾を発射するプログラムを作ります。

まず新規キャラクターとして「ロケット」と「ほし」を配置します。


キャラクターの重なり順について

さて、ロケットとほしを画面の下のほう、中央に配置しますが、ここで注意しなければならないのがキャラクターの重なりの順番です。

困ったときのTipsまとめ」でも紹介しましたが、Scratch Jr.では最後に指でドラッグしたキャラクターが一番上に来ます。

なので、まずほしを配置し


その上にロケットを配置します。


これでロケットとほしの配置は完了です。

メッセージの使い方

さて、続いてロケットをタップしたらほしがまっすぐに飛んでいくようプログラムします。

まずロケットに「タップしたらスタート」ブロックと、「オレンジ色のスタートメッセージを送る」ブロックを配置します。


この、「メッセージ送信」はScratch Jr.においてとても重要な機能です。
メッセージ送信を使うと、あるキャラクターに起こった事を起点にして、別のキャラクターに指示を出すことが出来るようになります。

この場合だと、

ロケットがタップされたら→ほしが上に動く

という指示を飛ばします。

なので、つづいてほしの方に、「オレンジ色のメッセージでスタート」ブロックを配置し


そこに「上に動く」ブロックを繋げます。数字は15にしました。


この状態でロケットをタップすると、ほしがまっすぐ上に飛んでいくようになりました。

このままだと弾の速さが遅すぎて簡単すぎになってしまうので、「速さを変える」ブロックを繋いで一番速くします。


これで完成です!
スタート画面から、思った通りに動くか試してみてください。


まとめ

今回のポイントは「メッセージ送信」でした。
メッセージ送信を使うとあるキャラクターに起こった事を起点として、自動で他のキャラクターを操作することができます。

次回からはこのメッセージ送信機能を使ってより複雑なゲームを作っていきたいと思います。

みなさんも好きなように作ってみてくださいね。

それでは〜。



スポンサーリンク