C# 两个相邻的触发器碰撞器-错误

C# 两个相邻的触发器碰撞器-错误,c#,unity3d,unity5,C#,Unity3d,Unity5,我有两个相邻的对撞机都称之为 void OnTriggerEnter(Collider other) { if (other.gameObject.name == "Cursor") { audioSource.clip = audioClip; audioSource.Play(); } } void OnTriggerExit(Collider other) { if (other.gameObject.name == "

我有两个相邻的对撞机都称之为

void OnTriggerEnter(Collider other)
{
    if (other.gameObject.name == "Cursor") 
    { 
        audioSource.clip = audioClip;
        audioSource.Play();
    }
}

void OnTriggerExit(Collider other)
{
    if (other.gameObject.name == "Cursor")
    {
        audioSource.Stop();
    }
}
问题是它们彼此非常接近,当我从一个跳到另一个时,音频无法播放。然而,如果我指向别处,那么回到其中一个碰撞器,音频正在工作

这里有什么问题


谢谢

尝试
音频源。PlayOneshoot(声音)
您不需要停止音频,它将播放一次。

这里有比赛条件。一旦音频开始播放,另一个停止播放。如果你想保持音频播放,你应该在它们之间增加一些延迟。不幸的是,您不能等待音频完成播放,因为我认为
audioSource.Play()
是fire and forget方法,但我正在循环音频