Hoicos Blog

Author: かどけん

Scratchでシューティングゲームを作ろう!【1】

Hoicosプログラミング教室

実際に作るシューティングゲーム
eyecatch1 1 1024x728 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

はじめに

今回からScratchを使った簡単なシューティングゲーム制作を行っていきます。

第一回では大まかなシステムを決めてゲームの土台を作ってきます。

Scratchの使い方はもちろん、一般的なプログラミングにも活かせる知識をお届けするので、実際にゲームを作りながらプログラミングについてもしっかり学んでいきましょう!

※Scratchの基本的な操作ができる人を対象としています。

ゲームのデザインを決めよう

ゲームの雰囲気を決める重要な項目です!

かっこいい感じのゲームが作りたかったら背景を宇宙にしてみたり、かわいい感じにしたかったら敵が発射してくる弾をアメにしてみたり……

可能性は無限大です!好きなデザインにしてみましょう!

スプライトを選ぼう

スプライトを選択してキャラクターの見た目を決めよう。
自分の好きなスプライトをリストから選ぶか、インターネットから好きな画像を保存して、それを選んでみよう。

ゲーム画面に対するキャラクターの大きさをうまく調節しておきましょう。

shooting1 1024x706 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

今回、自機と敵機に使用させていただいた素材は下記のサイトからお借りしました。
https://kage-design.com/2015/01/01/airplane2-1/

背景を決めよう

スプライトと同様に自分の好きな背景を決めよう!

shooting2 1024x685 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

キャラクターを操作しよう

矢印キーが押されることでキャラクターが動くようにしよう!

まず、操作したいスプライトを選択して、コードを書ける画面を表示させます。

shooting5 1 1024x473 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

次に肝心なコードを書いていきます。
下の画像のようにブロックを配置するのが一番簡単な方法です。
ですが、いくつか問題点があります……実際にブロックを置いて、矢印キーで操作してみましょう。

shooting4 1024x563 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

いかがですか?
 ・動きがカクカクしていてなめらかでない
 ・ボタンを同時に押しても反応しない
といった問題点がこのコードにはあると分かったと思います。(これはScratchの仕様によるものです)



そこで、ループを使うため多少複雑にはなりますが、もっとなめらかな動きを実現したい方は次のコードが最適です。

shooting3 595x1024 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

これで先ほどと比べてなめらかな動きができるとともに、斜め移動もできるようになったと思います。

弾を発射しよう

では、敵を倒すために必要な弾がスペースキーで発射されるようプログラム作っていきましょう。

まずは、今までと同様に好きなデザインの弾を選びましょう。
本ブログでは自分で描いた丸を弾とします。

弾本体のプログラム

弾本体に追加すべきプログラムは大まかに次のようなものです。

 ・画面に複数存在できるよう、クローンさせる
 ・自機の先頭から弾を発射
 ・画面端もしくは敵機に当たったら消える

これをもとにプログラムを作ると、次のようになります。

shooting6 1024x750 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

クローンされたとき、つまり弾がコピーされたらキャラクターの先頭に移動して表示する。
端に触れるもしくは敵機に当たるまで弾は画面上に行く。
その後、クローンを削除して、画面がクローンだらけになることを防ぐ。

というのが上のプログラムの説明です。

 ※クローンについては難しいと感じる人もいると思うので、後日クローンに関する記事も書こうと思います。

最後に、画像のように、スプライトの設定を「表示しない」にして、基本は表示されないようにしておきましょう。

shooting7 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

自機のプログラム

次のようにプログラムしてみるとどうなるでしょうか?

shooting9 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

うまく自機の先頭から弾が飛び出してきますが、スペースキー長押しで大量の弾が出せてしまいます。
これでは、ゲームバランスが崩壊してしまうので、長押ししても弾が連続ででないようにしましょう。

では、先ほどのプログラムを次のようなプログラムに変更してみましょう。

shooting8 - Scratchでシューティングゲームを作ろう!【1】-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

これで、スペースキーを押して離すという2個の動作で一回弾が発射されるというプログラムができました。

最後に

いかがだったでしょうか?最後まで読んでいただきありがとうございました。
今回は、矢印キーで自機を動かしスペースキーで弾を発射できるようにしました。まだまだゲームとは言いにくいものですが、自分でプログラミングしたものがゲームのように動いているだけでわくわくすると思います。
次回は敵機のプログラミングをしていく予定です。
数学的な話を用いて、自分を狙ってくる弾を作ったり、今回よりもゴリゴリにプログラミングしていくので楽しみにしていてくださいね!

本記事での完成形はこんな感じ!

この記事がいいと思ったら↓のシェアボタンから

Comments

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。