ただ、ゲーム作成のチュートリアルは世の中にたくさんあるので、ここではプログラミングに初めて触れる小学生や中学生がプログラミング的思考やプログラミングを実践する上で参考になりそうなことを少しでも記せたらなと思っています。
さて、シューティングゲームですが、現在はスマホや家庭用ゲーム機の性能も上がり、単純な横スクロールのシューティングゲームって少ないような気もしますが、ゲームを作ることが目的ではないので、簡単な横スクロールシューティングゲームを作ってみたいと思います。
プログラミングをするときにまず決めること
まず、いくつかの決めごとを決めなくてはいけません。そんな大げさなことじゃないけど、キャラクター(自機)の操作方法をまず決めておきたいと思います。
矢印キーで動かしてもいいけど、シューティングゲームの時に矢印キーってグリグリ動かしにくいので、今回はマウスで動かします。
そして、弾の発射。これはスペースキーにしましょう。
マウスクリックで発射にしたいけど、実はこれちょっと面倒そうなんです。なので、簡単に実行できるスペースキーにします。
マウスで自機を動かす
実は、マウスで自機を動かすってとっても簡単です。たったこれだけ↓
「マウスのポインターへ行く」
この「○○へ行く」と言うのは、実に便利なブロックです。
マウスのポインターだけじゃなく、自機以外にスプライトがあれば、他のスプライトへ行かせることもできます。
さて、自機がマウスポインターへ移動するのは一度だけじゃありません。マウスはゲーム中常に移動してますからね。
なので、「ずっと」で囲んで、常にマウスポインターへ移動させ続けます。
この「ずっと」で囲む行為。
ゲームプログラミングではよく使う方法ですね。
イベントブロックがあれば、「ずっと」で囲まなくてもイベントが発生した時に都度実行される処理ができます。今回の場合なら、「マウスが動いた」というイベントブロックがあればそれで言い訳ですが、Scratchにはそんなイベントありません。
なので、「ずっと」でぐるぐる回して、マウスの動きを常に監視し続けるというわけです。
これ覚えておきましょう。「繰り返す」ってプログラミング的思考では重要な考え方だと思います。
では、次回は弾を発射させてみたいと思います。
サンプルプログラム
「キャラクターをマウスで動かす」