- Home /
How to stop sound on trigger exit?
Hi! I want to made C# script that will play wind sound when I stay in trigger, but I don't know how to stop sound when I exit the trigger. It's my script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Wind : MonoBehaviour {
public AudioClip sound;
public GameObject Player;
void Start () {
}
void Update()
{
}
void OnTriggerStay(Collider other)
{
float Player_x = Player.transform.position.x;
float Player_y = Player.transform.position.y;
float Player_z = Player.transform.position.z;
if (other.tag == "Player")
{
AudioSource audio = GetComponent<AudioSource>();
AudioSource.PlayClipAtPoint(sound, new Vector3(Player_x, Player_y, Player_z));
}
}
void OnTriggerExit(Collider other)
{
}
}
Comment
Best Answer
Answer by Timo326 · Aug 03, 2017 at 08:53 AM
Use onTriggerEnter to start the sound and onTriggerExit to stop the sound.
void OnTriggerEnter(Collider other)
{
float Player_x = Player.transform.position.x;
float Player_y = Player.transform.position.y;
float Player_z = Player.transform.position.z;
if (other.tag == "Player")
{
AudioSource audio = GetComponent<AudioSource>();
AudioSource.PlayClipAtPoint(sound, new Vector3(Player_x, Player_y, Player_z));
}
}
void OnTriggerExit(Collider other)
{
AudioSource audio = GetComponent<AudioSource>();
audio.Stop();
}
Your answer
![](https://koobas.hobune.stream/wayback/20220612131821im_/https://answers.unity.com/themes/thub/images/avi.jpg)