MonoBehaviourを継承しているクラスから使用できます。
引数は(this、オーディオソース、待ち時間秒)です。
以下サンプル
public void Jikansa(MonoBehaviour mb,AudioSource ad,float time) {//ループコルーチン
mb.StartCoroutine(JikansaMati(ad,time));
}
private IEnumerator JikansaMati(AudioSource ad,float time) {
yield return new WaitForSeconds(time);
Narasu(ad);
}
private void Narasu(AudioSource ad){
if (isMute == false) {
ad.Play ();
}
}
MonoBehaviourを継承していないクラスからのStartCoroutine使用を想定しています。
UnityのオーディオソースはOnAudioSetPositionやOnAudioReadなどの開始や変更のコールバックはあるのですが、終了のコールバックがありません。
audio.clip.lengthをタイマーにしてコールバックの代わりに使うなど工夫が必要です。
0 件のコメント:
コメントを投稿