Unityでカウントダウン的な処理

時間経過で音鳴らしたいだけだったんですがちょっとはまったので。

[SerializeField]
AudioClip countdownSound;
float countdownSoundTime;
[SerializeField]
AudioSource _source;
void CountDownSound()
{
     if(Time.time >= countdownSoundTime)
     {
          _source.PlayOneShot(countdownSound);
          countdownSoundTime = Time.time + 1f;//1秒ごとに音を鳴らす
     }
}

とりあえずこれで乗り切った。
StartとかでcountdownSoundTimeに鳴らす時間を入れないといけないのがちょっとわかりづらいかも。
ゲーム開始から10秒後にカウントダウンの音を鳴らしたいなら、Start()の中でcountdownSoundTimeにTime.time + 10とかをする必要がある。

コメント

タイトルとURLをコピーしました