我有两个附加相同脚本的对象(警察)来控制这些对象的行为。当对象碰撞时,OnTriggerEnter都能正常工作(使它们变成布娃娃和其他东西)。在OnTriggerEnter中,为两个对象触发了OnPlaySound事件。所以当两个物体发生碰撞时,我会播放两个声音。如果只针对其中一个事件触发此事件,我该怎么办?
缩短版本的脚本:
void OnTriggerEnter(Collider other)
{
OnPlaysound(SoundType.SmallOoh);
OnAddScore(1);
StartCoroutine("Death");
RagDoll();
}
修改
按程序员的建议解决了这个问题:
void OnTriggerEnter(Collider other)
{
if (other.getComponent<PoliceManScript>().soundPlayed == false)
{
soundPlayed = true;
OnPlaysound(SoundType.SmallOoh);
}
OnAddScore(1);
StartCoroutine("Death");
RagDoll();
}