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

 

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

15秒間の制限を付けたのは、ゲームとしての体裁を整えるためです。
このゲームはチュートリアルなので、シンプルなプログラムにしています。敵は一種類のみ、しかもまっすぐ飛んでくるだけです。難易度の低いゲームだと思います。
でも制限時間があれば少し話が違ってきます。ハイスコアを目指すという課題ができます。そしてまた高得点を目指すほどリスクも上がります。
短い時間なら集中しやすいというメリットもあります。

 

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

怪獣の絵を選びます。

スプライトの絵を選ぶ

 

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

怪獣の絵を選ぶ

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

 

速度を変更します。左へ移動させるためマイナス値になります。
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. ミニダンジョン(完)