我有多个带有AudioSource组件的钢琴键,如果我反复按一个键,声音会从原始声音片段中没有的滴答声开始。
我尝试更改音频片段,并将多普勒因子设置为0,但无济于事。
我可以通过在弹奏琴键时实例化琴键来管理它,现在噪音消失了,但是如果我通过将手指移到它们上面来弹奏多个琴键,我会得到“霍尔混响”效果,而且价格也有点贵。 >
if (go.GetComponent<AudioSource>().isPlaying)
{
AudioSource Note = Instantiate(go.GetComponent<AudioSource>(), Clones);
Note.GetComponent<SpriteRenderer>().enabled = false;
Note.GetComponent<BoxCollider>().enabled = false;
Note.Play();
Destroy(Note.gameObject, 2);
}
else
{
go.GetComponent<AudioSource>().Play();
}
我尝试了PlayOneShot(),它的效果和上面的代码完全一样。
你能帮我吗?我正在使用Unity 2018.2.14f1。
答案 0 :(得分:1)
如果我错了,请纠正我,但对我来说,即使您的音频源已经在播放,您也想演奏一个音符。
您可以在某个位置播放音频剪辑,而不必复制现有的游戏对象(容易出错,而应使用预制件)。
AudioSource.PlayClipAtPoint(clip, transform.position);
您需要在脚本中添加一个将目标剪辑带入的公共变量。