前回の 危険ドライブゲームを作ろう のつづきです。
MakeCode Arcade の公式サイトにはチュートリアルが沢山あります。
英語の部分も多いですが、色々なことが学べます。
英語が分からなくてもヒントの画像で何をするのか分かったりします。そこはもうゲーム感覚でクリアしていきましょう。
敵を発生させよう
敵である赤い車を発生させます。そのための準備をします。
ゲーム の中の ゲームが更新された時 500ミリ秒毎 をドラッグします。
これは決められた間隔で処理を行うときに使います。

連結させずに配置します。

スプライト の中の 発射体○を横から をドラッグします。

スプライト(発射体)の絵を用意します。

ギャラリーから赤い車を選びます。
アニメーション用に4枚の絵が用意されていますが、どれでもかまいません。

車を左から右へ動かすために vx はそのまま 50 に設定します。
また、上下に動かさないようにするため vy を 0 に設定します。
この設定の意味がよく分からない場合は、前のページをもう一度読み直してみてください。

車の発生位置をランダムにします。
スプライト の中の mySpriteの x を 0 にする をドラッグします。

まず変数を mySprite から projectile に変更します。
対象を y に変更し、ランダムのブロックをはめて 30 から 110 に変更します。

シミュレーターで動きを確認してみてください。
赤い車が左から右へ移動していきますが、数が多すぎます。
このままでは避けるのが難しくなってしまいますね。

解決方法は簡単です。発生間隔を長くすればよいのです。
今回は、更新間隔を 700 ミリ秒に変更してみましょう。

シミュレーターを確認しましょう。
赤い車の間隔が空き、いい感じになってきました。

今回の作業を、何も考えずに「はいはい、700に変更すればいいんでしょ」といった感じで済ませてしまった人は、今後のゲーム制作で苦労するかもしれません。
なぜなら、この作業にはとても重要な意味があるからです。
「これで避けやすくなったかな?」「逆に簡単すぎないかな?」と疑問を持つことが大切です。
敵が多すぎると避けることができず、ゲームとして成立しません。
逆に、発生間隔が広すぎると簡単すぎて、それもまたゲームとして物足りないものになります。
調整すること、バランスを取ること。
これらは、ゲーム制作において非常に大切な作業であることを、ぜひ意識しておいてください。
当たり判定を入れよう
プレイヤーの車と敵の赤い車の当たり判定をします。
スプライト の中の当たり判定用ブロックをドラッグします。

配置したら、otherSprite のタイプを Projectile に変更します。

赤い車と接触したら、その車を破棄します。
スプライト の中の mySpriteを破棄する をドラッグします。

見つからない時は、英語表記(下図)になっているかもしれません。

otherSprite を破棄するように変更します。
mySprite の方は、ゴミ箱にドラッグして削除しましょう。
これで、青い車と赤い車がぶつかったときに、赤い車が消えるようになります。
シミュレーターで動作を確認してみましょう。

ただ消すだけではつまらないので、演出を追加しましょう。
+の部分をクリックしてオプションを表示します。
(200 ミリ秒のエフェクト 崩壊) に変更します。
設定が完了したら、シミュレーターで演出を確認してみましょう。

ライフを減らそう
赤い車にぶつかったペナルティとしてライフを減らします。
情報 の中の ライフを −1 だけ増やす をドラッグします。

当たり判定の中に入れます。

これで赤い車に3回当たるとゲームオーバーになります。
シミュレーターでしっかり確認しましょう。

ライフの初期値は 3 に設定されています。
ただし、ライフ関連のブロックを使用するまでは、画面にライフ(ハート)の表示はされません。
赤い車にぶつかるまでは、左上にライフ表示がないことを確認してみましょう。
次回に続きます。