Я хочу воспроизводить звук при столкновении. Когда происходит столкновение, я устанавливаю следующее:
other.gameObject.SetActive(false);
Тогда в моем коде звуков воспроизведения у меня есть следующее:
public class PlaySounds : MonoBehaviour {
public AudioClip SoundToPlay;
public float Volume;
AudioSource audioSound;
public bool alreadyPlayed = false;
void Start()
{
audioSound = GetComponent<AudioSource>();
}
void OnTriggerEnter2D(Collider2D other)
{
if (!alreadyPlayed)
{
audioSound.PlayOneShot(SoundToPlay, Volume);
alreadyPlayed = true;
}
}
}
Я понимаю, что вы не можете воспроизвести звук, если спрайт уничтожен, поэтому я не уничтожаю свой, но звук все равно не играет. Есть ли причина, по которой это может иметь место?