Unityでゲームを作っています。その際に戦闘シーンのBGMとしてintro + main曲のloopを実装しようとしたのですがうまくいきませんでした。
詳細:
以下のコードを作り,Unity上で再生させた(実行ボタンをおした)ところうまくいったのですが,WebGLではうまくいきませんでした。どのように上手くいかなかったかというと,画面遷移が
ゲームスタート画面→メニュー画面→戦闘画面(BGM流れる)→メニュー画面→戦闘画面(BGM流れる)
としてときに,二回目の戦闘画面でintroとmain曲が同時に流れました(一回目の戦闘画面では問題ありませんでした)。
using UnityEngine; using System.Collections; public class MusicPlayer : MonoBehaviour { private float startTime; private AudioSource introSound; private AudioSource loopSound; private bool isMain; void Start () { isMain = false; startTime = Time.time; //AudioSourceコンポーネントを取得し、変数に格納 AudioSource[] audioSources = GetComponents<AudioSource>(); introSound = audioSources[0]; loopSound = audioSources[1]; } void Update () { if(isMain){ return; } if(Time.time - startTime > introSound.time){ isMain = true; loopSound.Play(); } } }
あなたの回答
tips
プレビュー