音ゲーで曲が終わったときに、リザルト画面への遷移をするためのコードのメモ。
実行環境
・Windows 10
・Unity 5.4.0f3
・音関係はADX2 LEを使用
実装
曲が終わったというフラグを取得するために、以下のコードを使う。
CriAtomSource.Status status = atomSourceBGM.status;
if(status == CriAtomSource.Status.PlayEnd) { //曲が終わったかどうかを判定
/*終わった時の処理を記述*/
}
atomSourceBGMについては、start()内で初期化しておく必要アリ
ここでは、if文内にResultシーンへの遷移コードを記述する。
transResult()
private void transResult() {
CriAtomSource.Status status = atomSourceBGM.status;
if(status == CriAtomSource.Status.PlayEnd) {
SceneManager.LoadScene("Result"); //Resultシーンに遷移
}
}
古いバージョンのUnityだとSceneManagerが使えないかもしれない。
(Application.LoadLevelは禁止カードみたいな扱いになっちゃった)
あと、はじめにusing UnityEngine.SceneManagement;を書いておかないとエラーが出る。
Update内で常に呼び出して利用。
Update()
void Update() {
transResult();
}
曲が終わってすぐにリザルト画面になるのもアレなので、コルーチンを使ってちょっと遅らせる予定。