クリア時BGMの設定を実装
こんにちはモフヲです。
最近は仕事に埋もれてまとまった時間がとれないため、ステージをクリアした時のちょっとした処理をプラスしてみました。
スーパーマリオでいうところの、ゴール地点のポールに触れると自動的にマリヲが歩いていくアレですね。
とりあえずあそこまでキャラの動きを制御するのは大変そうなんで、
①ゴールに触れたら動きが止まる(動かせなくなる)
②専用のアニメーションに切り替える
③専用のBGMを流す。
④BGMが流れ終わったら次のフレームへ切り替える
というシンプルなものです。
該当するイベント構成はこんな感じ。
これだけ見ると何の事やらわかりませんが、要はゴール地点を示す「ゴール」オブジェクトに触れた時に、ステージ用BGMを停止して、クリア専用BGMを再生。
「コントロールを無視」の命令を挿入して、主人公の動作を停止。
更に、フラグを有効に切り替える
→フラグが有効なら(=フラグが有効な間)変数タイマーが作動。主人公をクリア専用のアニメーションに変更。
タイマーが一定の値になったら次のステージに切り替える、という動作です。
*クリアアニメーション名が「発射」になっていますが、これはアニメシーケンスの名前の変更方法がわからず既存のシーケンスに無理やり設定した為です。
ここで、何故わざわざフラグを使っているのかという事なんですが、当初は主人公当たり判定とゴールオブジェクトが重なっている間タイマーが作動…と設定したところ、主人公がクリアアニメを再生したまま動き続けるという非常に危険な挙動を示した為、フラグでの管理に変更したらうまくいきました。
と、まあこのクリア時の処理が実装出来たところで、アクションゲームとして最低限の構成が完成したと思いますので、一旦出来上がった物を晒してみたいと思います。
それではまた次回に♪