30分でシューティングゲームをお手軽作成

コードはこちらで公開しています。


game_screen_shot


Scratchで簡単なシューティングゲームを作成していきます。まずは簡単な部分から作成し徐々に機能を追加していきたいと思います。Youtubeでも動画を公開しているのでご参照ください。




Step 1) Spriteを準備する

prepare_sprite

今回はRocket, Rock, Ballの3種類のスプライトを使用します。
右下のスプライト選択ボタンからRocket, Rock, Ballを選択します。


Step 2) Rocketの動きを作成する

次にRocketの動きを作成します。
緑の旗を押されたらゲームスタート、大きさを設定し、初期位置に持っていきます
右向き矢印が押されたら右に動かす
左向き矢印が押されたら左に動かす
rocket_1st

Step 3) Rockの動きを作成する

次に敵となる岩の動きを作っていきます。
岩は上からランダムに降ってくるようにします。
緑の旗が押されたらゲームスタート、Scoreという変数を作成し、0に初期化します。
岩を6個クローンするようにし、それぞれのクローンの動きを作っていきます。
岩の初期設定を"init"というブロック定義を作って作成します。
ポイントは、乱数を使った待ち時間と、x座標を乱数を使ってランダムな位置に設定します。
初期化をしたらあとは、y座標を-10ずつ変化させ下に落下させます。一番下まで落ちたら"init"を呼び初期位置に戻します。


Rock_1st


Step 4) Ballの動きを作成

次にボールの動きを作ります。ボールはシューティングゲームの弾になるスプライトです。
スペースキーが押されたら弾を発射するようにします。
弾はクローンで作成します。スペースキーが押されたらクローンし、クローンされたらRocketの位置に持っていき、そこからy座標を10ずつ動かすことで上方向に発射します。


ball



Step 5) ゲーム要素を作成

それぞれのスプライトの基本的な動きを作成することができたので、次にゲーム要素を追加していきます。
まず、Rocketが岩に触れたらGame Overとする動きを作成します。Rocketのスプライトで下記の処理を追加します。
Rocket_2nd

次にRockのスプライトに移動しRockとBallが触れたときの動きを作成します。
RockにBallが触れたらScoreを1加算し、Rockを消します(初期位置に戻します)
rock_2nd


BallがRockに触れたときの動きも作成します。Ballのスプライトに移動し下記の処理を追加します。

ball_2nd




背景を設定

右下の背景選択画面から背景を作成します。Starの画面を選択し、Game Overの画面は文字を挿入して作成します。

background



rocket_3rd