【发布时间】:2015-11-01 09:51:48
【问题描述】:
我需要一些帮助来解决我在编写游戏时发现的声音问题。
我有一个事件(指针单击),我需要在该事件中播放声音。
播放我正在使用的声音:
AudioSource.PlayClipAtPoint(pop, transform.position, 1f);
在指令之后我有一堆代码行,然后我重新加载场景以重新开始。
到目前为止,声音已播放,但被场景重新加载(我猜......)切断了,所以我尝试使用延迟
IEnumerator WaitingForSomething()
{
UnityEngine.Debug.Log("Before Waiting");
yield return new WaitForSeconds(2);
UnityEngine.Debug.Log("After Waiting");
print(Time.time);
}
但它没有工作。谷歌将我带到this 回答有关 WaitForSeconds() 执行的问题。我的 WaitingForSomething() 从不打印 after waiting debug 或 Time.time 因为当它到达 yield return 时,它会返回到之前的位置,接下来的 50 行代码执行得如此之快,以至于 2 秒被场景砍掉了重新加载。
所以我的问题是:
如何强制完整播放 AudioClip?
如果我不能强制完整播放 AudioClip,有没有办法强制 Unity3D 停止并等待 AudioClip 完全播放?
谢谢。
【问题讨论】: