プログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。
前回、ゲームでよく使う「スクロール」についてご紹介しました。今回は、そのテクニックのうち一つを使ってアクションゲームを作ってみたいと思います。
1. アクションゲームって何?
1-1. アクションゲームとは
アクションゲームとはスーパーマリオブラザーズのように、主人公(自機)をキーで操作してステージ上の障害物や敵を避けたりするゲームのことです。
今回は、強制スクロールするアクションゲームを作って見たいと思います。
1-2. アクションゲームの要素
アクションゲームにもいろいろな種類がありますが、今回作るアクションゲームは次のように作りたいと思います。
・草(緑色)の上をネコが歩くようにする
・時々、足場がなくなりジャンプで緑色の部分に登れるようにする
・土(茶色)の上に落ちたらゲームオーバー
・コースの最後のお城についたらゲームクリア
2. コースを自動スクロールさせよう
2-1. コースのスプライトをアレンジしよう
今回はスプライトを拡大させて使う方法を使います。前回の記事で作った作品をコピーしてコースを少しアレンジしてみましょう。
▼前回のプログラムはこちら
まずは、コースのスプライトのコスチュームに雲の絵を足して、コースが動いている雰囲気を出します。
2-2. コースのプログラムを作ろう
コースの自動スクロールのプログラムはこのようにします。
前回ご紹介したように、小さなコスチュームを用意して拡大可能な状態にし、1000%に拡大した後に大きなコースのコスチュームに差し替えます。
そのあとは、最初の位置を設定したあとは、コースが自動的に動くようにプログラムを作ります。
詳細を解説した記事も合わせてご覧ください。
<ゲームで使える!Scratchの自動スクロールテクニック3選>
3. 主人公のプログラムを作ろう
3-1. 重力を表現しよう
今回のゲームのイメージは地面の上を、主人公のネコが進んでいくイメージで作っていきます。
・ジャンプしたあとは、重力で下に落ちる
・草の上(緑色)のところにいるときは、緑よりは下にはいかない
ということを実現しなくてはいけません。
この両方を実現するためには、次のようなプログラムを作ります。
「もし 緑色にふれた ではない なら」の部分は、ジャンプしたりした時に重力で下に落ちる動きです。また「緑色に触れたなら」のところは反対向きの「y座標を5づつを変える」にすることで、下に行く動きと上に行く動きが釣り合って、緑色のところで静止するような動きになります。
「もし ●● なら でなければ」というブロックを使ってもよさそうですが、このブロックを使うとネコが上下にガクガクしてしまいます。滑らかに動かすために上のようなプログラムを使っています。
3-2. キーで操作できるようにしよう
アクションゲームですので、キーでネコを操作できるようにします。
今回はスペースキーでジャンプ、左右キーで左右に動くようにします。これは簡単で次のようなプログラムになります。
3-3. ゲームクリア・ゲームオーバーを作ろう
さて、最後はゲームクリアとゲームオーバーを作りたいと思います。
ゲームクリアとゲームオーバーの時の背景を用意しましょう。
ネコのプログラムに、次のような条件を追加します。
お城についた時=つまりお城の水色に触った時は「ゲームクリア」のメッセージを送り、地面に当たった時=茶色に触った時は「ゲームオーバー」のメッセージを送るようにします。
背景の方に以下のようなプログラムを追加すれば、ゲームクリアとゲームオーバーの背景に変わります。背景が変わった後は、「すべてを止める」でプログラムを停止しましょう。
ここまでできたら、何度もゲームをプレイして、コースの絵やプログラムの微調整をしましょう。
これで完成です!
▼完成したアクションゲームはこちら
4. まとめ
今回は、Scratchでアクションゲームを作りました。
以前ご紹介した次のテクニックを組み合わせています。
・大きなスプライト1つを拡大して、コースをスクロールさせる
・重力を表現する
このプログラムを改造して次のようなものも作ってみてくださいね。
・コースのコスチュームを改造して難しくする。
・アイテムを取れるようにする
・ゴールの旗に触ると得点が入る
など。他のアクションゲームを参考に面白いゲーム作ってみてください。