前回の ちょびっと迷路を作ろう 2 のつづきです。
これで完成です。
ここまでよく頑張りました。
MakeCode Arcade のタイルマップ機能は、シンプルで扱いやすく、とても便利です。
なお、当たり判定は必ずしも背景の絵に合わせて設定する必要はありません。
見た目には何も表示せず、当たり判定だけを設定して「見えない壁」のように使うこともできます。
アイテムの取得をしよう
ゴール判定(階段との当たり判定)を複製して、青い玉との当たり判定を行います。
複製したら、階段から青い玉の絵に変更するだけです。
なお、勝ち でゲームを終了する は削除しましょう。

スコアの加算を入れます。
1つ取ったら 100 点入るようにします。

テストしましょう。
なんとスコアがどんどん加算されます。
青い玉を消していないので何度も当たり判定が行われます。

青い玉を消します。
ただ、青い玉はスプライトではないので、これまでの方法では消せません。
タイルマップ上の絵を差し替えて消えたように見せます。
シーン から黄色で囲ったブロックをドラッグします。
これはタイルの絵を指定した場所へ設定する(置く)命令です。

アイテム判定に入れたら、タイルを床の絵に変更します。

タイルの設置先を location にします。
これで青い玉のあった場所に床の絵が設定されます。

テストしましょう。
青い玉から床の絵に差し変わりました。
スコアも 100 点のみ入ります。

ひび割れタイル
次は、ひび割れタイルの処理を追加します。
プレイヤーが接触した際に、ライフを1つ減らすようにします。
まずは、青い玉に対するアイテム判定をコピーし、対象のタイルをひび割れタイルの絵に変更しましょう。
スコアを加算する処理は不要なので、削除してください。
また、タイルを location に設定する で床の絵が正しく複製されていない場合は、改めて設定しなおしてください。

ライフを -1 だけ増やす を入れます。

ダメージ演出として画面を揺らします。
シーン から カメラを4ピクセルで500ミリ秒間揺らす をドラッグします。

ひび割れ判定に入れます。

テストしましょう。
ひび割れタイルを踏むと画面が揺れてライフが減ります。
床の絵に変わることも確認してください。

ギミックの処理が完成しました。最後に動作テストを行いましょう。
ひび割れタイルを3回踏むと、ゲームオーバーになります。
ひび割れをうまく避けながら階段までたどり着ければ、ゲームクリアです。
また、青い玉を1つ取るごとにスコアが 100 点加算されます。

効果音を入れよう
これまではサウンドを使用していませんでしたが、今後は積極的に取り入れていきたいと思います。
今回は効果音(sound effect)を2種類追加してみましょう。
音楽 から play sound ピコーン until done をドラッグします。

アイテム判定とひび割れ判定に入れます。
ひび割れ判定の効果音は sound zapped に変更します。
再生モードは バックグラウンドで に変更します。これはプログラムの処理を止めずに音を再生します。

テストして、効果音が正しく鳴るか確認してみましょう。
これでゲームは完成です。お疲れさまでした。
今回は、タイルマップの基本的な使い方に絞って説明しました。
実用的な活用方法については、まだお伝えできていない内容がたくさんあります。
今後の記事で順次紹介していく予定ですが、待ちきれない方は、ぜひ自分で調べてみてください。
ちなみに、音を手軽に確認する方法が見つかりませんでした。
私は、ボタンを押したときに音を鳴らすようにして動作確認を行っていました。
Scratch のように、ブロックをクリックしただけで音が再生されると便利なのですが……
