gpt4 book ai didi

c# - 停止播放音频剪辑

转载 作者:行者123 更新时间:2023-12-03 00:45:26 26 4
gpt4 key购买 nike

我正在制作恐怖游戏,并希望在通过触发器时播放声音。问题在于,每次我输入触发器时,它都不会一直被触发。我想要的是进入触发器,播放声音,然后再也不必播放了。我尝试了很多事情,例如销毁剪辑。.但是我似乎无法使其正常工作。

public class SoundScript : MonoBehaviour 
{
public AudioClip Snd_Sound;

IEnumerator Wait(){
yield return new WaitForSeconds(20000);
}

void OnTriggerEnter(Collider col)
{
audio.enabled = true;
audio.PlayOneShot(Snd_Sound, 1f);
StartCoroutine(Wait());
//???
}
}

另外,似乎我的第二次等待不起作用。

最佳答案

抱歉,如果我误解了您的问题,我的英语不好:/
我了解您需要使音频源在第一次进入后就不再播放,即使播放器第二次进入触发器

最简单的方法是销毁此触发器游戏对象或此脚本,该脚本在您输入音频后即可处理音频的播放。音频播放完毕后,您可以使用Destroy()函数,例如Destroy(gameObject)Destroy(this)
您还可以声明一个变量来处理此音频的播放,例如:

bool playsound; //assign the value of **true** in Inspector
void OnTriggerEnter(Collider col)
{
if(playsound){
audio.enabled = true;
audio.PlayOneShot(Snd_Sound, 1f);
playsound = false;
}
}

关于c# - 停止播放音频剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com