【发布时间】:2017-09-28 15:42:46
【问题描述】:
我有一个基于团结的游戏,可以玩超过 3-5 分钟。所以,我想要一组可以一个接一个播放的歌曲(至少 2 首)。
我知道如何将一个特定的音频源设置为场景的主摄像机并将其设置为循环;但这会很单调,所以我想知道如何将一组歌曲添加到特定场景中并按顺序播放?
任何帮助将不胜感激。谢谢。
【问题讨论】:
我有一个基于团结的游戏,可以玩超过 3-5 分钟。所以,我想要一组可以一个接一个播放的歌曲(至少 2 首)。
我知道如何将一个特定的音频源设置为场景的主摄像机并将其设置为循环;但这会很单调,所以我想知道如何将一组歌曲添加到特定场景中并按顺序播放?
任何帮助将不胜感激。谢谢。
【问题讨论】:
如何将一组歌曲添加到特定场景并以 顺序时尚
这真的很容易。仅使用一个AudioSource。使用 AudioClip 保存要播放的音频。如果可能,请使用AudioClip 数组。
1.使用for循环遍历AudioClip数组。
2。在每个循环中,将循环中的当前AudioClip 分配给AudioSource.clip 变量。
3. 之后拨打AudioSource.Play(); 播放音频。
4.使用while循环等待当前AudioClip完成与while (AudioSource.isPlaying){ yield return null;}的播放
5。返回#2。
public AudioSource adSource;
public AudioClip[] adClips;
IEnumerator playAudioSequentially()
{
yield return null;
//1.Loop through each AudioClip
for (int i = 0; i < adClips.Length; i++)
{
//2.Assign current AudioClip to audiosource
adSource.clip = adClips[i];
//3.Play Audio
adSource.Play();
//4.Wait for it to finish playing
while (adSource.isPlaying)
{
yield return null;
}
//5. Go back to #2 and play the next audio in the adClips array
}
}
要启动它,只需致电StartCoroutine(playAudioSequentially());。
【讨论】: