- Home /
Stop the Audio when Player Leaves the Trigger?
I am fairly new to Unity but have just hit my first big hurdle. :(
At the moment I have a house model in Unity and when I walk in, my trigger activates an audio (see below)
function OnTriggerEnter(other: Collider){
if (!audio.isPlaying){
audio.Play();
}
}
I just don't know how to edit the code in order to cancel the audio when the player leaves the trigger.
I'm sure for those skilled in Unity this would take approx 5 seconds to answer. Would really appreciate any help!
Kind Regards
jonm4y
Answer by whebert · Mar 26, 2013 at 02:53 PM
Would the following work for ya?
function OnTriggerExit(other: Collider){
if (audio.isPlaying){
audio.Stop();
}
}
Answer by jonm4y · Mar 26, 2013 at 03:07 PM
hmmm... unfortunately not...it still keeps playing when i leave the trigger :(
but thanks for your quick response!
UPDATE it worked!!
It wouldnt let me post another comment below so I thought I would edit my last one! :)
Thank you. There must have been a bug with my current model as it wasn't working, so I tried starting a new scene and the code worked fine!! Thank you for all your help!
Put a Debug.Log statement in the OnTriggerExit to verify that it is actually being called. Something like:
function OnTriggerExit(other: Collider){
Debug.Log("OnTriggerExit called, should stop audio.");
if (audio.isPlaying){
audio.Stop();
}
}
And if you never see that Log statement when you know you've exited the trigger, something else is going on since I would think that should definitely stop your audio.
Your answer
Follow this Question
Related Questions
Audio not playing after OnTriggerStay is applied to the scripts (Driving Simulator Project) 0 Answers
OnTriggerEnter function in c# 0 Answers
Problem using trigger to set gameobjects active 1 Answer
OnTriggerEnter not working properly. 1 Answer
OnTriggerEnter/OnTriggerExit *timing* not consistent? 2 Answers