もくじ
ゲームオーバ処理
チュートリアルではUIControllerスクリプトにGameOver関数を追加し、障害物が画面下端を超えたらゲームオーバとなるようRockControllerスクリプトからGameOver関数を呼び出している。
Boltではマクロの一部をメソッドという形で呼び出すということはできないようなので、ちょっと違う方法で実現する。BoltではC#の関数のような仕組みとしてスーパーユニットというモジュール型のマクロを作成することができるのだが、その場合、UIControllerマクロとは別ファイルで作成する必要がありメンテナンス性が悪いので、UIController内で完結できるような方法を考える。
Boltのカスタムイベントを使う。GameOverテキストはBoltのオブジェクト変数として定義しておいてStartイベント時にSetActiveをfalseにして非表示にする。障害物が画面下端を超えたらカスタムイベントを呼び出してGameOverテキストのSetActiveをtrueにして表示させる。
RockControllerマクロにカスタムイベントをトリガーするユニットを追加する。ここではCanvasオブジェクトのUIControllerマクロに定義したGameOverという名前のカスタムイベントを呼び出すような形にしている。今回使っていないが、カスタムイベントのArgumentsには引数が追加できるようになっている。
チュートリアルでは特にゲームオーバ後の処理とかないけど、ゲームオーバしたら、ゲームをリセットするとかの処理を入れても良いだろう。
背景をスクロールする
背景スクロールはチュートリアルのC#スクリプトとほぼ同様に実装が可能である。
チュートリアル用のゲームが複雑ではないこともあり、C#スクリプトは一切使用せずBoltのみで実装できると思う。ここまでの完成ビデオとなる。
以下、これまでに作成したBoltのマクロのスクリーンショット画像を参考までにまとめておく。
RockGeneratorマクロは「 障害物の発生と移動」を参照。