Hi people,
So, I haven’t been on Unity Answers in a while as I like to learn things the hard way… However, this one has just completely frustrated me and I just can’t seem to wrap my head around it.
The way I want this to work is by the character going up to a cup to press the E key which should then play the first sound, WAIT FOR IT TO FINISH, then when they press the E key again, it should play the soundClip2 AudioClip and then WAIT FOR IT TO FINISH, and lastly, play the soundClip3 when the user presses E.
After that is all done, I want it to go back to the top of the script. Do I need to add a Function Update or anything?
It would be really appreciated if you could get me sorted on this problem as it’s begun to put a halt on my project.
`public var soundClip1 : AudioClip;
public var soundClip2 : AudioClip;
public var soundClip3 : AudioClip;
// Play default sound
function OnTriggerStay (col:Collider){
if(Input.GetKey("e")) {
audio.clip = soundClip1;
audio.Play();
yield WaitForSeconds (soundClip1.audio.clip.length);
}
else if(Input.GetKey("e")) {
audio.clip = soundClip2;
audio.Play();
yield WaitForSeconds (soundClip2.audio.clip.length);
}
else if(Input.GetKey("e")) {
audio.clip = soundClip3;
audio.Play();
yield WaitForSeconds (soundClip3.audio.clip.length);
}
}`
Here is the scene I am working on
[28257-press+e+on+cup.jpg|28257]
Because I can’t get this script to work, I have decided to stick to a shortenered version of it, but that’s not what I want as it only plays one sound. ALSO when I keep pressing E, it spams the sound… I want it to play the sound once, and then when it finishes, it plays again when the E key is pressed. I have tried PlayOneShot, and it tells me something like Unity can’t support it or so…
public var soundClip1 : AudioClip;
public var soundClip2 : AudioClip;
public var soundClip3 : AudioClip;
// Play default sound
function OnTriggerStay (col:Collider){
if(Input.GetKey("e")) {
audio.clip = soundClip1;
audio.Play();
yield WaitForSeconds (soundClip1.audio.clip.length);
}
}
**If you manage to understand the problem I am facing, I won’t know how much to thank you! Please please please! Help me out! The Unity Community is very good and that is why I have chosen to write my issues here.
Thanks.**