15秒シューティングを作ろう2

 

前回の 15秒シューティングを作ろう のつづきです。

15秒間という制限を設けたのは、ゲームとしての体裁を整えるためです。
このゲームはチュートリアル用なので、プログラムはシンプルにしています。
敵は1種類のみで、動きもまっすぐ飛んでくるだけ。難易度は低めです。

ですが、制限時間を設けることで状況が少し変わってきます。
「ハイスコアを目指す」という明確な目標ができ、
高得点を狙うほどにリスクも増していきます。
また、短い時間であれば集中しやすいというメリットもあります。

 

怪獣を出現させよう のつづき

怪獣の絵を選びましょう。

スプライトの絵を選ぶ

 

ギャラリーから怪獣の絵を選びます。

怪獣の絵を選ぶ

 

同じような絵がありますが、これはアニメーション用です。
左向きの絵を選びましょう。

速度を変更します。左へ移動させるためマイナス値になります。
vx -100、 vy 0 に変更します。

速度を変更する

 

変数名を変更しましょう。
プログラムを見やすくする大切な作業です。
projectile2 の所をクリックしてメニューを出し、変数の名前を変更を選びます。

変数名を変更する

 

monster に変更します。

変数名をmonster変更する

 

変数名が monster になっているか確認しましょう。

変数名monsterを確認する

 

怪獣の出現位置をランダムに変更します。
スプライト の中の mySprite の x を 0 にする をドラッグします。

mySpriteのxを0にするブロックを使う

 

ゲームが更新された時 500 ミリ秒毎 の中に配置します。

次に、乱数を発生させるブロックを用意しましょう。
計算0から10までのランダムな数字を下図のようにはめ込みます。
monstery5115 に変更します。

怪獣の発生位置をランダムにする

 

画面の高さは 120 です。
画面の内側にしっかり表示したいため 5 から 115 に設定しました。
これで怪獣の出現処理は完了です。

 

弾と怪獣に当たり判定を入れよう

飛行機から発射する弾と怪獣に当たり判定を入れます。
当たり判定用のブロックを用意します。

当たり判定のブロックを使う

 

ゲームが更新された時 500 ミリ秒毎 の下に配置します。
対象を Projectile(弾のこと)相手を Enemy に変更します。

当たり判定の対象を弾と敵に変更する

 

弾に当たった敵を消します。
スプライトmySpriteを破棄する をドラッグします。

スプライトを破棄するブロックを使う

当たり判定の中に配置します。
このブロックが見つからないときは、英語表記のブロックを探しましょう。

スプライト破棄のブロック

 

mySprite を otherSprite に変更します。
外に出た mySprite はゴミ箱に捨てます。

破棄するスプライトをotherSpriteに変更する

 

さあ、これで弾が怪獣に当たれば怪獣は消えるはずです。
試してみましょう。
うーん、消えませんね。
どうやら怪獣が敵 Enemy として認識されていないようです。

 

怪獣のタイプを変更します。
スプライトmySprite を Player タイプにする をドラッグします。

mySpriteをPlayerタイプにするブロックを使う

 

ゲームが更新された時 500 ミリ秒毎 の中に配置します。
変数名を monster に、タイプを Enemy に設定します。

変数名とタイプを変更する

 

確認しましょう。
これで弾に当たった怪獣が消えるようになりました。

怪獣を消すだけではさみしいので演出を入れます。
オプションを開いて「 200 ミリ秒のエフェクト 崩壊 」に変更します。

崩壊を200ミリ秒かける

 

ついでに怪獣消滅のスコアも設定します。
情報スコアを 1 だけ増やすを入れましょう。

怪獣の消滅の時にスコアを入れる

 

プレイヤーと怪獣に当たり判定を入れよう

次は、プレイヤーと怪獣の当たり判定を用意します。
先ほど作った当たり判定をコピーして、もう一つ当たり判定を作ります。

当たり判定のブロックを右クリックして、メニューから 複製する を左クリックします。
(当たり判定の中のブロックをクリックしないように注意しましょう)

当たり判定を複製する

 

複製されます。これを下図のように重ならないように並べましょう。
ちなみに半透明なのは、同じ設定の当たり判定があるためです。

コピーした当たり判定を重ならないように並べる

 

Projectile を Player に変更します。
これでプレイヤーと怪獣の当たり判定に変わります。
それからスコアのブロックは消しましょう。

Playerとの当たり判定に変更

 

これでプレイヤーと怪獣の当たり判定ができました。

 

プレイヤーが怪獣に当たったときの演出

怪獣に当たったときの演出を追加しましょう。
今回は、「プレイヤーがダメージを受けたときに画面が揺れる」演出を採用します。
ゲームではよく見かける定番の演出です。

シーンカメラを4ピクセルで500ミリ秒揺らす をドラッグします。

カメラを4ピクセルで500ミリ秒揺らすを使う

 

プレイヤーと怪獣の当たり判定の中に入れます。

カメラを揺らすブロックを当たり判定の中に入れる

 

怪獣に当たってみてください。少し揺れているのが分かると思います。
残念なことに揺れるのはスプライトのみで背景は揺れません。
(背景も揺らしたいときは、背景もスプライトで表示するといいです)

プレイヤーの残機を減らします。
情報ライフを -1 だけ増やす を入れましょう。

ライフを減らす

 

これでライフとスコアが入りました。

ゲーム画面

 

なお、ライフは怪獣に当たるまで表示されません。
初めから表示されるようにします。
情報ライフを 3 にする を使いましょう。

ライフの初期値を表示する

 

最初だけ の中に配置します。

ライフの設定を最初だけの中に入れる

 

次回の完結編に続きます。

 

MakeCode Arcade

  1. MakeCodeはいかが
  2. りんご狩りゲーム
  3. りんご狩りゲーム(完)
  4. ピザを避けてゲーム
  5. ピザを避けて 2
  6. ピザを避けて(完)
  7. アカウント登録
  8. ケーキ早食いゲーム
  9. ケーキ早食い 2
  10. ケーキ早食い(完)
  11. 危険ドライブ
  12. 危険ドライブ 2
  13. 危険ドライブ(完)
  14. 15秒シューティング
  15. 15秒Shooting 2
  16. 15秒Shooting(完)
  17. ブロック崩し
  18. ブロック崩し 2
  19. ブロック崩し(完)
  20. ヘビキングを撃て
  21. ヘビキング(完)
  22. ちょびっと迷路
  23. ちょびっと迷路 2
  24. ちょびっと迷路(完)
  25. でんでんジャンプ
  26. でんでんJump 2
  27. でんでんJump(完)
  28. ミニダンジョン
  29. ミニダンジョン 2
  30. ミニダンジョン 3
  31. ミニダンジョン 4
  32. ミニダンジョン(完)